Подход, реализуемый в технологии Indigo, должен быть принят в качестве стратегического направления развития стандартов Web-служб
Джеймс Кобайлас — старший аналитик консалтинговой компании Burton Group. Электронную почту ему можно направлять по адресу jkobielus@ burtongroup.com

Все-таки самая интересная, на мой взгляд, новость, озвученная Microsoft в ходе конференции профессиональных разработчиков Professional Developers Conference, касалась вовсе не ОС следующего поколения, известной под кодовым названием Longhorn. Многих, в том числе и меня, удивило другое, а именно — намерение корпорации сместить акценты в своих перспективных разработках. Две технологические платформы, на которые до недавнего времени приходилась львиная доля усилий разработчиков из Microsoft, — я говорю о .Net и Web-службах — теперь не то чтобы отходят на второй план, но, безусловно, теряют свои абсолютные приоритеты.

Нет, конечно, я не забываю о том, что в Редмонде не отказываются полностью ни от .Net Framework, ни от Web-служб. То и другое по-прежнему важно для Microsoft как с позиций обеспечения интероперабельности предлагаемых решений, так и с точки зрения инструментальных средств разработки и хостинга приложений. Предполагается также, что наличие среды исполнения .Net Common Language Runtime (CLR) и поддержка растущего набора стандартов Web-служб станут одними из важнейших особенностей будущих версий Longhorn для серверов и рабочих станций.

Но речь идет о том, что крупнейшая компания в индустрии ПО дистанцируется от .Net и Web-служб как самостоятельных технологических платформ, планируя сделать их составными частями более общей архитектуры, которую уже ассоциируют с Longhorn. В эту «суперархитектуру», которая называется WinFX, включены также новые API и компонентная модель, лежащая в основе новой ОС. При этом WinFX, как и .Net, будет поддерживаться и предыдущими версиями Windows при помощи компонентов, которые можно будет загрузить через Internet.

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

При работе с Indigo основным (но не единственным) методом интеграции приложений станут Web-службы. Indigo будет обеспечивать функционирование всех основных стандартов и протоколов Web-служб — XML, SOAP, WSDL, UDDI, а также всего того, что разрабатывается под эгидой организации WS-I. Кроме того, Indigo обеспечит взаимодействие между старыми программами для Windows и новыми приложениями WinFX.

Для обеспечения взаимодействия Web-служб с другими подходами к реализации программного обеспечения промежуточного слоя в Indigo используется технология SOA (Service-Oriented Architectures). Вообще SOA — это любая интероперабельная среда, которая дает возможность автономным приложениям предоставлять интерфейсы для взаимодействия через стандартные сервисы. В свою очередь эти сервисы в модели SOA становятся доступными через совместно используемые реестры, а собственно взаимодействие осуществляется посредством обмена сообщениями, содержащими данные в согласованных форматах представления (например, SOAP или XML). Предполагается, что Indigo будет использовать базовые стандарты Web-служб для организации с помощью технологии SOA взаимодействия различных видов ПО промежуточного слоя, выполненных на основе как Web-служб, так и других платформ.

Главной особенностью архитектуры Indigo, насколько мы можем судить об этом сейчас, является ее гибкость. Indigo будет поддерживать нечетко связанные Web-службы и взаимодействие компонентов приложений через брокеры сообщений. Кроме того, эта технология сможет обеспечивать взаимодействие тесно связанных распределенных объектов, что обычно считалось прерогативой технологий DCOM, .Net Remoting и других решений на основе протоколов объектных брокеров.

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

Очевидно, что Indigo, прежде всего, является инициативой Microsoft, пытающейся предложить собственное программное обеспечение промежуточного слоя в качестве некоего стандарта де-факто. Однако, предлагая Indigo, корпорация фактически помогает индустрии в целом обойти существующий стек стандартов Web-служб. Собственно, основным разработчиком этого набора стандартных решений также являлась Microsoft. Теперь в Редмонде осознали необходимость его дополнения тесно связанными, синхронизированными методами объектных брокеров, чтобы обеспечить поддержку более широкого спектра интеграционных схем.

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