Автор работы: Пользователь скрыл имя, 22 Ноября 2013 в 14:59, реферат
Технология «клиент-сервер» пришла на смену централизованной схеме управления вычислительным процессом на мейнфреймах еще в 80-х годах прошлого века. Благодаря высокой живучести и надежности вычислительной системы, легкости масштабирования, возможности одновременной работы пользователя с несколькими приложениями, высокой оперативности обработки информации, обеспечению пользователя высококачественным интерфейсом и другим возможностям эта весьма перспективная и далеко не исчерпавшая себя технология получила свое дальнейшее развитие.
1. Технология «Клиент – сервер» 3
2. Классическая двухуровневая архитектура «Клиент – сервер» 4
3. Трехуровневая модель 9
4. Различные модели технологии «Клиент – сервер» 12
5. Программное обеспечение технологии «Клиент – сервер» 22
6. Организация обработки данных в СУБД с архитектурой «Клиент-сервер» 26
7. Технология "Клиент-сервер" применительно к Internet 33
8. Технология «Клиент-сервер» применительно к Intranet 39
МИНИCTEPCTBO ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное
автономное образовательное
учреждение высшего профессионального
образования
«»
Кафедра
Контрольная рабоота
по дисциплине: «Информационные технологии»
на тему: Технология (модель взаимодействия) «Клиент-Сервер»
Выполнил: студент
Проверил: профессор
Ставрополь, 2013
1. Технология «Клиент – сервер» 3
2. Классическая двухуровневая архитектура «Клиент – сервер» 4
3. Трехуровневая модель 9
4. Различные модели технологии «Клиент – сервер» 12
5. Программное обеспечение технологии «Клиент – сервер» 22
6. Организация обработки данных в СУБД с архитектурой «Клиент-сервер» 26
7. Технология "Клиент-сервер" применительно к Internet 33
8. Технология «Клиент-сервер» применительно к Intranet 39
Технология «клиент-сервер»
Со временем малофункциональную модель файлового сервера для локальных сетей (FS) заменили появившиеся одна за одной модели структуры «Клиент- сервер» (RDA, DBS и AS).
Заняв нишу баз данных, технология
«Клиент – сервер» стала
На сегодняшний день технология «Клиент-сервер» получает все большее распространение, однако сама по себе она не предлагает универсальных рецептов. Она лишь дает общее представление о том, как должна быть организована современная распределенная информационная система. В то же время реализации этой технологии в конкретных программных продуктах и даже в видах программного обеспечения различаются весьма существенно.
Обычно компоненты сети не равноправны: у одних есть доступ к ресурсам (например, принтер, процессор, система управления базой данных (СУБД), файловая система и так далее), другие имеют возможность обращаться к этим ресурсам.
Технология «Клиент – сервер» - это архитектура программного комплекса, в которой происходит распределение прикладной программы по двум логически различным компонентам (клиент и сервер), взаимодействующим по схеме «запрос-ответ» и решающим свои определенные задачи (рисунок 1).
Рисунок 1. – Архитектура «Клиент – сервер»
Компьютер (или программа),
управляющий и/или владеющий
Компьютер (или программа), запрашивающий и пользующийся каким-либо ресурсом, называют клиентом этого ресурса.
Клиент и сервер могут находиться как на одном компьютере (ПК), так и на разных ПК в сети. Также может возникать такая ситуация, когда некоторый программный блок будет одновременно выполнять функции сервера по отношению к одному блоку и клиента по отношению к другому.
Основной принцип технологии «Клиент-сервер» заключается в разделении функций приложения как минимум на три группы:
- модули интерфейса с пользователем;
Также эту группу называют логикой представления. Через эту группу пользователи взаимодействуют с приложением. Независимо от конкретных характеристик логики представления (интерфейс командной строки, сложные графические пользовательские интерфейсы, интерфейсы через посредника) ее задача состоит в том, чтобы обеспечить средства для наиболее эффективного обмена информацией между пользователем и информационной системой.
- модули хранения данных;
Эту группу также называют бизнес-логикой. Бизнес-логика определяет, для чего конкретно предназначено приложение (например, прикладные функции, характерные для данной предметной области). Разделение приложения по границам между программами обеспечивает естественную основу для распределения приложения на нескольких компьютерах.
- модули обработки данных (
Эту группу также называют
логикой доступа к данным или
алгоритмами доступа к данным.
Алгоритмы доступа к данным исторически
рассматривались как
Каждая из этих групп может быть реализована независимо от двух других. Например, не изменяя программ, используемых для хранения и обработки данных, можно изменить интерфейс с пользователем таким образом, что одни и те же данные будут отображаться в виде таблиц, графиков или гистограмм. Очень простые приложения часто способны собрать все три части в единственную программу, и подобное разделение соответствует функциональным границам.
В соответствии с разделением функций в любом приложении выделяются следующие компоненты:
- компонент представления данных;
- прикладной компонент;
- компонент управления ресурсом.
В классической архитектуре клиент-сервер приходится распределять три основные части приложения по двум физическим модулям. Обычно прикладной компонент располагается на сервере (например, сервере базы данных), компонент представления данных - на стороне клиента, а компонент управления ресурсом распределяется между клиентской и серверной частями. В этом заключается основной недостаток классической двухуровневой архитектуры.
В двухзвенной архитектуре при разбиении алгоритмов обработки данных разработчики должны иметь полную информацию о последних изменениях, внесенных в систему, и понимать эти изменения, что создает большие сложности при разработке клиент-серверных систем, их установке и сопровождении, поскольку необходимо тратить значительные усилия на координацию действий разных групп специалистов. В действиях разработчиков часто возникают противоречия, а это тормозит развитие системы и вынуждает изменять уже готовые и проверенные элементы.
Чтобы избежать несогласованности
различных элементов
В данных архитектурах разработчики попытались выполнять обработку данных на одной из двух физических частей - либо на стороне клиента («Толстый клиент»), либо на сервере («Тонкий клиент).
Каждый подход имеет свои недостатки. В первом случае неоправданно перегружается сеть, потому что по ней передаются необработанные, а значит, избыточные данные. Кроме того, усложняется поддержка системы и ее изменение, так как замена алгоритма вычислений или исправление ошибки требует одновременной полной замены всех интерфейсных программ, а иначе могут возникнуть ошибки или несогласованность данных. Если же вся обработка информации выполняется на сервере, то возникает проблема описания встроенных процедур и их отладки. Систему с обработкой информации на сервере абсолютно невозможно перенести на другую платформу (ОС), что является серьезным недостатком.
Есди все-таки разрабатывается двухуровневая классическая архитектура «Клиент – сервер», то необходимо помнить следующее:
- архитектура «Толстый
сервер» аналогична
Рисунок 2. – Архитектура «Тонкий клиент»
Передача запроса от клиента на сервер, обработка запроса сервером и передача результата клиенту. При этом архитектуры имеют следующие недостатки:
- усложняется реализация, так как языки типа SQL не приспособлены для разработки подобного ПО и нет хороших средств отладки;
- производительность программ, написанных на языках типа SQL, значительно ниже, чем созданных на других языках, что имеет важное значение для сложных систем;
- программы, написанные на СУБД-языках, обычно работают недостаточно надежно; ошибка в них может привести к выходу из строя всего сервера баз данных;
- получившиеся таким образом
программы полностью
- архитектура «Тонкий
сервер» аналогична
Обработка запроса происходит на стороне клиента, то есть происходит передача клиенту всех необработанных данных с сервера. При этом архитектуры имеют следующие недостатки:
- усложняется обновление ПО, поскольку его замену нужно производить одновременно по всей системе;
- усложняется распределение
полномочий, так как разграничение
доступа происходит не по
- перегружается сеть вследствие
передачи по ней
- слабая защита данных,
поскольку сложно правильно
Рисунок 3. – Архитектура «Толстый клиент»
Для решения перечисленных проблем используются многоуровневые (три и более уровней) архитектуры «Клиент-сервер».
С середины 90-х годов прошлого
века признание специалистов получила
трехзвенная архитектура «
В трехуровневой архитектуре
клиент обычно не перегружен функциями
обработки данных, а выполняет
свою основную роль системы представления
информации, поступающей с сервера
приложений. Такой интерфейс можно
реализовать с помощью
Сервер приложений – это программное обеспечение, являющееся промежуточным слоем между клиентом и сервером (рисунок 3).
Рисунок 4. - Сервер приложений
Существует несколько
категорий продуктов
- Message orientated – яркие представители MQseries и JMS;
- Object Broker – яркие представители CORBA и DCOM;
- Component based – яркие представители.NET и EJB.
Использование сервера приложений дает больше возможностей, например, уменьшается нагрузка на клиентские компьютеры, потому что сервер приложений распределяет нагрузку и обеспечивает защиту от сбоев. Так как бизнес-логика хранится на сервере приложений, то при каких-либо изменениях в отчетности или расчетах клиентские программы никоим образом не затрагиваются.
Существует несколько
серверов приложений от таких знаменитых
компаний как Sun Microsystem, Borland, IBM, Oracle и
каждый из них отличается набором
предоставляемых сервисов (производительность
в данном случае учитывать не будем).
Эти сервисы облегчают
- WEB Server – чаще всего включают в поставку самый популярный и мощный Apache;
- WEB Container – позволяет выполнять JSP и сервлеты. Для Apache таким сервисом является Tomcat;
- CORBA Agent – может предоставлять распределенную директорию для хранения CORBA объектов;
- Messaging Service – брокер сообщений;
- Transaction Service – уже из
названия понятно, что это
- JDBC – драйвера для
подключения к базам данных, ведь
именно серверу приложений
Информация о работе Технология (модель взаимодействия) «Клиент-Сервер»