Обзор архитектуры CORBA
Обобщенная Архитектура построения Брокеров Объектных Запросов разработана для поддержки интеграции самых разнообразных объектных систем. Спецификация CORBA устанавливает принципы создания Брокеров Объектных Запросов, которые и допускают такую интеграцию.
Запрос посылается от клиента к серверу. Клиент - это приложение, или нечто другое, выполняющее операцию над объектом, а реализация объекта - это код и данные, которые на самом деле выполняют эту операцию. ORB способен выполнить все действия, необходимые для нахождения реализации указанного объекта, подготовке этой реализации к обработке запроса и передаче данных, относящихся к запросу. Интерфейс, предоставляемый клиенту абсолютно не зависит от местоположения реализации объекта, языка программирования, на котором он написан или каких-либо других аспектов, не влияющих на определение интерфейса для данного объекта.
Рис.1 Схема взаимодействия клиента и сервера
Брокер объектных запросов, ORB - это логическое ядро, средоточие системы. Именно он позволяет объектам посылать запросы и получать ответы от других объектов, расположенных на той же машине или где угодно на сети. При этом в рамках данного запроса объект-отправитель относится к клиентскому приложению, а объект-адресат - к серверному. Роли клиента и сервера в отличие от традиционных клиент-серверных систем не закреплены за приложениями. В другой ситуации клиент и сервер могут поменяться местами.
Понятия клиент-сервер и объект - два любимых конька идеологии CORBA. Два последних революционных открытия в сфере компьютерных технологий времени объединились в одном стандарте, дополнив друг друга. В пространстве CORBA объект становится, интеллектуальной программной единицей, независимым компонентом - законченной частью программного кода со следующими особенностями:
- компонент может стать предметом купли-продажи на рынке программных средств;
- компонент сам по себе не является приложением;
- компонент может быть использован в таких условиях, которые никак не мог предугадать разработавший его программист;
- компонент не зависит от адресного пространства, сетевого протокола, алгоритмических языков, операционных систем, средств программирования;
- компонент имеет хорошо развитый интерфейс.
Компонент - это объект, поддерживающий наследование, полиморфизм и инкапсуляцию. Компоненты - это базовые элементы ORB. Каждый из них обеспечивает определенный тип сервиса, например, доступ к базе данных, бухгалтерскую проводку, учет товаров. Захватывающая идея - строить приложения из компонентов, так же просто, как домик из конструктора. Именно эта идея плодотворно развивается в CORBA.
[назад][содержание][вперед]