CORBA
Материал из Википедии — свободной энциклопедии
CORBA (сокр. от англ. Common Object Request Broker Architecture — общая архитектура брокера объектных запросов; по-русски чаще произносится как [ко́рба], иногда жарг. [ко́бра]) — это технологический стандарт написания распределённых приложений, продвигаемый консорциумом OMG. Задача CORBA — осуществить интеграцию изолированных систем, дать возможность программам, написанным на разных языках, работающим на разных узлах сети, взаимодействовать друг с другом так же просто, как если бы они находились в адресном пространстве одного процесса.
Содержание |
[править] Общий обзор
CORBA объединяет программный код в объект, содержащий информацию о функциональности объединяемого кода и интерфейсах доступа. Готовые объекты могут вызываться из других программ (или объектов CORBA), расположенных в сети.
CORBA использует язык описания интерфейсов (OMG IDL) для определения интерфейсов взаимодействия объектов с внешним миром. CORBA описывает правила отображения из IDL в язык, используемый разработчиком CORBA-объекта. Стандартизованы отображения для Ada, C, C++, Lisp, Smalltalk, Java, COBOL, PL/I и Python. Также существуют нестандартные отображения на языки Perl, Visual Basic, Ruby и Tcl, реализованные средствами ORB, написанными для этих языков.
[править] Ключевые понятия технологии
[править] Объекты по значению (ОПЗ)
Помимо удалённых объектов в CORBA 3.0 определено понятие ОПЗ. Код методов таких объектов по умолчанию выполняется локально. Если ОПЗ был получен с удалённой стороны, то необходимый код должен либо быть заранее известен обеим сторонам, либо быть динамически загружен. Чтобы это было возможно, запись, определяющая ОПЗ, содержит поле Code Base — список URL, откуда может быть загружен код. У ОПЗ могут также быть и удалённые методы.
У ОПЗ могут быть поля, которые передаются вместе с самим ОПЗ. Они также могут быть ОПЗ, формируя таким образом списки, деревья или произвольные графы. ОПЗ могут иметь иерархию классов, включая множественное наследование и абстрактные классы.
[править] Компонентная модель CORBA (CCM)
Компонентная модель CORBA (CCM) — недавнее дополнение к семейству определений CORBA. CCM была введена начиная с CORBA 3.0 и описывает стандартный каркас приложения для компонент CORBA. CCM построено под сильным влиянием Enterprise JavaBeans (EJB) и фактически является его независимым от языка расширением. CCM предоставляет абстракцию сущностей, которые могут предоставлять и получать сервисы через чётко определённые именованные интерфейсы, порты.
Модель CCM предоставляет контейнер компонентов, в котором могут поставляться программные компоненты. Контейнер предоставляет набор служб, которые может использовать компонент. Эти службы включают (но не ограничены) службу уведомления, авторизации, персистентности и управления транзакциями. Это наиболее часто используемые распределенным приложением службы. Перенося реализацию этих сервисов от необходимости реализации самим приложением в функциональность контейнера приложения, можно значительно снизить сложность реализации собственно компонентов.
[править] Общий протокол межброкерного взаимодействия (GIOP)
GIOP - абстрактный протокол в стандарте CORBA, обеспечивающий интероперабельность брокеров. Стандарты, связанные с протоколом выпускает Object Management Group (OMG). Архитектура GIOP включает несколько конкретных протоколов:
- Internet InterORB Protocol (IIOP) - Межброкерный протокол для Интернет, это протокол для организации взаимодействия между различными брокерами, опубликованный консорциумом OMG. IIOP используется GIOP в среде интернет, и обеспечивает отображение сообщений между GIOP и слоем TCP/IP.
- SSL InterORB Protocol (SSLIOP) - это IIOP поверх SSL, поддерживаются шифрование и аутентификация.
- HyperText InterORB Protocol (HTIOP) - это IIOP поверх HTTP.
[править] Corba Location
CorbaLoc — это сокращение от Corba Location и является строковой ссылкой на объект CORBA и выглядит похоже на URL.
Все реализации CORBA должны поддерживать как минимум два варианта определённый OMG URL: corbaloc: и corbaname:. Их назначение в том, чтобы предоставить возможность человеку способ читать/править ссылку, посредством которой можно получить IOR.
Вот пример corbaloc:
- corbaloc::160.45.110.41:38693/StandardNS/NameServer-POA/_root
Реализация CORBA может предоставлять поддержку форматов "http:", "ftp:" и "file:". Назначение этих форматов в том, чтобы указать способ, откуда взять строковое представление IOR.
[править] Список брокеров (CORBA ORBs)
- Borland Enterprise Server, VisiBroker Ed. -
- CORBA 2.6–совместимый коммерческий ORB от Borland, поддерживает Java и C++. - MICO -
- Свободный (LGPL) ORB с поддержкой C++. - omniORB - Свободный (LGPL) ORB для C++ и Python.
- ORBit2 -
- Свободный (LGPL) ORB для C, C++ и Python. - JacORB - Свободный (LGPL) ORB, написан на Java.
- TAO - The ACE ORB, открытый ORB для C++.
- Orbacus - коммерческий C++,Java ORB от IONA Technologies.
- Orbix - коммерческий ORB от IONA Technologies.
- OpenFusion - C, C++, Java, Ada решения на базе CORBA от встроенных систем реального времени до приложений уровня предприятия, включая сервисы CORBA, обучение, консультации и поддержку на уровне промышленных стандартов от PrismTech.
[править] См. также
[править] Внешние ссылки
| Это незавершённая статья по информатике. Вы можете помочь проекту, исправив и дополнив её. |

