Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Технологии клиент-серверных и распределенных систем



Распределенные приложения исполняются на географически разнесенных узлах, соединенных локальной или глобальной сетью. Типичные примеры – при­ложения клиент-сервер, распределенные приложения сбора данных в реальном времени и распределенные приложения, занимающиеся управлением.

3.5.1. Конфигурации клиент-серверных и распределенных систем. Клиент-серверная система логически состоит из двух компонентов: клиента, который запрашивает сервисы, и сервера, который эти сервисы предоставляет. Таким образом, сервер выступает в роли производителя, а клиент – в роли потре­бителя сервисов. Клиент-серверная система – это распределенное приложение, в котором клиент и сервер (или серверы) географически удалены друг от друга (рис. 3.6). Сеть, соединяющая клиентов с серверами, может быть локальной или глобальной. Клиент посылает серверу запрос по сети. Сервер выполняет этот за­прос и возвращает клиенту результаты.

 

Рис. 3.6. Базовая конфигурация системы клиент-сервер

 

Обычно клиенты и серверы работают на разных машинах. Они могут быть реа­лизованы на разных платформах, под разными операционными системами и в раз­личных сетях. Клиент – это, как правило, настольный ПК или рабочая станция. Часто он поддерживает графический интерфейс пользователя (ГИП). У сервера

обычно имеется большой объем памяти и дисков, мощный процессор и средства повышения надежности. Помимо управления данными, он предоставляет услуги прикладного характера. В простейшей системе клиент-сервер имеется один сер­вер и много клиентов. Типичный пример такого рода – приложение, которое об­служивает банкоматы, принадлежащие одному банку. Здесь банкоматы разме­щены на территории одного штата и обмениваются данными с центральным банковским сервером.

В более сложной системе работает несколько серверов. Клиент может обра­щаться к различным серверам, а сами серверы – друг к другу (рис. 3.7). Если продолжить пример с банкоматами, то в качестве многосерверного приложения допустимо рассмотреть систему федерального уровня, где любой банкомат в со­стоянии общаться с любым банковским сервером, входящим в систему. В много­уровневых клиент-серверных системах сервер иногда выступает в роли клиента другого сервера.

 

Рис. 3.7. Конфигурация для распределенной обработки

 

В распределенном приложении помимо трафика между клиентом и сервером обычно присутствует обширный трафик между равноправными узлами на основе асинхронного обмена сообщениями. Примером такого приложения может слу­жить система автоматизации производства.

Рост числа клиент-серверных и распределенных систем вызван некоторыми тенденциями в производстве оборудования, в частности увеличением мощности процессоров настольных ПК, снижением стоимости микросхем и ростом объема памяти – как оперативной, так и дисковой. Кроме того, повышается быстродей­ствие вычислительных сетей, стремительно развивается Internet.

Что касается ПО, следует отметить широкое распространение реляционных баз данных, предоставляющих распределенный доступ к информации, графичес­ких интерфейсов и многозадачных приложений на платформе Windows, а также технологий ПО промежуточного слоя, которые упрощают соединение распреде­ленных гетерогенных систем.

На рис. 3.8 приведен пример возможной конфигурации системы клиент-сервер. В одном узле развернуто клиентское приложение с графическим интерфейсом пользователя. Оно работает под управлением стандартной ОС типа Windows и пользуется стандартным коммуникационным ПО, например TCP/IP. Поверх операционной системы и коммуникационного ПО имеется программный слой, об­разующий ПО промежуточного слоя (middleware). В другом узле развернуто сер­верное приложение, пользующееся сервисами, которые предоставляет аналогич­ное ПО промежуточного слоя, размещенное поверх операционной системы (UNIX или Windows NT). Для долговременного хранения информации применяется фай­ловая система или СУБД.

 

Рис. 3.8. Технология клиент-сервер

 

3.5.2. Коммуникационные сетевые протоколы. Чаще всего в книгах по программированию упоминается эталонная много­уровневая архитектура взаимодействия открытых систем, разработанная Между­народной организацией по стандартизации (ISO OSI). Она является стандартом сетевых коммуникаций между открытыми системами (рис. 3.9). В модели ISO семь уровней, каждый из которых отвечает за определенный аспект сетевых ком­муникаций и предоставляет интерфейс в виде набора операций уровню, располо­женному непосредственно над ним. Для каждого уровня в узле-отправителе есть эквивалентный уровень в узле-получателе.

В модели ISO нет специального уровня для протоколов Internet. В сети Internet наиболее широкое распространение получил набор протоколов TCP/IP. Этот стек концептуально состоит из пяти уровней, показанных на рис. 3.10. Уровни 1 и 2 – физический и интерфейсный – соответствуют модели ISO. Физический уровень имеет дело с базовым сетевым оборудованием. Интер­фейсный уровень определяет, как данные группируются во фреймы и как такие фреймы передаются по сети. На третьем – межсетевом уровне определяется формат пакетов данных, передаваемых через Internet, и механизмы прохождения пакетов через цепочку маршрутизаторов от отправителя к получателю. Узел марш­рутизатора на рис. 3.11 – это шлюз, соединяющий локальную сеть с глобальной.

Транспортный уровень собирает пакеты в том порядке, в каком они были по­сланы, и формирует из них сообщение. TCP (Transmission Control Protocol) – это протокол транспортного уровня, работающий совместно с протоколом IP (Internet Protocol) межсетевого уровня. Уровень IP предоставляет ненадежный сервис от­правки датаграмм, TCP должен на его основе предоставить надежный сервис. Он организует виртуальное соединение между приложениями в двух узлах, т.е. яв­ляется так называемым сквозным (end-to-end) протоколом (см. рис. 3.11). Для транспорта сообщений TCP пользуется протоколом IP. Уровень 5 называется при­кладным, на нем реализованы различные сетевые приложения, например переда­ча файлов (FTP), электронная почта и WWW.

 

Рис. 3.9. Семиуровневая эталонная модель ISO

 

Рис. 3.10. Пять уровней модели TCP/IP

 

Рис. 3.11. Обмен данными через сеть Internet по протоколам TCP/IP

 

3.6. Технология World Wide Web

Огромная популярность Всемирной паутины (WWW), придуманной Бернер-сом-Ли из Европейской организации по ядерным исследо­ваниям (CERN) в Женеве, привела к очень быстрому росту сети Internet. Пользова­тель просматривает WWW с помощью браузера типа Netscape Communicator или Internet Explorer, работающего на машине пользователя. Страницы WWW разме­щены на Web-серверах. Каждая страница обычно содержит графику и ссылки на другие страницы.

Web-страница создается с помощью языка разметки, например широко рас­пространенного языка HTML (Hyper Text Markup Language – язык разметки ги­пертекста) или начавшего приобретать популярность языка XML (eXtensible Markup Language – расширяемый язык разметки). Каждая страница помечается унифицированным указателем ресурса (URL), который используется в составе любой ссылки на эту страницу. Когда пользователь хочет просмотреть страницу, браузер берет из URL адрес сервера и обращается к нему с просьбой загрузить необходимые данные (рис. 3.12). Затем браузер отображает полученную страни­цу на экране. Web-браузер и Web-сервер общаются друг с другом по протоколу HTTP (HyperText Transfer Protocol – протокол передачи гипертекстовых файлов). Web-сервер принимает запросы на страницы одновременно от многих клиентов.

Внешний модуль, или вставка (plug-in), – это программа, которая помещается в браузер и расширяет его возможности – скажем, позволяет обрабатывать аудио- и видеоданные, посылаемые сервером. Внешний модуль может входить в дистри­бутив браузера или загружаться отдельно с определенного сервера.

 

Рис. 3.12. Web-браузер и Web-сервер в приложении WWW

 

3.6.1. Язык Java и World Wide Web

С появлением WWW и Web-браузеров в начале 90-х годов браузер стал рас­пространенным пользовательским интерфейсом для распределенных приложе­ний. Рост популярности Всемирной паутины вывел на авансцену язык програм­мирования Java, который широко применяется для создания апплетов.

Java-апплет – это программа на языке Java, которая загружается клиентом с сервера в виде так называемого байт-кода. Апплет работает совместно с браузером, который интерпретирует полученный код. Чтобы Web-браузер мог успешно принимать апплеты, он должен поддерживать язык Java. Интерпретатор на сто­роне клиента обрабатывает промежуточный байт-код и генерирует объектный код, исполняемый клиентом. Итак, Java-апплет – это объект, который загружается с Web-сервера и исполняется клиентом (рис. 3.13). Java-апплет часто используют­ся для анимации Web-страниц. Клиентский Java-объект может также взаимодей­ствовать с серверным объектом, расположенным на том же сервере, с которого был загружен апплет. Коммуникации между распределенными Java-объектами обыч­но осуществляются с помощью технологии RMI (Remote Method Invocation – вызов удаленных методов).

Рис. 3.13. Java-апплет, загружаемый с Web-сервера в приложении WWW

 

Java-программы способны работать и на Web-сервере, тогда они называются сервлетами. Сервлеты, как и апплеты, часто тесно интегрированы с Web-серве­ром, чтобы удовлетворить требованиям безопасности и производительности. В на­ши дни, когда к сети Internet стали подключать такие нетрадиционные устрой­ства, как телефоны и банкоматы, появилась острая нужда в сверхтонких клиентах. Такой клиент состоит из одного браузера. Объекты уровня представления пользо­вательского интерфейса остаются на сервере вместе с бизнес-объектами, реализо­ванными в виде сервлетов.

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-03-17; Просмотров: 749; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.021 с.)
Главная | Случайная страница | Обратная связь