Реферат: Обзор технологии CORBA

Содержание

Введение............................................................................................................................................ 3

1. Брокер Объектных Заявок......................................................................................... 4

2. Язык определения интерфейсов.......................................................................... 7

3. Сетевая модель CORBA................................................................................................. 8

4. Объектная модель CORBA........................................................................................... 9

5. Клиенты и серверы CORBA....................................................................................... 10

6. Стабы и скелетоны...................................................................................................... 10

7. Основные объектные службы CORBA............................................................. 11

8. Универсальные средства CORBA........................................................................ 13

Заключение.................................................................................................................................. 15

Список использованных источников..................................................................... 16

Введение

CORBA (Common Object Request Broker Architecture) – Общая Архитектура Брокера Объектных Запросов - это стандарт, набор спецификаций для промежуточного программного обеспечения (ППО, middleware) объектного типа. Задача ППО, как известно, заключается в связывании программных приложений для обмена данными. Эволюция ППО - это путь от программ передачи информации между конкретными приложениями, через средства импорта- экспорта данных и организацию мостов между некоторыми приложениями, через SQL, RPC (Remote Procedure Call), TP мониторы (Transaction Proceesing) обработки транзакций, Groupware - управление различными неструктурированными данными (тексты, факсы, письма электронной почты, календари и т.д.) и, наконец, MOM - Message-Oriented Middleware (асинхронный обмен сообщениями между сервером и клиентом), к созданию распределенных компьютерных систем. Элементы этих систем могут взаимодействовать друг с другом как на одной локальной машине, так и по сети. CORBA позволяет организовать единую информационную среду, элементы которой могут общаться друг с другом, вне зависимости от их конкретной реализации, "прописки" в распределенной системе, платформы и языка их реализации [1]. CORBA образует нижний слой архитектуры промежуточного слоя, обеспечивающий технологическую платформу интероперабельности. Семантика объектов на этом уровне не принимается во внимание [8].

1. Брокер Объектных Заявок

Брокер Объектных Заявок (Object Request Broker – ORB) - это промежуточное ПО, которое устанавливает клиент-серверные отношения между объектами в распределенной компьютерной среде [1]. ORB обеспечивает механизмы, позволяющие объектам посылать или принимать заявки, отвечать на них и получать результаты, не заботясь о положении других объектов в распределенной среде и способе их реализации. ORB отвечает за поиск реализации объекта-сервера для выполнения заявки, подготовку реализации этого объекта к приему заявки и за передачу данных, являющихся результатом выполнения заявки [8]. Брокер представляет собой механизм, позволяющий объектам выдавать заявки и получать ответы прозрачным образом. Благодаря этому обеспечивается интероперабельность между приложениями на различных аппаратных платформах в неоднородных распределенных средах. Необходимо подчеркнуть, что речь идет здесь о технической интероперабельности в том смысле, как это понятие интерпретируется в [3].

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

Интероперабельность брокеров трактуется OMG как способность объекта-клиента, управляемого брокером-1, вызывать определенные IDL-спецификациями операции объекта-сервера, управляемого брокером-2, при условии, что брокер-1 и брокер-2 были разработаны независимо друг от друга. Иначе говоря, такие вызовы должны быть независимы от того, одним и тем же или разными (возможно, разнотипными) брокерами поддерживаются взаимодействующие объекты.

CORBA определяет среду для различных реализаций ORB, поддерживающих общие сервисы и интерфейсы (рис.1). Это обеспечивает мобильность клиентов и реализаций объектов по отношению к различным реализациям ORB. ORB обеспечивает интероперабельность компонентов глобального объектного пространства. Определения интерфейсов объектов могут быть помещены в Репозитарий Интерфейсов (Interface Repository) двумя способами: статически - в результате спецификации на IDL, или динамически. Репозитарий представляет компоненты интерфейса как объекты и обеспечивает доступ к ним в период выполнения.


??? ???????????? ?????? ?????? ????? ???????????? ????????? ????????????? ?????? ??? ???????????? ???????????? IDL ???? (stub) - ????????? ????????? ?????? ???????? ???????? ??? ????????? ? ???.

Клиент может непосредственно взаимодействовать с ORB. В этом случае ORB ищет соответствующий код реализации объекта, пересылает ему параметры заявки и передает управление. Реализация объекта принимает параметры заявки через сгенерированный компилятором IDL скелетон (Skeleton) и при этом может обращаться к Объектному Адаптеру (Object Adaptor) и ORB [8]. Основная функция объектного адаптера, используемого для реализации CORBA-объекта, - обеспечение доступа к сервисам брокера объектных запросов. Объектный адаптер предоставляет все низкоуровневые средства для связи объекта с его клиентами. В число этих средств входят:

1) генерация ссылок на удаленные объекты,

2) вызов методов, определенных в IDL,

3) обеспечение безопасности взаимодействия,

4) активация и деактивация объектов,

5) установление соответствия между ссылками на удаленные объекты и реальными экземплярами объектов,

6) регистрация объектов.

Спецификация OMG CORBA определяет базовый объектный адаптер, который должен быть реализован во всех брокерах запросов. Basic Object Adapter (BOA) - это набор интерфейсов для создания ссылок на удаленные объекты, регистрации объектов, авторизации запросов и активизации приложений. Базовый объектный адаптер является решением первоочередной задачи обеспечения связи между реализацией объекта и брокером запросов. Для организации взаимодействия между ORB и, например, системой управления базами данных должен быть разработан свой объектный адаптер [10].

Скелетон – серверная программа, которая связывает сервант с объектным адаптером, позволяя объектному адаптеру перенаправлять запросы к соответствующему серванту. При статических методах вызова скелетон формируется при компиляции IDL кода. При динамических – не используется[12].

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

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

Для определенного языкового отображения обеспечивается программный интерфейс к стабу для каждого типа интерфейса. Стабы осуществляют обращения к ORB, используя скрытые и, возможно, оптимизированные для определенного ядра ORB интерфейсы. Для определенного языкового отображения и, возможно, в зависимости от используемого Объектного Адаптера будет обеспечиваться доступ к методам, реализующим каждый объектный тип. Вызов этих методов осуществляется через скелетон. Наличие скелетона не подразумевает существование соответствующего стаба клиента. Возможно, и обратное. Можно написать Объектный Адаптер, который не использует скелетоны для вызова методов реализации объектов [10].

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 375
Бесплатно скачать Реферат: Обзор технологии CORBA