На конференции разработчиков TechEd Microsoft, которая состоялась в начале июня, корпорация произвела первый чувствительный залп - она сообщила подробности, касающиеся создания компьютерных систем с использованием серверных распределенных компонентов. Дело в том, что Microsoft намеревается сделать так, чтобы вести графическую разработку на сервере было столь же просто, как и на клиенте, и делает серьезную ставку на следующее поколение Microsoft Transaction Server (MTS) под названием COM+.

Первоначально MTS описывали как "координатор компонентов", действующий в качестве брокера объектных запросов (ORB) и монитора транзакций. Этот продукт находился в руках корпоративных разработчиков почти полтора года, однако до конца так и не прижился. Как показывает практика, MTS действительно может упростить создание трехуровневых приложений, однако аналитики и пользователи утверждают, что, несмотря на это, в сфере классических высокопроизводительных приложений оперативной обработки транзакций (OLTP) места ему так и не нашлось.

Новый COM+ включает в себя инструмент разработки и развертывания MTS, а также целый набор услуг, в том числе поддержку событий, модели событий типа "публикация и подписка", динамическую балансировку нагрузки и компоненты с очередями через Microsoft Message Queue Server.

На конференции TechEd корпорация Microsoft заявила всему миру, что она предлагает программирование на базе атрибутов, возможность без труда создавать серверный компонент и идентифицировать его как объект транзакций или объект с очередями.

В чем же дело? Генеральная линия корпорации вполне ясна, однако руководители Microsoft признают, что они пока не в состоянии сообщить, какой именно продукт будет обладать такой возможностью. В пакете дополнений к Windows NT были выпущены версии MTS 1.0 и 2.0. Тем не менее, по мнению руководства Microsoft, работа по их маркетингу велась до сих пор неудовлетворительно.

Вик Гандорта, который был недавно назначен директором по маркетингу платформ в Microsoft, рассказал, что корпорацию часто обвиняют в чрезмерном внимании к маркетингу продуктов, а не к их разработке.

"По иронии судьбы MTS уже появился на рынке, а мы даже не удосужились об этом рассказать", - заметил он.

По некоторым сведениям, это произошло не в последнюю очередь из-за того, что объектная стратегия корпорации не отличалась достаточной четкостью. Однако Microsoft понимала - обеспечить реальную эффективность среды разработки в целом можно, лишь добившись, чтобы эта среда поддерживала MTS. Поэтому необходимо было включить функциональные возможности COM+ в Microsoft Repository, что позволило бы хранить компоненты и гарантировать доступ к ним при помощи среды разработки Visual Studio 6.0. Среда Visual Studio 6.0 была представлена на конференции TechEd, а ее выпуск запланирован на сентябрь.

Стороннему наблюдателю нелегко проследить даже за изменением названий компонентной стратегии Microsoft. За прошедшие пять лет у Microsoft появлялось в среднем по одной компонентной стратегии в год.

Сначала возникла "объектная компоновка" OLE, которая базировалась на Сomponent Object Model (COM). Затем COM была расширена за счет ее ближайшего родственника Distributed COM для связи распределенных компонентов.

Позже, с появлением Internet и Java-апплетов, Microsoft переименовала свои компоненты в "управляющие элементы" (controls), а для обозначения стратегии в целом придумала универсальное название ActiveX. Более того, для развития ActiveX была организована специальная отраслевая группа под названием Open Group, основная задача которой состояла в переносе ActiveX на другие платформы. Впрочем, конкретных результатов от ее работы было не так уж много. Для пропаганды концепции трехуровневой, или n-уровневой разработки вычислительных и серверных сред Microsoft создала " координатор транзакций", или MTS, а теперь на смену ему пришла COM+.

"Эту чехарду с переименованиями пора прекратить, - считает Гандорта. - Я всегда говорил, что мы должны использовать название COM. Но если присмотреться повнимательнее, то станет ясно, что стратегия и технология остались неизменными - поменялось лишь название".

А тем временем... тем временем примеру Microsoft последовала и Sun Microsystems, создавшая свою версию компонентов ActiveX под названием JavaBeans и собственную версию компонентов MTS, названную Enterprise JavaBeans (EJBs). Аналитики уверены, что сегодня линия фронта в корпоративной войне проходит как раз через реализацию компонентов EJB, которые позволят осуществлять межплатформенную разработку продуктов при использовании существующих систем обработки транзакций и промежуточного программного обеспечения CORBA.

"Корпорация Microsoft стремится воспрепятствовать расширенному наступлению EJB, - утверждает аналитик Gartner Group Ефим Натис. - Сегодня EJB - это вполне реальная компонентная модель".

Судя по всему, Microsoft действительно всерьез намерена противопоставить EJB именно технологию MTS. При этом корпорация утверждает, что по сравнению с ней COM+, которая обеспечивает возможности выбора языка, объединения связей баз данных и администрирования, является значительным шагом вперед. Впрочем, независимые поставщики программ отмечают, что если дополнить спецификацию EJB интерфейсами прикладных программ Java Transaction Services API и Java Messaging API, то обе архитектуры будут поразительно похожи (по крайней мере на бумаге). В то же время пока EJB существует главным образом в виде спецификации, и лишь некоторые поставщики, в частности Sybase, WebLogic, Forte и Gemstone, реализовали эту технологию на практике.

О создании COM+ было объявлено еще на прошлогодней конференции TechEd, однако эта технология до сих пор не появилась на рынке.

"Мы не можем назвать точную дату выпуска COM+, - говорит менеджер Microsoft по разработке COM и MTS Джо Малони, - потому что сами пока не решили, когда она появится".

Несмотря на это, компонентная стратегия Microsoft постепенно проясняется. Так, корпорация предложит клиентам базовые службы для разработки компонентов, включая обмен сообщениями, транзакции, возможность удаленного управления и работы в Web, а также Active Directory, Active Data Objects и масштабируемость. Менеджер Microsoft по разработке Visual Studio Майк Риссе пообещал, что в конечном счете эти службы будут включены в Windows NT.

Объекты для всех желающих

У Microsoft есть и другая задача - упростить встраивание таких серверных компонентов в ее инструменты. Некоторые компании уже приступили к этой работе.

Компания Boeing Aerospace использует MTS для создания серверных компонентов транзакций, которые позволяют ей проводить учет, обработку заказов и обслуживание.

"Клиенты постоянно требуют от нас все больше и больше, причем за меньшие деньги", - пожаловался менеджер отдела инженерных служб Boeing Бойд Нолан.

При создании серверных объектов Нолан использует Microsoft Visual Basic и Visual InterDev. Затем эти объекты помечаются как объекты, ориентированные на транзакции (transaction-aware objects), и могут работать с MTS. Для того чтобы приложения обладали возможностями сервера, Нолан объединяет MTS с Internet Information Server.

Однако вскоре Microsoft продемонстрирует разработчикам, каким образом можно создавать приложения в среде Visual Studio и использовать их в серверном программировании. Сама корпорация уже создала на базе MTS систему отслеживания расходов, которая используется в штаб-квартире Microsoft в Редмонде. На последней выставке был представлен образец этой программы.

По словам Джо Малони, Visual Studio будет не единственной средой, в которой можно задействовать серверные объекты.

В прошлом высшие руководители Microsoft заявляли, что корпорация никогда не будет переносить COM+ или MTS на любую другую платформу, поскольку при этом Microsoft не сможет обеспечить их полную интеграцию. Несмотря на это, можно ожидать, что в дальнейшем Microsoft обнародует длинный список своих партнеров по разработке COM+. По некоторым сведениям, создавая свои инструменты, Microsoft сотрудничает с Inprise (так теперь называется Borland) и Powersoft. Их задача - обеспечить конечным пользователям возможность встраивать в их инструменты серверные компоненты.

ПО ТУ СТОРОНУ NT

Реализация долгосрочной корпоративной программы Microsoft и развитие Internet заставляет корпорацию принимать в расчет другие операционные системы и платформы баз данных. Так, Microsoft работает с производителем ORB - компанией Iona Technologies. Вместе они обеспечат ORB возможность использовать MTS-объекты в программе Orbix Object Transaction Monitor на базе CORBA.

"Я поражен изменениями, происходящими с Microsoft, - признался директор компании Upstream Consulting Джон Ример. - Прежде руководители корпорации заявляли, что весь мир просто обязан перейти на COM, а все остальное, дескать, их не интересует. Но сегодня они, вероятно, осознали, насколько убедительна такая политика".

Похоже, Microsoft запоздала с выпуском MTS точно так же, как и с выпуском Windows (а позднее не сумела угнаться за темпами развития Internet). Однако сегодня основой успеха корпорации стала способность Microsoft заставить независимых разработчиков принять MTS и COM+.

В конечном счете, господство Microsoft на рынке настольных систем и постепенное признание трехуровневых приложений дадут о себе знать - именно эти факторы станут для корпорации плацдармом для завоевания рынка серверов. Компания Merill Lynch, к примеру, использует MTS для переноса приложения OLTP на промежуточный уровень, в этом случае к ним можно будет без труда получать доступ с настольного компьютера.


Новые горизонты

В продажу поступила третья версия Microsoft Transaction Software (MTS). Этот продукт появился на рынке еще в 1996 году, но корпоративные клиенты начали использовать его при создании систем на базе транзакций только в последнее время.

"Наиболее выигрышная сфера для MTS - это, конечно, электронная торговля, - считает директор и главный консультант Upstream Consulting Джон Ример. - Пользователям Visual Basic необходимо средство программирования систем на базе транзакций. До последнего времени создать его не очень-то получалось".

Компания Corporate Software проводит консультации и продает крупным корпорациям программное обеспечение для настольных компьютеров, в частности Lotus Notes. Использование MTS позволило ей модернизировать систему заказов. Ранее постоянные клиенты компании делали заказы по телефону, а теперь - через Web.

"Когда корпоративные клиенты посещают наш Web-узел, мы предоставляем им специализированную активную серверную страницу, - объяснил менеджер технологических проектов Corporate Software Элисон Уэбб. - Затем они делают заказ, и автоматически создается объект Visual Basic, который извлекает информацию из SQL Server".

Компания Corporate Software использует MTS, работающий с Microsoft Internet Information Server (IIS). Объекты генерируются из IIS, а MTS координирует транзакции с SQL Server.

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

- Нейл Маккей