Предисловие редакторов русского издания

Вид материалаДокументы

Содержание


CORBA 2.0; межгалактический ORB
Зависящие от Среды Протоколы Взаимодействия ORB (Environment-Specific Inter-ORB Protocols — ESIOP)
CORBA 2.0: Архитектура Взаимодействия ORB (Inter-ORB)
Интероперабельных Объектных Ссылок (Interoperable Object References - IOR).
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   16

CORBA 2.0; межгалактический ORB


Стандарт CORBA 1.1 касался только создания переносимых объект­ных приложений; реализация ядра ORB была оставлена в качестве уп­ражнения для производителей. Результатом явился некоторый уровень переносимости компонентов, но не их взаимодействия. Стандарт CORBA 2.0 добавил возможность взаимодействия, введя обязательный Internet-Протокол Взаимодействия ORB (Internet Inter-ORB Protocol - HOP). ПОР представляет собой в основном протокол TCP/IP с некоторыми эле­ментами обмена сообщениями, определенными CORBA, который фун­кционирует как общий опорный (backbone) протокол. Каждый ORB, который выполняет вызов в CORBA-совместимой среде, обязан полно­стью реализовать НОР или, как минимум, обеспечить полумост (half-bridge) к нему. Обратите внимание, это называется полумост, посколь­ку НОР есть «стандартная» основа CORBA. Следовательно, некоторый частный ORB может соединяться со вселенной брокеров ORB, трансли­руя запросы в НОР.

В дополнение к НОР архитектура CORBA поддерживает Зависящие от Среды Протоколы Взаимодействия ORB (Environment-Specific Inter-ORB Protocols — ESIOP) для осуществления взаимодействия в специализи­рованных сетевых средах. CORBA 2.0 определяет DCE как первый из многих возможных протоколов ESIOP (произносится «И-СОП»). DCE ESIOP обеспечивает устойчивую среду для так называемых mission-critical ORB или брокеров целевого назначения. DCE ESIOP поддерживается в ORB Plus компании HP и ObjectBroker компании Digital.

Вы можете использовать межброкерные (inter-ORB) мосты и НОР для создания очень гибких топологий посредством объединения ORB. На рис. 1-5 показана шина ПОР с различными частными ORB, внедря­емыми посредством полумостов. Обратите внимание на присутствие DCE ESIOP. Вы можете группировать ORB в домены, основываясь на требо­ваниях администрирования, на реализациях ORB от разных производи­телей, на сетевых протоколах, загрузке сети, типах сервисов и вопросах безопасности. Правила предоставления ресурсов могут приводить к кон­фликтам с любой стороны, , поэтому вы можете создать брандмауэры на основе ORB ПОР с помощью полумостов. CORBA 2.0 способствует разнообразию и дает вам полную гибкость, пока вы используете ПОР как вашу глобальную шину.


CORBA 2.0: Архитектура Взаимодействия ORB (Inter-ORB)


Sufop решениями оиспеченмя юможности 1заимомЯстшя различных MS не лмяет на прмиамюе программное оцепенение. Такое взаимомиспие есп предмет окуждеиия мешу промшмтемми MB. а не мешу производителями и пользователями. Немногие (если таковые монце иаШугся) разраитчикн когм-мм вулут юмечеиы i программирование на уровне 610Р и tSIOP. Тот Mowbny илр авторThe EssentialCORSA (W/fey. 1995)

Даже если некоторым разработчикам приложений понадобится ра­зобраться в том, как взаимодействуют ORB, то это будет чисто спортив­ный интерес. Но, независимо от высказывания Mowbray, мы углубимся в вопросы взаимодействия стандарта CORBA 2.0. На рис. 1-6 показаны элементы архитектуры взаимодействия ORB в стандарте CORBA 2.0. Ниже дано описание того, что делает каждый из этих элементов:

" Общий Протокол Взаимодействия ORB (General Inter-ORB Protocol — GIOP) определяет набор форматов сообщений и общего представ­ления данных (common data representation) для коммуникаций меж­ду ORB. GIOP был создан специально для обеспечения взаимодей­ствия между ORB (ORB-to-ORB). Он спроектирован для работы поверх любого транспортного протокола, ориентированного на со­единение (connection-oriented transport protocol). GIOP определяет

семь форматов сообщений, которые охватывают всю семантику зап­рос/ответ для ORB. Формат предварительных "переговоров" (для установления соединения, прим. ред.) не нужен. В большинстве слу­чаев клиенты посылают запросы объектам сразу же после установ­ления связи. Общее Представление Данных (Common Data Representation

CDR) отображает определенные в OMG IDL типы данных в еди­нообразное, ориентированное на сетевое сообщение, представле­ние. CDR заботится также о межплатформных нюансах, таких как порядок байтов (перестановка байтов не нужна) и выравнивание данных в памяти (memory alignments). Internet-Протокол Взаимодействия ORB (Internet Inter-ORB Protocol

ПОР) определяет способ обмена сообщениями формата GIOP по сети TCP/IP. HOP предоставляет возможность использовать Internet как таковой в качестве основы инфраструктуры ORB, через которую возможно соединение с другими ORB. Данный протокол был спроектирован так, чтобы быть простым и обеспечивать «внеш-



нее» взаимодействие для ORB на основе TCP/IP. Co временем GIOP может быть перенесен на другие транспорты. Чтобы быть совмести­мым с CORBA 2.0, брокер ORB обязан поддерживать GIOP поверх TCP/IP (или соединяться с ним посредством полумоста). Обратите внимание на то, что, как ПОР, так и DCE/ESIOP имеют встроен­ные механизмы для передачи контекстных данных, т.е. данных свя­занных с сервисом транзакций или сервисом безопасности. ORB берет на себя передачу таких запросов, не вовлекая в этот процесс ваше приложение. Более того эта информация может передаваться в гете­рогенной среде CORBA между различными ORB с помощью мостов. Стандарт CORBA 2.0 сделал хорошую работу, указав местоположе­ние контекстных данных в генерируемых ORB сообщениях. Зависящие от Среды Протоколы Взаимодействия ORB (Environment-Specific Inter-ORB Protocols - ESIOP) используются для обеспече­ния «внешнего» взаимодействия в специализированных сетевых сре­дах. CORBA 2.0 определяет DCE как первый из многих возможных ESIOP. Подобно GIOP, протокол DCE/ESIOP поддерживает IOR, используя конфигурацию DCE (мы объясним IOR позже в этой врез­ке). DCE/ESIOP использует GIOP CDR для представления типов данных OMG IDL над DCE RPC. Это означает, что DCE IDL не требуется. Вместо этого, типы OMG IDL и CDR отображаются не­посредственно в «родное» Сетевое Представление Данных (Netvork Data Representation - NDR) протокола DCE. В настоящее время DCE ESIOP обеспечивает устойчивую среду для ORB специализирован­ного применения (mission-critical). Он включает расширенные воз­можности, такие как средства поддержки безопасности Kerberos, ячеистые (cell) и глобальные каталоги, распределенное время, а также аутентичный RPC. DCE также позволяет вам эффективно пе­редавать большие объемы данных, поддерживает многие базовые транспортные протоколы, включая TCP/IP. Наконец, с использо­ванием DCE для коммуникаций с вашими ORB вы можете исполь­зовать как протоколы с установлением соединения, так и без уста­новления соединения.

GIOP также определяет формат для Интероперабельных Объектных Ссылок (Interoperable Object References - IOR). ORB обязан создавать IOR (из ссылки объекта) всегда, когда ссылка объекта передается между ORB. IOR ассоциирует набор профилей (tagged profiles) со ссылкой на объект. Эти профили описывают один и тот же объект, но каждый из них описывает способ контакта с объектом посредством механизма кон­кретного ORB. Более точно, профиль предоставляет самоописываемые

данные, идентифицирующие домен ORB (с которым ассоциирована ссылка) и поддерживаемые им протоколы.