В компании Halcyon нашли способ обойтись без Microsoft CLI
С помощью модуля Instant .Net Web-службы для .Net, построенные на основе технологий XML, преобразуются в службы Java

Корпорация Microsoft годами упорно стремилась противостоять распространению и росту популярности языка программирования Java. Однако теперь независимый разработчик программного обеспечения создал инструмент, посредством которого технология, проектируемая в рамках широко разрекламированной инициативы Microsoft .Net, может попасть прямо в руки разработчиков Java.

Компания Halcyon Software представила первую бета-версию Instant .Net (iNet), модуля расширения программного обеспечения Visual Studio .Net, с помощью которого Web-службы для .Net, построенные на основе технологий XML, преобразуются в службы Java. В результате их можно разместить на любом сервере приложений, поддерживающем Java.

Web-службы помогут наладить взаимодействие прикладных программ различных производителей через Internet.

Скажем, приложения управления отношениями с клиентами компании PeopleSoft могут автоматически обращаться к информации, хранящейся в базе данных Oracle. Еще одним примером Web-служб являются «электронные кошельки», позволяющие клиентам делать интерактивные покупки, не вводя при этом номер своей кредитной карты и другую важную информацию.

Web-службы, созданные при помощи средств разработки разных производителей, доступны для любого устройства, подключенного к Internet (независимо от того, под управлением какой операционной системы оно работает), однако в Microsoft проектируют свои Web-службы исключительно для собственных серверов. Соответствующее программное обеспечение включает в себя среду времени исполнения, поддерживаемую только Microsoft. Правда, корпорация уже направила на рассмотрение Европейской ассоциации производителей компьютерных систем (ECMA), занимающейся разработкой промышленных стандартов, отдельные компоненты своей среды.

«Одно из важных достоинств iNet заключается в том, что организации, выстраивающие свою информационную инфраструктуру на базе платформ J2EE и Windows, по-прежнему смогут создавать приложения ?в кодах Microsoft?, размещая их при этом на серверах с поддержкой Java, например, на компьютерах, которые работают под управлением программных средств конкурентов Microsoft — компаний BEA Systems, Sun Microsystems и IBM», — заявил директор Halcyon Дон Хси.

Операционные системы Linux и Mac OS X также совместимы с Java и способны поддерживать Web-службы, использующие iNet. Таким образом, компании получают более широкий выбор программного инструментария для построения Web-служб, базирующихся на .Net.

.Net-службу можно разместить только на сервере, работающем под управлением программного обеспечения Microsoft. Дело в том, что она построена на основе технологии CLI (Common Language Infrastructure) — центральном компоненте среды времени исполнения, обеспечивающей функционирование Web-служб. Виртуальная машина Java (Java Virtual Machine — JVM) необходима клиентской станции для выполнения приложений Java, а механизм CLI — для приложений Microsoft .Net.

ПО iNet занимает то же место, что и CLI. Компания разработала среду времени исполнения, благодаря которой .Net-служба, использующая данную технологию, может запускаться под управлением виртуальной машины Java. «Мы нашли способ обойтись без CLI», — пояснил Хси.

Осуществляется это следующим образом. Разработчик создает Web-службу .Net в среде Visual Studio .Net и с помощью компилятора преобразует ее в код MSIL (Microsoft Intermediate Language). Затем поставляемое Halcyon инструментальное средство IL-to-Java (Intermediate Language-to-Java) транслирует код MSIL в байт-код Java. В результате Web-служба, размещаемая в специальной среде времени исполнения Halcyon, может запускаться на виртуальной машине Java.

«У проекта Halcyon имеются определенные преимущества, — заметил ведущий аналитик компании Gartner Ефим Натис. — Однако неизвестно, удастся ли ему выдержать конкуренцию, ведь Microsoft продолжает совершенствовать архитектуру .Net Framework и интегрировать туда все новые и новые функции».

Другие разработчики также пытаются решить задачу переноса служб .Net на отличные от Windows платформы с использованием стандартов ECMA. Компания Ximian приступила к реализации проекта Mono, предусматривающего перенос CLI в операционную среду Linux и Unix. В результате разработчики получат возможность создавать службы .Net с использованием программных средств Linux.

При технической поддержке Corel корпорация Microsoft занялась подготовкой варианта CLI для FreeBSD. По словам представителей Microsoft, этот проект должен показать, что компоненты архитектуры .Net Framework можно «клонировать», опираясь на открытые стандарты. Разрабатываемая система очень похожа на Mono, однако распространение ее регулируется лицензией о порядке совместного использования кода Microsoft. А это в свою очередь означает, что исходный код доступен только в исследовательских целях и не может быть использован корпоративными заказчиками для разработки коммерческих приложений.