Технология связующего ПО

Лекция 9

25.10.04.

MiddleWare – промежуточное ПО

RPC – процедура удаленного вызова

Распределенные системы состоят из программ, которые выполнены на разных аппаратных и программных средствах (гетерогенная среда) и взаимодействующие между собой.

Для обеспечения удаленного межпрограммного взаимодействия необходимы соответствующие протоколы и реализующее эти протоколы ПО, которое называется связующим, промежуточным (MiddleWare) ПО.

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

Появление ООЯ стимулировало появление ООТ связующего ПО.

В настоящее время наиболее известны:

  1. COM
  2. XML
  3. SOAP (Simple Object Access Protocol)
  4. CORBA (Commen Object Request Broker Architecture)

Для сравнения этих технологий необходимо знать:

  1. какие основные функции выполняет промежуточное ПО
  2. каким общим требованиям оно должно удовлетворять

Три вида межпрограммного объектного взаимодействия. Они зависят от языка программирования.

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

Процедурное программирование удобно для реализации последовательных моделей, но не удобны для объектов реального мира, в котором объекты существуют и меняют свое состояние параллельно.

ООП состоит из множества взаимодействующих и взаимосвязанных объектов, любой из которых имеет имя, свойства и именованные методы операции.

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

При объектном взаимодействии вызывающая программа – клиент, а вызываемый объект – просто объект или объект сервера.

  1. запрос свойств объекта
  2. вызов методов объекта
  3. генерация событий

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

Для каждой пары взаимодействия объекта и клиента роли могут меняться в зависимости от типа взаимодействия.

Чтобы клиент мог вызвать методы и запрашивать ему необходимо знать интерфейс объекта, который описывается на специальном языке IDL, который включает в себя имя объекта, имена его свойств и имена его методов.

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

Значениями свойств объекта могут быть числа, строки, ссылки на другие объекты, различные структуры. Значения некоторых свойств могут хранится в реляционной БД, могут вычисляться на основе значений свойств данного объекта или другого объекта. Всё это требует возможности или поддержки обращения клиента с другими объектами – серверами (например, сервер БД).

Вызовы методов могут быть синхронными или асинхронными. При синхронном вызо ве клиент ждёт пока объект выполняет вызываемый метод (запрос/ответ). При асинхронном вызове клиент вызывает метод объекта и не ждёт его завершения.

Обобщенная архитектура РИС со Middleware ПО.

Состоит из 4-х компонентов:

è Объектная шина (ORB)

è Серверные объекты

è Клиентские объекты (клиенты)

è Высокоуровневые объектные сервисы

Объектная шина (ORB – брокер объектных запросов) – универсальная 2-хнаправленная объектная магистраль, обеспечивающая взаимодействие между серверными объектами и клиентами. Основные достоинства: обеспечивает все 3 способа объектного удалённого взаимодействия с помощью стандартных протоколов независимо от языка программирования, ОС, платформы.

ORB – основной элемент РИС. Уровень её универсальности, открытости и функциональности определяет систему в целом.

Важные характеристики ORB:

è Способность передавать объект по значению, что позволяет работать с объектом в том месте сети, где это наиболее рационально в отношении производительности и сетевого трафика.

è Способность поддерживать распространение контекстов транзакций прозрачно для программистов.

Реализация интерфейсной части клиентов и объектов – stub. Stub используется для обозначения набора классов, объявлений и констант на определённом языке программирования в зависимости от используемых компиляторов. Stub генерируется автоматически из описания на IDL с помощью специальных компиляторов и предназначены для обмена сообщениями между объектом-сервером и объектами-клиентами через ORB.

Серверный stub:

è Получает запрос от клиента

è Распаковывает его

è Инициирует действие, необходимое для выполнения запроса

Клиентский stub:

è Формирует информацию о вызываемом методе (свойстве), включая его имя, количество, типы и значения аргументов и передает эту информацию на ORB

è Принимает от ORB результат запроса, распаковывает результат вызова

Высокоуровневые сервисы обеспечивают обмен сообщениями, доступ к объекту по имени, управление событиями и транзакциями, безопасность и другие общие функции, необходимые для РИС.

В общем случае это:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: