Alan Pope, "The CORBA reference guide: understanding the common object request broker architecture", Addison-Wesley, 1998, ISBN 0-201-63386-8
CORBA - одна из ключевых технологий в области распределенных сетевых систем. В ней сошлись концепции двух парадигм современного программирования: объектной и клиент-серверной (или, более точно, распределенных вычислений). Все привыкли к тому, что в объектно-ориентированных системах (на базе, например C++ или Object Pascal) программирование приложения трансформируется в композицию новых объектов из уже имеющихся. На такой же стиль нацелена и CORBA, но теперь объекты не обязательно локальные, они живут в пространстве сети, а клиенты узнают о них только по интерфейсам.

CORBA определяет открытую вычислительную инфраструктуру распределенных объектов, стандартизованную Object Management Group. Интерес к CORBA стимулируется тем, что это межплатформный стандарт, специфицирующий интерфейсы и определения объектов таким образом, чтобы части приложений можно было распределять на разные компьютерные архитектуры и операционные системы. CORBA представляет собой среду, в которой автоматизируются рутинные задачи сетевого программирования:регистрация, локализация и активация объектов, базовая обработка; сообщений, управление сбойными ситуациями, конвертация параметров при взаимодействии с сервером.

Стиль книги, во многом определяется личностью автора - Алан Поуп непосредственно участвовал в рождении стандарта объектного брокера: в 1989 он был членом объединенной команды HP и Sun, разработавшей Distributed Object Management Framework, которую впоследствии OMG выбрала за основу CORBA. Не удивительно, что в своей книге он дал не только чрезвычайно подробное описание тонких деталей архитектуры, но и мотивы, по которым выбрано то или иное решение.

Замысел автора состоял в создании энциклопедии CORBA - самоучитель, руководство по применению и справочник под одной обложкой. В книге Поупа излагаются базовые концепции, положенные в основу технологии-CORBA разработки масштабируемых распределенных приложений. Прямо научиться по ней программировать нельзя, но, не зная концепций, много тоже не напишешь. Это, однако, не означает, что книга не имеет практического значения - напротив, в дополнение к главной нити приводятся многочисленные примеры, иллюстрирующие типовые случаи применения CORBA. Основное содержание книги посвящено трем частям CORBA: базовой архитектуре (ORB), и ее расширениям - службам и средствам обслуживания (facilities).

Собственно Object Request Broker (ORB) - это программный механизм, поддерживающий прозрачное взаимодействие клиентских запросов с целевыми объектами. Когда клиент вызывает операцию, ORB находит нужный объект, активизирует его и возвращает ответ обратно. Сам ORB в представлении OMG также рассматривается как логический объект - не возбраняется реализация его различными способами. CORBA лишь специфицирует абстрактный интерфейс ORB, включающий такие функции, как преобразование объектных ссылок, создание списков аргументов для динамического интерфейса вызова и т.д.

С точки зрения программиста основное достижение CORBA - автоматизация преобразования локального кода приложений в распределенную форму. Для этого программы дополняются описаниями интерфейсов на языке IDL. Расширенный текст приложения обрабатывается компилятором CORBA IDL, в результате чего генерируются посредники (стабы и скелеты) между клиентской и серверной частью с одной стороны, и ORB с другой.Спецификации CORBA IDL позволяют реализовывать объекты на любом из множества языков, включая Cи, C++, Java, Smalltalk и Ada.

К объектным службам эталонная модель OMG относит не зависящие от предметной области интерфейсы, общие для многих распределенных объектных программ. CORBA включают в этот список две разновидности средств, с помощью которых клиент может добраться до любого из потенциально доступных ему служб: поиска по имени (Naming Service) и поиска по свойствам (Trading Service). Сюда же относят службы управления жизненным циклом, транзакций, уведомлений и безопасности.

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

Книгу можно заказать в компании Фольком Холдинг-Центр, тел./факс. (095) 251-4504, email: books@df.ru