Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Технологии межмодульного взаимодействия






(трехуровневая архитектура)

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

На рис. 7.10 приведен обобщенный состав сервера приложений с набором служб и средств связи с клиентскими системами и информационными ресурсами.

Спецификация вызова удаленных процедур. Протокол вызова удаленных процедур (Remote Procedure Calls — RPC) реализуй асимметричное взаимодействие программных компонентов, когда можно выделить клиента, которому требуется некоторая услуга, и сервер, который такую услугу способен оказать, причем, как правило, клиент не может продолжать свое выполнение, пока сервер не произведет требуемые от него дей­ствия. С точки зрения клиентской программы обращение к серверу ничем не отличается от вызова локальной процедуры.

Средства вызова удаленных процедур (RPC) поддерживают синхронный режим коммуникаций между двумя прикладными модулями (клиентом и сервером).

Для установки связи, передачи вызова и возврата результата клиентский и серверный процессы обращаются к специальным процедурам — клиентскому и серверному суррогатам (client stub и server stub). Эти процедуры не реализуют никакой прикладной логики и предназначены только для организации взаимодейст­вия удаленных прикладных модулей.

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

Ключевым компонентом RPC является язык описания интерфейсов (interface definition language — IDL), предна­значенный для определения интерфейсов, которые задают кон­трактные отношения между клиентом и сервером. Интерфейс содержит определение имени функции и полное описание пере­даваемых параметров и результатов выполнения.

Язык IDL обеспечивает независимость механизма RPC от языков программирования — вызывая удаленную процедуру, клиент может использовать свои языковые конструкции, преобразуются в конструкции языка программирования, на котором реализован серверный процесс.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.