Главная страница
Навигация по странице:

  • Бизнес-объект

  • Рисунок 1 – Взаимодействия объектов Клиент и Сервер 1.2.3 ORB ORB

  • Карта активных объектов

  • NamingContext

  • Обзор технологии CORBA. Технология CORBA. 1Технология corba 1Основные положения


    Скачать 393 Kb.
    Название1Технология corba 1Основные положения
    АнкорОбзор технологии CORBA
    Дата18.01.2022
    Размер393 Kb.
    Формат файлаdoc
    Имя файлаТехнология CORBA.doc
    ТипДокументы
    #335003

    1Технология CORBA

    1.1Основные положения


    Технология создавалась консорциумом OMG как универсальная технология создания распределенных систем в гетерогенных средах. Полностью открытая платформа!!!
    Технология предлагает следующее:

    а) Высокоуровневая разработка ПО:

    Язык спецификации интерфейсов – IDL (interface definition language):

    - Позволяет совместить процесс спецификации распределенной программы с реализацией.

    - Обеспечивает масштабируемость ПО, возможность одновременной работы группы разработчиков.

    - В настоящий момент стандартизовано отображение языка IDL на C, C++, Java., Perl, Python и еще десяток языков.

    б) Встроенные механизмы взаимодействия клиента и сервера:

    1) Брокеры запросов – ORB (object request broker):

    1.2Архитектура CORBA

    1.2.1   Бизнес-объект


    На верхнем уровне абстракции – Бизнес-объект, который реализует некоторый функционал конкретной предметной области (например, для Банка –Клиент, Счет, … ).

    Бизнес-объекты участвуют в бизнес-процессах.

    Бизнес-процесс – по сути, динамический бизнес-объект (например, Заказ, Отчет и пр.)

    1.2.2   BOF


    Техническая поддержка Бизнес-объекта осуществляется прослойкой BOF (Business Object Facility – поддержка Бизнес-объектов), которая определяет прикладную архитектуру объекта и сервисы, которыми он может пользоваться.

    Функции BOF:

    1) Поддержка обмена сообщениями между объектами осуществляется через ORB (Object Request Broker) – брокер запросов, BOF является как-бы посредником между объектом и ORB.

    2) Компонентное построение системы, механизм Plug&Play прикладных бизнес-компонент. Один объект может инициализировать другой и т.д.

    3) Поддержка сервисов:

    - сервис жизненного цикла (создание, удаление, активация объектов);
    - сервис событий (изменение состояния объетка, наблюдение за состоянием других объектов, получение уведомлений через ORB);

    - сервис транзакций. Механизм транзакций заложен в BOF. Получив от бизнес-объекта сообщение о начале транзакции, BOF пересылает его на ее сервер (специальной программе, управляющей транзакциями), а также уведомляет его о завершении, регистрирует всех участников транзакции и обрабатывает ее подтверждение или "откат".


    Рисунок 1 – Взаимодействия объектов Клиент и Сервер

    1.2.3   ORB


    ORB (Object Request Broker) – брокеры запросов:

    1) Позволяют клиентам получать сведения о доступных на сервере объектах и их свойствах.

    2) Работают на стороне клиента и на стороне сервера.

    3) Поддерживают интерфейс динамического связывания удаленных объектов DII (dynamic invocation interface).

    4) Поддерживают универсальный протокол обмена между ORB:

    GIOP (General interORB Protocol) - обеспечивает механизм обмена данными между брокерами запросов на стороне клиента и сервера;

    - реализация GIOP - IIOP (Internet interORB Protocol) организована на базе протокола TCP/IP.

    - IIOP делает «прозрачной» для клиента пересылку и обработку запроса.

    1.2.4   POA


    POA (Portable Object Adapter), или Портируемый Объектный Адаптер полностью является одним из основных элементов серверной части в CORBA 3. Основная его цель – обеспечить портируемость серверных элементов СОRВА, в частности, сервантов, через разные ORB.

    Карта активных объектов (Active Object Map) - таблица объектного адаптера, в которой он ведет реестр активных CORBA-объектов и связанных с ними сервантов. Первые представлены в карте своими идентификаторами.
    POA может:

    - создавать CORBA объекты и их объектные ссылки;

    - демультиплексировать запросы на каждый серверный CORBA-объект;

    - перенаправлять запросы к соответствующему серванту, который обеспечивает реализацию серверного CORBA-объекта;

    - активизировать и деактивизировать CORBA-объекты и, соответственно, инкарнировать и эфемеризировать соответствующие серванты.

    Адаптер POA переводит обращение к CORBA-объекту на язык, понятный серванту, т. е программному приложению. В свою очередь, скелетон может использоваться для перевода параметров клиентского запроса в форму аргументов операций серванта.


    Этот вызов обращается к объекту по объектной ссылке, которая уникально идентифицирует CORBA-объект в соответствующем пространстве имен. Через брокер объектных запросов запрос передается на сервер. Как уже упоминалось, часть объектной ссылки, объектный ключ, уникально идентифицирует объект в его серверном приложении. Этот объектный ключ позволяет ORB выбрать именно тот адаптер, который отвечает за вызываемый объект (к одному приложению может относиться несколько адаптеров). POA выделяет из объектного ключа объектный идентификатор, и по объектному идентификатору определяет, какой сервант связан с вызываемым объектом. Адаптер может узнать это по специальной Карте Активных Объектов, или вызвать приложение и попросить его обеспечить нужный сервант по идентификатору объекта, или использовать сервант, выставленный приложением по умолчанию. Далее с запросом начинает работать сервант. Он отвечает за выполнение запроса и возвращает результаты обратно к объектному адаптеру, который передает их брокеру объектных запросов, а тот в свою очередь – клиенту.

    1.2.5   BOCA


    BOCA (Business Object Component Architecture) - Спецификация для компонентной архитектуры объектов, регламентирующая построение программных систем из компонент-объектов, созданных на основе технологии CORBA/IIOP. Спецификация создана для создания открытого рынка программных компонент.

    Основное понятие, с которым работает ВОСА, - framework (Организатор).

    1.2.5.1   Framework


    Framework работает как инструмент объединения бизнес-объектов в действующую систему.

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

    1.3

    1.4Последовательность разработки распределенного ПО в CORBA


    1) Определение на языке IDL интерфейсов, которые будет предоставлять сервер. Определяются:

    - наименование;

    - входные параметры;

    - выходные данные

    2) Компиляция *.idl и получение программных модулей на некотором языке, например java. Состав модулей после компиляции:

    - серверная часть - содержит абстрактный класс-скелет (skeleton);

    - клиентская часть – содержит абстрактный класс-заглушку (stub);

    - вспомогательные модули с классами, предоставляющие функции CORBA объектов;

    - модуль с классом, содержащим описание интерфейса и модуль – наследник, обеспечивающий интерфейс с CORBA – объектами.

    3) Создание серверной части приложения:

    - класс, реализующий интерфейс (поля, методы), наследует от skeleton;

    - класс, непосредственно реализующий сервер, в нем один метод – функция main.

    В main осуществляется:

    - создание и инициализация объекта типа ORB;

    - создание экземпляра удаленного объекта (наследник класса-интерфейса) и регистрация его в ORB;

    - получение объектной ссылки на службу имен; регистрация имени удаленного объекта для того, чтобы клиент смог найти удаленный объект;

    - ожидание запроса от клиента.

    4) Создание клиентской части приложения:

    - класс, непосредственно реализующий клиента, в нем атрибут типа ссылки на интерфейс и метод main.

    В main осуществляется:

    - cсоздание и инициализация ORB;

    - получение контекста службы имен (NamingContext);

    - нахождение удаленного объекта (получение объектной ссылки на интерфейс);

    - вызов удаленных методов.

    5) Компиляция клиента и сервера

    6) Запуск клиента.

    7) Запуск сервера.

    8) Обмен данными между клиентом и сервером по IIOP.
    Основные этапы жизни приложения, разрабатываемого по технологии CORBA, показаны на рисунке 1.


    Рисунок 1

    1.5Достоинства и недостатки


    «-»CORBA не имеет своей собственной компонентной модели (В отличие от MS COM).

    «-» При разработке приложений увеличиваются накладные расходы из-за стандартизованной реализации связи с общей информационной средой.

    «-» Трудность работы через файервол, отсутствие защиты;
    «+» CORBA предлагает метод высокоуровневой разработки ПО

    «+»CORBA имеет очень развитую сервисную часть; например, только для поиска серверных объектов по различным критериям можно использовать 4 различных сервиса CORBA. Кроме того, OMG стремится к максимальной стандартизации вспомогательных возможностей CORBA.

    «+» CORBA присущи все особенности объектно-ориентированной парадигмы: инкапсуляция, наследование, полиморфизм.

    2CORBA-3. Особенности


    Механизм ORB для клиент-серверного взаимодействия остался прежним.

    Серверная часть, включая объектные адаптеры изменилась.


    написать администратору сайта