Здавалка
Главная | Обратная связь

Объектно-ориентированная технология распределенной обработки CORBA.



Эти технологии реализуют трех­уровневую архитектуру модели «клиент — сервер». Введение специального промежуточного слоя — сервера приложений, ко­торому «делегированы полномочия» организации взаимодейст­вия клиента и сервера, обеспечивает возможность интеграции объектов, размещенных на машинах разных платформ и под Управление разнотипных операционных систем.

В архитектуре CORBA используется модель Core Object Model с соответствующим языком спецификации интерфейсов объектов (Interface Definition Language – IDL). Чтобы обеспечить возможность взаимодействия объекта, суще­ствующего в одной системе программирования, с некоторым объектом из другой системы программирования, в исходный текст первого объекта (объявления его класса) должна быть по­мещена IDL – спецификация интерфейса (имя метода, список имен и типов данных входных и выходных параметров) того объекта, метод которого должен быть вызван. Аналогичная спецификация должна быть помещена на стороне вызываемого объекта. Далее, спецификации, транслированные IDL – процесссором в выражения языка программирования, включаются в ис­ходный текст программы на языках Си, Java.

 

CORBA – технология также использует интерфейс объекта, но в этом случае схема взаимодействия объектов (рис.2.), включа­ет промежуточное звено (Smart agent), реализующее доступ к уда­ленным объектам. Smart agent, установленный на машинах сете­вого окружения (сервере локальной сети или Internet узле), мо­делирует сетевой каталог известных ему серверов объектов, регистрация объектов сервера в каталоге одного или нескольких Smart agent'oв происходит автоматически при создании сервера. CORBA – технология взаимодействия «клиент – сервер».

Рис.2. Технология CORBA.

Связи между брокерами осуществляются в соответствии с требованиями специального протокола General Inter ORB Protocol, определяющего низкоуровневое представление данных и множество форматов сообщений.

На машине клиента создаются два объекта — посредника: Stub (заглушка) и ORB (Object Required Broker — брокер вызываемого объекта). Так же как и в DCOM — технологии, Stub передает пере­хваченный вызов брокеру, который посылает широковещатель­ное сообщение в сеть. Smart agent, получив сообщение, отыскива­ет сетевой адрес сервера и передает запрос брокеру, размещенно­му на машине сервера. Вызов требуемого объекта производится через специальный базовый объектный адаптер (BOA). При этом данные в стек пространства вызываемого объекта помещает осо­бый объект сервера (Skeleton – каркас), который вызывается адаптером.

CORBA имеет два механизма реализации запросов к объ­ектам:

• статический, предполагающий использование заглушек и каркасов, интерфейсы которых были сгенерированы при создании объекта;

• динамический вызов с помощью интерфейса динамическо­го вызова (DII).

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

Ключевым компонентом архитектуры CORBA является язык описания интерфейсов IDL, на уровне которого поддерживают­ся «контрактные» отношения между клиентом и сервером и обеспечивается независимость от конкретного объектно–ориен­тированного языка. CORBA IDL поддерживает основные поня­тия объектно—ориентированной парадигмы (инкапсуляцию, по­лиморфизм и наследование). При этом CORBA—объекты могут быть преобразованы в объекты языков программирования (на­пример, Java, С, C++), т. е. будут сформированы файлы:

• исходного клиентского кода, содержащего интерфейсные заглушки;

• исходного серверного кода, содержащего каркасы;

• заголовков, которые включаются в клиентскую и сервер­ную программы.

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.