
ИСИС Архангельский 2154 реферат
.pdf
Министерство цифрового развития, Связи и Массовых Коммуникаций Российской Федерации Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное
учреждение высшего образования «Московский Технический Университет Связи и Информатики» (МТУСИ)
Кафедра «Сетевые информационные технологии и сервисы»
РЕФЕРАТ
по дисциплине: Инструментальные средства информационных систем «Технология клиент-сервер. Модели клиент-сервер»
Выполнил: студент группы БСТ2154 Архангельский Максим Вячеславович Студенческий билет № ЗБСТ21001 Проверил:
Павлов С.В.
Москва 2024
|
Содержание |
|
ВВЕДЕНИЕ.............................................................................................................. |
3 |
|
1. |
Понятие клиента и сервера................................................................................. |
4 |
2. |
Технология «клиент-сервер» ............................................................................. |
5 |
|
2.1 Двухзвенная архитектура....................................................................... |
7 |
|
2.2 Трехзвенная архитектура..................................................................... |
10 |
3. |
Модели «клиент-сервер».................................................................................. |
13 |
ЗАКЛЮЧЕНИЕ..................................................................................................... |
19 |
|
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ........................................... |
20 |
ВВЕДЕНИЕ
Как результат эволюции информационных технологий появились компьютерные сети. Самые первые компьютерные сети были довольно примитивными, скорость работы такой сети была очень маленькой по сравнению с современными, но для того времени и это было достижение. С совершенствованием аппаратной части сетей совершенствовалось и сетевое программное обеспечение.
Со временем потребовалось совершенствование самих технологий, а не только развитие аппаратуры и программного обеспечения. Были разработаны современные сетевые технологии. Одной из таких технологий является технология клиент-сервер, позволяющая пользователям сети получать быстрый доступ к необходимым ресурсам.
Развитие этой идеи приводит к функциональному выделению компонентов сети: разумно иметь не только доступ к ресурсам удаленного компьютера, но также получать от этого компьютера некоторый сервис, который специфичен для ресурсов данного рода и программные средства. Так мы приходим к различению клиентов (рабочих станций) и серверов.
Цель данной работы — рассмотреть технологию «клиент-сервер» и её существующие модели.
3
1.Понятие клиента и сервера
Сервер (от англ. «Server» — обслуживающий). В зависимости от предназначения существует несколько определений понятия сервер.
1.Сервер (в компьютерных сетях) — логический (виртуальный) или физический узел сети, обслуживающий запросы к одному адресу и/или доменному имени, состоящий из одного или системы (кластера) аппаратных серверов, на котором формируется ответ на какой-либо клиентский запрос.
2.Сервер (как программное обеспечение) — программное обеспечение, обрабатывающее запросы от клиентов (в архитектуре клиент-сервер).
3.Сервер (как аппаратное обеспечение) — компьютер (или специальное компьютерное оборудование) выделенный и/или специализированный для выполнения определенных сервисных функций.
Сервер в информационных технологиях — программный компонент вычислительной системы, выполняющий сервисные функции по запросу клиента, предоставляя ему доступ к определённым ресурсам.
Основываясь на вышеперечисленных понятиях о сервере, к клиентам можно дать похожие определения в части сетевой и аппаратной части, что это компьютер, за которым работает конечный пользователь, подключенный к компьютерной сети, а с точки зрения информационных технологий — программное обеспечение, представляющее собой лишь «оболочку», интерфейс для работы с пользователем, посредством которого формируется запрос к серверу о предоставлении определенных ресурсов.
4

2.Технология «клиент-сервер»
Технология «Клиент – сервер» представляет собой архитектуру программного комплекса, которая распределяет прикладную программу на два логически различных компонента, а именно клиент и сервер, которые взаимодействуют по схеме «запрос-ответ» решая свои определенные задачи, как показано на рисунке 1.
Рисунок 1 — Архитектура «клиент-сервер»
Клиенты и серверы могут располагаться как на одном персональном компьютере (ПК), так и на разных ПК, объеденных сетью. Также могут возникать такие ситуации, когда некоторые программные блоки одновременно выполняют функции сервера, работая с одним блоком и работу клиента работая с другим.
Основными принципами технологии «Клиент-сервер» является разделение функции приложения как минимум на три группы:
Модуль интерфейса с пользователем — это группа логикой представления. Через эту группу пользователь взаимодействует с приложением. Независимо от конкретной характеристики логики представления (командная строка, сложный графический пользовательский интерфейс, интерфейс через посредника) её главной задачей является обеспечение средств, чтобы можно было производить эффективный обмен информацией между пользователями и информационной системой.
Модуль хранения данных — группа «бизнес-логика». В бизнес-логике определяется,конкретноепредназначениеприложения(кпримеру,прикладная
5
функция приложения, характерна для предметных областей использования). Разделение приложения награницемежду программами позволяет обеспечить естественные основы, чтобы приложение могло работать на нескольких компьютерах одновременно.
Модуль обработки данных (управление ресурсами) — это группа называется логика доступа к данным или алгоритмы доступа к данным. Алгоритм доступа к данным представляет собой специфические для конкретного приложения интерфейсы взаимодействия с механизмом постоянного хранения данных представляющий подобие файловой системы или системы управления базами данных (СУБД). Данный модуль обработки данных позволяет работать в специальном для приложения интерфейсе доступа к СУБД. Используя данный интерфейс, приложение может управлять процессом соединения с базой данных и обработкой запросов к ней, а также получать результаты и переводить эти результаты обратно в специальную для конкретного приложения структуру данных.
Каждая из вышеописанных групп может работать независимо от двух других групп. Согласно разделению функций, для любого приложения выделяются следующие компоненты:
—компоненты для представления данных;
—прикладные компоненты;
—компоненты для управления ресурсами.
6
2.1 Двухзвенная архитектура
Двухзвенная архитектура клиент-сервер распределяет три основные части приложения на два физических модуля. Обычно прикладной компонент располагается на сервере (например, сервере базы данных), компонент представления данных — на стороне клиента, а компонент управления ресурсом распределяется между клиентской и серверной частями. В этом заключается основной недостаток классической двухуровневой архитектуры.
Используя двухзвенную архитектуру во время распределения алгоритма обрабатывания данных, разработчик должен обладать полной информацией о том,какиепоследниеизменения,быливнесенывсистему,икаковазначимость этих изменений, из-за чего возникает большая сложность во время разработки клиент-серверной системы, её установки и обслуживании. Так как такие мероприятиястоятзначительныхусилий,ипостояннойкоординациидействий совершаемые разными группами специалистов.
Чтобы предотвратить сопутствующую несогласованность работы различных элементов такой архитектуры специалисты создали две модификации для двухзвенной архитектуры «Клиент – сервер»: одна модификация стала называться «Толстый клиент» («Тонкий сервер»), а другая «Тонкий клиент» («Толстый сервер»).
Толстый клиент представляет собой клиентское приложение, которое содержит значительную часть логики и функциональности непосредственно на стороне пользователя. Этот тип клиента активно взаимодействует с сервером, но при этом обладает значительной автономностью. Толстыйклиент загружает все необходимые ресурсы (включая интерфейс и логику) на устройство пользователя при запуске. Затем большая часть обработки данных и логики приложения выполняется непосредственно на клиентской стороне.
Тонкий клиент – это клиентское приложение, которое минимизирует логику и функциональность на стороне пользователя, делегируя большинство задач серверу. Он зависит от сервера для предоставления большей части функциональности. Тонкий клиент требует минимальной установки на
7
устройстве пользователя. Он осуществляет связь с сервером, который выполняет основные вычисления и предоставляет пользователю необходимую информацию или функциональность. Примерами тонких клиентов могут служить веб-приложения и мобильные приложения.
Вданной двухзвенной архитектуре разработчики пытались перенести процесс выполнения обработки данных на одну из двух физических частей — на сторону клиента («Толстого клиента»), или на сторону сервера («Тонкого клиента»).
Каждый из описанных подходов обладал своими недостатками. В первом подходе неоправданно перегружалась сеть, так как по ней передавались необработанные а, следовательно, избыточного размера данные. Также был усложнён процесс поддержки системы и процесс её изменения, так как,чтобызаменитьалгоритмдлявычисленияилиисправленияошибокнужно одновременно полностью заменить весь интерфейс в программах, чтобы не возникли ошибки или несогласованности в обработке данных. Если же весь процесс обработки информации выполнялся бы на сервере, то возникла бы проблема в процессе описания встроенных процедур и процесса их отладки. Систему, обрабатывающую информацию на сервере невозможно было ни как перенести на другую платформу или операционную систему, без серьезных сбоев в работе.
Втомслучаеесливсёравнобудеттребоватьсяразработкадвухуровневой классической архитектуры «Клиент – сервер», то надо знать следующее: структура архитектуры «Толстый сервер» аналогична структуре в архитектуре «Тонкий клиент», как показано на рисунке 2.
8

Рисунок 2 — Архитектура «Тонкий клиент»
У этих архитектур имеются следующие недостатки:
—усложнён процесс реализации, так как в таких языках как SQL не приспособлены коды, чтобы разрабатывать программное обеспечение и для них отсутствуют хорошие средства отладки;
—производительность работы программ, которые написаны на языке типа SQL, довольно невысока, в отличие от созданных программ на других языках, что очень важно, если речь идёт о создании сложной системы;
—программа, которая написана на языке СУБД, обычно работает недостаточно надежно; ошибка, которая может в них возникнуть может привести тому, что весь сервер баз данных может выйти из строя;
—получившаяся программа на языке СУБД становится полностью непереносимой на другую систему или платформу.
9
2.2Трехзвенная архитектура
Всередине 90-х годов 20-ого века получила признание среди специалистов созданная трехзвенная архитектура «Клиент – сервер», в которой информационная система делилась по своим функциональным возможностям на 3-и отдельные компонента: логика представления, бизнеслогика и логика доступа к данным. В отличие от классической двухзвенной архитектуры в трехзвенную архитектуру было добавлено дополнительное звено, которая стало называться сервер приложений. Сервер приложений предназначался для того, чтобы осуществлять бизнес-логику, полностью разгружая, клиент, который в итоге мог направлять запросы промежуточному программному обеспечению, максимально используя все имеющиеся возможности сервера.
Втрехуровневой архитектуре клиент не перегружается, выполняя функции обработчика данных, а может выполнять свою основную функцию в системе, а именно представлять информацию, которая поступает с сервера приложений. Интерфейс для такой архитектуры можно создать, используя стандартные средства Web-технологии - браузера, и языки CGI и Java. Такой подход уменьшил объёмы данных, которые передаются между клиентом и сервером приложений, что дало возможность подключать клиентские компьютеры даже к медленным линиям передачи данных (телефонные каналы). Клиентская часть стала довольно простой, благодаря чему могла воспроизводиться при помощи универсального браузера. В случае если систему надо будет всё-таки менять, то эта процедура может быть осуществлена быстро и безопасно для системы и программ.
Сервер приложений — программное обеспечение, которое представляет собой промежуточный слой между клиентом и сервером, как показано на рисунке 3.
10