CORBA | MetodPro.ru

Реклама на сайте

CORBA


Под термином "CORBA" понимается именно сложная и развитая концепция, сформулированная на уровне специального языка описаний – IDL. Реализации же этой концепции могут сильно отличаться друг от друга по различным критериям, наиболее важным в том или другом случае. VisiBroker (разработки Visigenic/Borland/Inprise/Corel) и ApplicationServer, BEA WebLogic, IonaOrbix, OracleApplicationServer и "картриджи" Oracle, IBM BOSS – все эти продукты используют те или иные возможности CORBA.

Под "стандартом" применительно к CORBA понимается то, что официально утверждено консорциумом OMG.

Объекты CORBA можно рассматривать как экземпляры (instances) некоторогометатипа, причем и метатип, и сами объекты существуют вне связи с конкретной программой на конкретном языке. Этот метатип в CORBA называется «интерфейсом».

Назначение CORBA

Технология CORBA создана для поддержки разработки и развёртывания сложных объектно-ориентированных прикладных систем.

CORBA является механизмом в программном обеспечении для осуществления интеграции изолированных систем, который даёт возможность программам, написанным на разных языках программирования, работающих в разных узлах сети, взаимодействовать друг с другом так же просто, как если бы они находились в адресном пространстве одного процесса.

Общий обзор

Спецификация CORBA предписывает объединение программного кода в объект, который должен содержать информацию о функциональности кода и интерфейсах доступа. Готовые объекты могут вызываться из других программ (или объектов спецификации CORBA), расположенных в сети.

Спецификация CORBA использует язык описания интерфейсов (OMG IDL) для определения интерфейсов взаимодействия объектов с внешним миром, она описывает правила отображения из IDL в язык, используемый разработчиком CORBA-объекта.

Ключевые понятия технологии

Объекты по значению

Помимо удалённых объектов в CORBA 3.0 определено понятие объект по значению. Код методов таких объектов по умолчанию выполняется локально. Если объект по значению был получен с удалённой стороны, то необходимый код должен либо быть заранее известен обеим сторонам, либо быть динамически загружен. Чтобы это было возможно, запись, определяющая такой объект, содержит поле CodeBase — список URL, откуда может быть загружен код.

У объекта по значению могут также быть и удалённые методы, поля, которые передаются вместе с самим объектом. Поля, в свою очередь также могут быть такими объектами, формируя таким образом списки, деревья или произвольные графы. Объекты по значению могут иметь иерархию классов, включая абстрактные и множественное наследование.

Интерфейс

Интерфейс в CORBA – это логически сгруппированный набор методов и атрибутов. Каждому интерфейсу присваивается имя, уникальное в пределах одной распределенной системы. В отличие от СОМ в CORBA нет бинарного стандарта интерфейсов. Вместо этого существует стандартный язык описаний IDL.

Компонентная модель CORBA (CCM)

Модель CCM предоставляет контейнер компонентов, в котором могут поставляться программные компоненты. Контейнер предоставляет набор служб, которые может использовать компонент. Эти службы включают (но не ограничены) службу уведомления, авторизации, персистентности и управления транзакциями. Это наиболее часто используемые распределённым приложением службы. Перенося реализацию этих сервисов от необходимости реализации самим приложением в функциональность контейнера приложения, можно значительно снизить сложность реализации собственно компонентов.

Общий протокол межброкерного взаимодействия (GIOP)

GIOP — абстрактный протокол в стандарте CORBA, обеспечивающий интероперабельность брокеров. Стандарты, связанные с протоколом выпускает ObjectManagementGroup (OMG).

Ссылка на объект (CorbaLocation)

CorbaLoc (англ. CorbaLocation) — является строковой ссылкой на объект технологии CORBA, подобной URL.

Все реализации CORBA должны поддерживать как минимум два варианта OMG URL: corbaloc: и corbaname:. Их назначение в том, чтобы предоставить возможность человеку способ читать и править ссылку, посредством которой можно получить ссылку на объект CORBA.

Брокеры

В распределенной объектной системе объекты взаимодействуют между собой. Объекты-серверы оказывают различные услуги (выполняют операции) по заявкам объектов-клиентов. В CORBA 2.0 предусматривается, что услуги могут оказываться не только объектами приложений. Некоторые часто используемые услуги стандартизованы, и системы объектов, их реализующие, называются Объектными службами.

Основу спецификаций интероперабельности брокеров в CORBA 2.0 составляет предложенный OMG архитектурный подход, предусматривающий использование в качестве стержневого элемента или "общей шины" в распределенной системе объектов специального компонента-посредника между объектами-клиентами и объектами-серверами, названного брокером объектных заявок. Главная часть брокера называется ядром. Ядро брокера реализует некоторый минимальный набор функций, которые дают возможность объекту-клиенту вызывать операции объекта-сервера.

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



Методические пособия

  • Системы автоматизированного проектирования
  • Социология молодёжи
  • Общая социология
  • Криптография
  • Проектирование трансляторов
  • Компьютерная графика
  • Моделирование систем
  • Информационная безопасность
  • Теория вычислительных процессов
  • Логические основы искусственного интелекта
  • Проектирование распределённых информационных систем