Основу этой архитектуры составляет Network OLE - набор системных служб, которые начнут поставляться вместе с Windows NT 4.0 и позволят разработчикам создавать распределенные приложения, используя OLE-компоненты.

"Enterprise OLE позволяет разбивать приложения на компоненты, размещать объекты на разных машинах и работать с ними в масштабе всей системы", - объясняет Ларри Джозеф, руководитель фирмы Strategic Database Systems, занимающейся системной интеграцией.

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

"Для нас большее преимущество (если Microsoft действительно реализует эту архитектуру) в том, что мы сможем применять одни и те же интерфейсы для разработки как настольных, так и распределенных приложений, - замечает Билл Ниеми, технический консультант в компании Fidelity Investments. - Это реально облегчит разработку и процесс обучения".

Но Enterprise OLE - не единственная модель распределенных компонентных программ. Еще до начала бета-тестирования первых версий Network OLE пользователи выражали сомнения - смогут ли интерфейсы Enterprise OLE хорошо взаимодействовать с конкурирующими объектными архитектурами.

Некоторые озабочены чересчур амбициозным отношением Microsoft к Enterprise OLE. "Я оцениваю OLE не так высоко, как раньше. Все надежды в основном были связаны с архитектурой в целом, но недостаток реальных разработок охладил мой пыл", - категоричен в своем мнении Пьер Пюрье, первый вице-президент Republic National Bank. Пюрье использует архитектуру CORBA, предложенную консорциумом Object Management Group для объединения серверных приложений, работающих на разных платформах.

Несмотря на лидирующее положение CORBA, многие с энтузиазмом экспериментируют с Network OLE. "С OLE связан ряд серьезных проблем, тем не менее для создания распределенных систем она крайне важна, - заявил руководитель одной из крупных химических компаний Среднего Запада. - Эта архитектура так же сложна, как и CORBA, но, в отличие от последней, доступные средства OLE-разработки гораздо более совершенны".

Структура новой архитектуры

Представленная почти год назад архитектура Enterprise OLE состоит из Network OLE, OLE DB, OLE Transaction, OLE Across Platforms и OLE Team Development. Microsoft хочет, чтобы вместе эти интерфейсы расширили существующую настольную модель OLE до сетевой, таким образом позволяя разработчикам повторно использовать компоненты OLE для создания распределенных приложений.

В конечном счете Enterprise OLE будет объединять все компоненты базовой технологии, что даст возможность отдельным частям совместно работать уже в качестве "объединенных компонентов", не зависящих от ОС.

  • Network OLE будет базовой службой ОС, межплатформенным элементом, служащим для связи других интерфейсов по всей сети.
  • Когда OLE-интерфейс вызывает сетевой компонент OLE, то осуществляет это при помощи Network OLE, выполняя вызов удаленной процедуры (RPC), по аналогии с механизмом распределенной вычислительной среды DCE, предложенной Open Software Foundation. И, кроме того, используя технологию, сходную с Kerberos, также представленной OSF, Network OLE обеспечивает защиту данных при сетевом взаимодействии компонентов.

    Windows NT 4.0 предложит еще службу доменов имен (Domain Name Service - DNS), глобальный каталог для поиска ресурсов, являющийся основной частью Enterprise OLE.

    "DNS необходим для работы с распределенными объектами. Он снабжает приложения информацией о расположении объектов, и благодаря ему любой ПК может выполнять роль и клиента, и сервера, так как теперь объекты могут размещаться в любой части сети", - делится своими впечатлениями Джозеф.

  • OLE DB является приемником ODBC, который позволит определить все данные как OLE-объекты. ODBC делает возможным доступ из клиентских приложений к многочисленным источникам данных на серверах через единый API. OLE DB расширит ODBC-модель и обеспечит доступ к нереляционным данным, таким как: файлы электронных таблиц, документы, подготовленные с помощью редактора Word, и к любым другим, описанным OLE-объектами. Включая ODBC как подмножество, OLE DB будет поддерживать доступ и к традиционным базам данных.
  • OLE Transaction управляет распределенными OLE-компонентами. OLE Transaction состоит из API и нескольких отдельных приложений управления, в том числе распределенного координатора транзакций (Distributed Trans-action Coordinator - DTC) и координатора компонентов (Component Coordinator), которые обслуживают запросы и уравновешивают нагрузку между клиентами на базе OLE и источниками данных на сервере.
  • DTC, первая часть OLE Transaction, должен появиться к середине года в новой версии базы данных компании Microsoft SQL Server 6.5. Несмотря на то что DTC - только один из компонентов OLE Transaction для управления распределенными объектами, его появление в SQL Server обеспечит C++ API, что, в свою очередь, позволит создавать распределенные приложения с интерфейсом OLE Transaction. А это значит, что разработчики, воспользовавшиеся этим API, получат преимущество при работе с распределенными объектами Network OLE.

  • OLE Across Platform - это стратегия переноса приложений Windows и ключевых OLE-компонентов для ОС, разработанных не в самой Microsoft. Последняя уже определила производителей, которые будут обеспечивать эмуляцию и поддержку в Windows приложений через Win32 API на Unix и Macintosh. Достигнута договоренность между Microsoft и компаниями Software AG и Digital о переносе технологий OLE на UNIX, Macintosh, MVS, OS/400 и другие ОС.
  • Набор интерфейсов коллективной разработки OLE Team Development служит для определения общих интерфейсов средств разработки, следовательно все OLE-компоненты смогут храниться в едином репозитории вне зависимости от программ, используемых для их создания. Сам репозиторий разрабатывается Texas Instruments при участии Microsoft.
  • Не все так гладко

    Корпоративные разработчики отмечают, что применение Enterprise OLE весьма существенно для создания действительно распределенной Windows-среды.

    Хотя то, что пытается достичь Microsoft, для OMG уже пройденный этап, даже небольшие изменения в интерфейсе требуют взаимодействия почти 500 членов OMG. "Я бы рассматривал OLE как альтернативу CORBA. Если OLE оформится как целостный продукт, мы откажемся от CORBA", - признается Ниеми.

    Какой бы привлекательной не казалась Enterprise OLE в роли альтернативы CORBA, многие пользователи уже вложили значительные средства в последнюю и озабочены тем, что Microsoft не планирует поддерживать интероперабельность между OLE- и CORBA-приложениями и, следовательно, они могут оказаться в ловушке стратегии Microsoft.

    "Идея, лежащая в основе OLE, очень плодотворна, но реализована только одной компанией, - с сожалением отмечают пользователи. - Microsoft не лицензирует службу безопасности DCE или DCE RPC, но использует свою собственную версию. То, что OLE действительно обеспечивает интероперабельность, безусловно вызывает сомнения".

    Microsoft утверждает, что OLE - это комплексная стратегия, которая поддерживает такие технологии, как Java, и будет совместима с конкурирующими объектными стратегиями, включая CORBA и OpenDoc. Однако на протяжении трех лет представители компании заявляют о том, что намерены определить шлюз между CORBA и базовым уровнем OLE - моделью COM (Component Object Model).

    Представление спецификации COM-CORBA вновь откладывается из-за того, что Microsoft не представила существенной информации о COM, лежащей в основе Network OLE. Теперь спецификация ожидается к концу года, но многие полагают, что "вражда" между OMG и Microsoft не утихла, а Microsoft обвиняют в нежелании принимать установленный стандарт. "Приверженцы CORBA либо сотрудничают друг с другом, либо конкурируют, тогда как Microsoft просто не желает принять конкурирующую архитектуру, - говорит Джозеф. - Она хочет получить весь кусок целиком".

    Свершившийся факт?

    Однако Microsoft хотела весь кусок и раньше. Хотела и получила. При этом пользователи отмечают, что несмотря на большую , по мнению многих, совершенность модели OpenDoc, OLE уже повсеместно распространена на клиентских машинах. Компания совершенствует свои традиционные продукты: ОС, широко распространенные и простые в использовании средства разработки и, как в случае с OLE DB, популярный набор приложений.

    Большинство уже смирилось с мыслью о том, что Enterprise OLE станет наиболее важной частью распределенных приложений. "Только готовится выход NT 4.0, а OLE уже имеется в подавляющем большинстве настольных клиентских систем, - подводит итоги Дэвид Гринберг, руководитель компании Visteon, занимающейся системной интеграцией в медицинских учреждениях. - В случае, если Microsoft получит еще и часть рынка серверных приложений - они победят".


    Беглый взгляд на интерфейсы Enterprise OLE

    Network OLE. Межплатформенная коммуникационная архитектура для посылки удаленных вызовов процедур между OLE-приложениями в сети. Состояние: поступит в продажу в составе NT 4.0 к концу года.

    OLE DB. Универсальный интерфейс (API) интеграции данных, предоставляющий доступ к любым данным - от электронных таблиц до реляционных и нереляционных источников, представленных в виде OLE-объектов. Состояние: завершена спецификация. Поступили в продажу первые версии инструментальных средств для разработчиков баз данных и информационных систем. Третьи фирмы к середине года начнут поставку средств для корпоративных разработчиков, использующих OLE DB.

    OLE Transactions. API и приложения управления, обеспечивающие поддержку и оптимизирующие загрузку OLE-объектов, передаваемых между клиентскими и серверными сегментами распределенных приложений. Будет взаимодействовать с мониторами транзакций, такими как IBM CICS. Состояние: полная спецификация должна быть завершена во втором квартале. Ранняя реализация, представленная в SQL Server 6.5, называемая Распределенным Координатором Транзакций (Distributed Transaction Coordinator - DTC), должна появиться во втором квартале. DTC начиная со следующего года будет также применяться в таких разработках компании Microsoft, как Exchange Server и Internet Information Server, а также в финансовых приложениях третьих фирм.

    OLE Across Platform. совместный проект по переносу OLE и Network OLE на Unix, операционные системы для мэйнфреймов и Macintosh. Определяет шлюзы для связи на уровне COM архитектур OLE и CORBA, поддерживаемой OMG. Состояние: компании Mainsoft, Bristol Technology, Insignia Solution и Locus Computing работают над средствами переноса Win32 API, включая OLE, на Unix и Macintosh. Компании Software AG и Digital Equipment планируют завершить разработку компонентов Network OLE для Unix и операционных систем мэйнфреймов к середине 1997 года. Спецификация моста COM-CORBA должна быть представлена в конце года.

    OLE Team Development. Интерфейсы, позволяющие средствам разработки обращаться к OLE-объектам, хранимым в репозитории, который разрабатывается компанией Texas Instruments. Состояние: предварительная версия появится к концу года. Microsoft планирует реализовать интерфейс в своих собственных средствах разработки и несколько позже определить интерфейсы, предоставляемые третьим фирмам.