, OMG), в который сегодня входит около 600 компаний-производителей и пользователей, включая и Microsoft, разработал стандарт, названный CORBA. Этот стандарт определяет способ сетевой связи между распределенными объектами. CORBA (Common Object Request Broker Architecture - Единая архитектура брокера объектных запросов) выросла на основе спецификации, которую семь лет назад начала разрабатывать группа компаний, объединяющая таких производителей, как Hewlett-Packard, Novell, Sun Microsystems, IBM и Digital Equipment. Тогда в качестве основного сетевого протокола, на основе которого развивалась архитектура CORBA, был взят протокол TCP/IP. Данный выбор определялся лишь тем, что с этим протоколом работала сеть Internet.
Как говорит директор ассоциации OMG Крис Стоун, и в архитектуре CORBA, и в модели DCOM используется брокер объектных запросов (Object Request Broker, ORB) для поиска в сети объектов или приложений и для посылки сигналов связи между ними. И DCOM, и CORBA отходят от нестандартизированных способов связи между программными компонентами, когда для установления связи требуется заранее определить такие параметры, как тип устройства (клиент или сервер), путь и тип вызова удаленной процедуры.
Критики модели DCOM упрекают Microsoft в том, что компания построила ее на технологии OLE, которая, по их мнению, слишком сложна в использовании, медленно работает, чересчур громоздка и содержит непростительно много интерфейсов прикладного программирования.
Принцип работы CORBA основан на посылке асинхронного вызова удаленной процедуры. Это означает, что до возвращения результата машина, сделавшая вызов, в состоянии заняться выполнением других задач. Брокер объектных запросов (ORB) находит в сети искомую программу-объект, проверяет ее работоспособность и сообщает посылающей машине, что программа запущена. Интерфейсы, применяемые для связи между ORB и объектами, - одни и те же для всех типов машин, поскольку все они созданы на языке описания интерфейса CORBA.
Модель DCOM, разработанная Microsoft, использует синхронный ORB для поиска OLE-программ, запускаемых на удаленной машине (конечно, при условии, что к ней имеется доступ). Результат возвращается машине, пославшей запрос, где и происходит ее считывание или обработка с помощью того или иного приложения.
Версия DCOM для ОС Windows NT появится уже этим летом, а версия для Windows 95 будет готова к концу года. Недавно компании Microsoft и Software AG объявили, что Software AG работает над созданием версий DCOM для различных вариантов Unix. Как сообщил Нэт Браун, руководитель проекта DCOM в компании Microsoft, эти версии должны появиться на рынке во второй половине текущего года или в самом начале следующего.
Некоторые пользователи и аналитики отмечают, что модель DCOM должна лучше всего работать с теми системами, которые уже поддерживают технологию OLE, а это область, которая сильно зависит от Windows. Архитектура же CORBA изначально предназначена для работы на разных платформах.
С другой стороны, CORBA и DCOM смогут работать и вместе, по крайней мере до некоторой степени. Третьи фирмы уже создают шлюзы, транслирующие запросы CORBA в запросы DCOM (и наоборот) и обеспечивающие взаимодействие между приложением на базе CORBA и OLE-приложением.
Некоторые критики модели DCOM утверждают, что она лишена современных возможностей, которые имеются в архитектуре CORBA. CORBA - это объектно-ориентированная архитектура, которой присущи такие черты, как наследственность, полиморфизм и инкапсуляция, тогда как DCOM попросту вызывает и запускает прикладные программы и работает с данными.
По словам Брауна, сейчас Microsoft работает над устранением некоторых ограничений в DCOM. Например, эта модель позволит программисту указывать, сколько результатов программа может возвращать за один раз, чтобы машине, посылающей запрос, не нужно было ждать, пока какая-нибудь база данных большого объема будет передана по сети, и компьютер мог бы выполнять параллельно другие задачи.
Дон де Пальма, старший аналитик компании Forrester Research, убежден, что рано или поздно Microsoft придется принять асинхронный протокол. "В противном случае при создании приложений, связь с которыми должна осуществляться периодически или время от времени, будут возникать большие проблемы", - считает он.
Несколько месяцев назад системные администраторы жаловались на то, что, поскольку DCOM основана на технологии OLE (она тогда называлась Network OLE), она требует от пользователей запуска приложения на своем компьютере еще до того, как они начнут просматривать данные, хранящиеся в таком же приложении на удаленной машине. Microsoft собирается устранить это неудобство, создав для Microsoft Office специальные "модули чтения" (readers), которые предполагается распространять бесплатно.
Такой подход очень похож на тот, который осуществляется в CORBA, где специальные модули тоже используются для чтения данных в разных форматах.
Время покажет, сможет ли архитектура OLE обеспечить надежную работу систем, на которых выполняются критически важные приложения и для которых характерен интенсивный сетевой трафик. "Архитектура OLE предназначена для работы на ПК, - говорит Бад Триббл, вице-президент компании Sun по вопросам стратегии в области Internet. - В ее рамках имеет смысл говорить о документах, в которые включены изображения или другие объекты. Хорошим примером может служить электронная таблица со встроенным текстовым процессором. Но было бы натяжкой рассматривать эту аналогию применительно к ситуации, когда, например, система заказа авиабилетов устанавливает связь с системой Sabre".
Однако у технологии OLE есть одно преимущество: она имеет гигантское число пользователей. Большое количество приложений для Windows основаны на этой технологии; OLE используется во всех инструментах, выпускаемых Microsoft, и во многих программах третьих фирм, например в Delphi компании Borland. Даже если окажется, что DCOM - это не самый лучший способ распределения данных по сети, всем компаниям, использующим в своей деятельности программы для Windows, будет очень легко перейти на эту технологию. Нэт Браун утверждает, что любая программа, совместимая с OLE, будет работать с DCOM без каких-либо модификаций. OLE-программы содержат идентификаторы, сходные с тэгами имен, которые распознаются другими OLE-программами. DCOM использует эти идентификаторы для поиска в сети нужных программ. Это означает, что программе, к которой обращается брокер ORB, не нужно ничего знать о DCOM. Как только Windows NT начнет поддерживать DCOM, любое OLE-приложение окажется совместимым с этой технологией.
Тем временем некоторые производители уже выпустили брокеры для архитектуры CORBA, и среди них - апплеты Java, работающие с программой Netscape Navigator компании Netscape Communications. Таким образом, если разработчик создает Java-приложение, которое обращается к серверу, компания может обеспечить такое соединение. Если пользователь вызывает сетевую страницу, содержащую такое приложение, он может и не знать, что программа получает данные с сервера, основываясь на CORBA.
Многим компаниям еще придется сделать свой выбор между архитектурами CORBA и DCOM, но это и неудивительно, поскольку DCOM пока находится на стадии разработки.
Одна крупная компания в течение нескольких лет разрабатывала приложения по технологии CORBA, но прекратила эту деятельность, обнаружив, что первые результаты ее разработок больше подходят для использования в рабочих группах, чем для работы на уровне предприятия. Однако, по словам одного из сотрудников этой компании, теперь, когда CORBA обладает функциями, необходимыми для работы в масштабе предприятия, компания с прежним энтузиазмом возвращается к связанным с CORBA проектам. Она собирается управлять серверной частью приложений типа клиент/сервер, включая и Web-приложения, которые предполагается использовать для передачи данных своим деловым партнерам. Эта компания имела опыт работы с DCOM и считает подобную архитектуру недостаточно эффективной. Ограниченный набор возможностей делает DCOM пригодной, скорее, для применения в рабочих группах, чем в масштабе предприятия.
По крайней мере одна компания, использующая продукцию Microsoft (эта фирма производит продукты питания и входит в число компаний Fortune 500), выбрала технологию DCOM. "Наш производственный процесс требует большой гибкости при работе с распределенными объектами, нам необходимо иметь возможность многократно использовать их по мере надобности", - отмечает администратор информационной системы этой компании.
В конце концов, вероятно, большинство пользователей Windows, и особенно те, кто работает с Visual Basic, станут использовать DCOM, когда им потребуется обработать запрос к базе данных, расположенной на удаленном компьютере. Аналитики сходятся во мнении о том, что корпорации, строящие свои информационные системы на мэйнфреймах и Unix-системах и разрабатывающие свои собственные приложения масштаба предприятия, скорее всего, остановят свой выбор на архитектуре CORBA. Независимые разработчики Windows-приложений будут ориентироваться на DCOM, тогда как создатели программного обеспечения для Unix, Macintosh, мини-компьютеров и мэйнфреймов уже сделали ставку на технологию CORBA и включают ее в свои операционные системы и приложения. Например, среда разработки компонентных документов OpenDoc, созданная компаниями IBM и Apple, использует CORBA для обмена сообщениями.
"Технология CORBA оказалась намного более пригодной для выполнения задач, характерных для крупных предприятий", - объясняет Дон де Пальма.
По всей вероятности, должно произойти размежевание на два независимых мира: тех, кто использует Windows, и всех остальных; подобно тому, как сегодня разработчики, применяющие операционные системы OS/2, Unix и Windows, практически не связаны друг с другом. Однако с помощью трансляторов, которые создает консорциум OMG для преобразований OLE-компонентов, два этих мира все же сохранят возможность связи друг с другом.
SCO добавляет OLE в Unix
По мнению пользователей и аналитиков, недавний шаг, направленный на то, чтобы связать Unix-компьютеры с ПК под Windows, применяя технологию распределенных объектов Microsoft, компания Santa Cruz Operation (SCO) предприняла, скорее, предполагая "выйти" на потребителей, использующих Windows, нежели в поисках лучшего протокола связи.
Стандарт Microsoft, названный Remote Ole Automation, - это первая попытка компании перенести свою технологию связывания и встраивания (OLE-технологию) за пределы настольных систем. Удаленная автоматизация, предшественник Network Ole, строит многоуровневые среды для архитектуры клиент/сервер, используя ПК для инициации процессов на распределенных машинах. Для того чтобы добавить Unix в эти сети, SCO проводит бета-тестирование Server Ole, программного обеспечения, которое размещается на Unix-компьютерах и получает вызовы от удаленных Windows-приложений.
Тем, кто имеет дело с критически важными системами под Unix и хочет пользоваться клиентскими Windows-приложениями, эта система, возможно, покажется прекрасной. Другая часть этой головоломки - сделать так, чтобы Windows везде подходила в качестве настольного клиента.
Но пока, по словам Карен Буше, аналитика по объектной технологии в Standish Group International, и некоторых других аналитиков, CORBA (Common Object Request Broker Architecture), разработанная в Object Management Group, представляется более совершенным решением межплатформенной совместимости.
"На всех платформах существует большое количество действительно хороших продуктов, соответствующих CORBA и имеющих даже большие функциональные возможности, нежели предоставляемые Network Ole", - считает она.
В SCO придерживаются мнения, что Remote Ole Automation делает свое дело. Здесь считают, что необходимо решать возникающие вопросы сейчас, а не ждать, когда это сделает Microsoft. Несомненно, одна из причин, по которой Microsoft тянет с выпуском Network Ole, - это желание, чтобы потребители использовали в качестве серверов NT, а не Unix.
Терри Кин, вице-президент консалтинговой компании Enabling Technologies Group, согласен с тем, что ждать появления Network Ole было бы ошибкой.
"Microsoft даже простые продукты не выпускает вовремя, и для всех очевидно, что Network Ole появится нескоро. Так что сообщение о готовности взаимодействовать с Windows-приложениями уже сейчас представляется мне великолепной превентивной мерой со стороны SCO. Впрочем, это не означает, что он отдает предпочтение предложению Microsoft. CORBA имеет только один недостаток: она создана не в Microsoft. Действительно, грустно признавать, что лучшая технология вынуждена "пробиваться" только потому, что Microsoft не одобряет ее, но люди любят Билла Гейтса, они верят ему, - заметил Кин. - Стратегия SCO - это выживание. Я думаю, что они воспользуются в какой-то момент CORBA, но, если честно, то на месте SCO, я, скорее всего, сменил бы эту архитектуру.
Бета-версию Server Ole можно получить бесплатно с узла Web компании SCO. Поставки законченного продукта предположительно начнутся осенью.