Введение

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

 

Основополагающими документами для CORBA являются два - "The Common Object Request Broker: Architecture and Specification" и "CORBAservices: Common Object Services Specification".

Первый описывает все основы CORBA, а также многие вполне конкретные вещи, составляющие фундамент CORBA, в том числе:

Документ "CORBAservices" перечисляет базовый набор сервисов (интерфейсов), которые неплохо было бы иметь для того, чтобы можно было надстраивать над ними прикладные сервисы. Знать 15 сервисов, описанных в данном документе очень полезно, так как за абстрактной "поддержкой CORBA" тем или иным производителем могут скрываться совершенно различные вещи. Сервисы эти разной степени важности, но, так или иначе, вот они:

  1. Naming - базовая служба имён. Иерархического вида каталог доступных в сети сервисов. Здесь надо быть внимательным - некоторые поставщики CORBA используют для реализации данной службы каталог DCE/CDS, что не возбраняется, однако требует, как минимум, его наличия. Вообще стандарт не запрещает использовать для реализации Naming Service любую существующую службу каталогов.
  2. Event Service описывает возможности асинхронного взаимодействия, в том числе "активного сервера"
  3. Persistent Object Service - описывает то, каким образом состояние объекта может быть сохранено, а затем восстановлено.
  4. Life Cycle Service. Учитывает моменты, порождённые тем, что объект в течение своего жизненного цикла может перемещаться между компьютерами.
  5. Concurrency Control Service. Специфицирует регулировку доступа к объекту в конкурентном режиме. Механизм - разные типы блокировок.
  6. Externalization Service описывает способ представления состояния объекта в виде потока данных. Это используется при сохранении в файл или перемещениях между областями памяти.
  7. Relationship Service. Возможность непосредственного представления отношений между объектами по образу и подобию классической ER модели Чена.
  8. Transaction Service. Очень важный сервис. Его наличие и отсутствие в реализации CORBA и есть грань между объектно-ориентированным монитором транзакций и просто объектным брокером запросов. Object Transaction Service отвечает за демаркацию транзакций, координацию множества объектов, которые могут быть вовлечены в транзакцию, в том числе и объектов, распределённых по узлам сети.
  9. Query Service. Даже работа с коллекциями объектов предусмотрена стандартом! Какой язык запросов должен использоваться, явно не указано, хотя говорится об объектных расширениях SQL.
  10. Licensing Service - управление лицензированием
  11. Property Service - возможность ассоциирования с объектами свойств, не являющихся атрибутами объекта.
  12. Time Service - служба времени
  13. Security Service - важный вид сервиса, суть которого, я надеюсь, понятна
  14. Trading Object Service - очень интересное расширение службы имён. Вместо того, чтобы использовать точное имя сервиса по Naming Service, клиент указывает необходимый ему тип объекта, а trader сам находит подходящий.
  15. Object Collection. Регламентирует базовые операции над коллекциями объектов.

Помимо вышеупомянутых документов существует ещё "Common Facilities", а также огромное количество разной степени важности бумаг. Достаточно уже и того, что далеко не всё из описанного в двух самых важных реализуется производителями CORBA или CORBA-совместимых серверов приложений.


[содержание][вперед]

Hosted by uCoz