Даже самые простые примеры интеграции с помощью Web-служб демонстрируют весьма существенную экономию средств, появляется возможность в самые короткие сроки окупить затраты на разработку
Марк Колан: «Web-службы предназначены для того, чтобы дать возможность приложениям взаимодействовать друг с другом. Web-службы — это, прежде всего, технология обмена сообщениями на базе XML»

Марк Колан — ведущий специалист компании IBM по технологиям Web-служб и XML, активный участник процессов стандартизации. Должность Колана — IBM Senior e-Business Evangelist — указывает на его особый статус в корпорации, хотя адекватный перевод для нее трудно подыскать. На прошедшем в Москве форуме IBM eBusiness Forum Марк Колан представил целую серию докладов по различным аспектам разработки и применения Web-служб. В промежутке между выступлениями о современном состоянии и перспективах развития этих технологий с ним побеседовала редактор журнала «Открытые системы» Наталья Дубова.

Прежде всего, хотелось бы услышать от «евангелиста» Web-служб определение этой технологии. И чем вы объясняете тот ажиотаж, который возник в последнее время по отношению к Web-службам?

Web-службы предназначены для того, чтобы дать возможность приложениям взаимодействовать друг с другом. Web-службы — это, прежде всего, технология обмена сообщениями на базе XML.

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

Стандартизацией в области Web-служб занимается несколько организаций — W3C, OASIS, WS-I.org. Как разграничиваются области их интересов, и каково участие IBM в их деятельности?

Консорциум W3C ведет работы над базовыми технологиями Web-служб — XML, SOAP, WSDL. Когда на повестку дня встала необходимость стандартизации в области безопасности и поддержки бизнес-процессов, за это взялась независимая организация OASIS (Organization for the Achievement of Srtuctured Information Standards), в которой к тому времени начались работы по этим направлениям. В результате W3С занимается базовыми стандартами, а OASIS — более продвинутыми.

WS-I.org (Web Services Interoperability Organization) стандартами не занимается. Эта группа работает над тем, чтобы обеспечить взаимодействие между решениями разных поставщиков на базе стандартов. В частности, только что выпущенный WS-I.org документ Basic Profile 1.0. описывает, как добиться совместимости для разных спецификаций.

Если говорить об участии IBM, то я считаю, что наша компания вносит очень весомый вклад в процессы стандартизации. Мы занимались XML и связанными с ним технологиями. IBM готовит технологические предложения по развитию SOAP и WSDL. Услугами наших представителей пользуются в организациях по стандартизации, например, работы по спецификациям SOAP возглавляет специалист IBM. Кроме того IBM является одним из учредителей группы WS-I.org. Последнее время в области стандартов Web-служб мы тесно сотрудничаем с Microsoft. Но важно понимать, что такие компании, как IBM и Microsoft, сами стандарты не разрабатывают. Мы только предлагаем спецификации, рассмотрение которых инициирует процесс стандартизации в независимых организациях, и помогаем индустрии находить консенсус в работе над стандартами. Стоит обратить внимание на тот факт, что в ходе стандартизации в области Web-служб наблюдается совершенно беспрецедентное согласие между конкурирующими фирмами. Такое единодушие в представлении о том, какими должны быть технологии интеграции, является наиболее важной причиной успеха Web-служб.

Но не мешают ли распространению Web-cлужб принципиальные различия между подходами к их реализации на платформах .Net и J2EE?

Между этими платформами много серьезных различий. Java — язык программирования, который работает в любой операционной системе, на любом компьютере, от карманного до мэйнфрейма. J2EE — открытый стандарт, который поддерживают множество поставщиков. Microsoft использует для реализации Web-служб свои частные языки, такие как С#, Visual Basic .Net. Среду программирования .Net поддерживает только одна компания, и, выбрав ее, вы привязываете себя к платформе Wintel. Если же вы программируете на Java, то сможете в любой момент сменить платформу разработки. J2ЕЕ более зрелая и проработанная платформа, чем .Net. В некоторых случаях при разработке приложений для .Net до сих пор приходится сочетать модель .Net с объектной моделью СОМ, в то время как Java предоставляет единую объектную модель для работы в любых условиях, и для создания Web-cлужб не приходится переучивать разработчиков. По существу, сходство этих двух платформ проявляется только в одном — в поддержке стандартов Web-служб и возможности взаимодействия на их основе. Несмотря на колоссальные различия в подходах к реализации, мы смогли достигнуть очень высокой степени интероперабельности. IBM тесно сотрудничает с Microsoft, так как у нас более чем достаточно клиентов, которые хотят использовать технологии обеих компаний. Например, многие заказчики считают сервер приложений WebSphere Application Server наиболее зрелой платформой для развертывания Web-служб, но предпочитают реализовывать клиентские приложения в среде .Net.

В чем назначение спецификации WS-I.org Basic Profile 1.0, разработкой которой вы занимались?

Окончательный вариант спецификации Basic Profile 1.0 был опубликован в августе. Это документ, который описывает, как достичь взаимодействия на базовом уровне соединений между Web-cлужбами: перечисляются названия и номера версий спецификаций, которые должны использоваться, указываются несовместимые варианты, предоставляется множество другой детальной информации. IBM обеспечивает поддержку Basic Profile 1.0 в сервере приложений WebSphere Application Server и в среде разработки WebSphere Studio. Так, например, специальные механизмы предупреждения оповестят разработчика о том, что он предпринимает несовместимые с Basic Profile действия. Для чего нужна такая спецификация? Если производитель заявляет о поддержке Basic Profile, как это уже делает IBM, то можно гарантировать возможность взаимодействия его продукта с системами других поставщиков, которые также обеспечивают совместимость. WS-I.org поддерживается многими компаниями, включая Microsoft, Oracle, Sun Microsystems, и я думаю, что у них появятся продукты, соответствующие Basic Profile.

Какова роль Web-служб в реализации провозглашенной IBM стратегии вычислений по требованию?

Web-службы — это технология интеграции для модели вычислений по требованию. Две другие ключевые составляющие этой стратегии относятся к сфере управления системами. Во-первых, это grid. Мы проводим здесь аналогию с работой электросети, где существует пул ресурсов, из которого потребитель получает электричество в нужном количестве. Мы хотим предоставить компаниям возможность получать определенное количество вычислительных мощностей для обеспечения своих типовых потребностей, а не ожидаемой пиковой нагрузки. Если же вы вышли на пиковые показатели, технологии grid позволят приобрести дополнительные мощности. Это дешевле, чем постоянно поддерживать достаточное количество серверов для удовлетворения своих максимальных потребностей. Кроме того, grid позволяет оптимизировать использование внутренних ресурсов компании. Например, системы разработчиков могут применяться для программного обеспечения промежуточного слоя, когда рабочий день их основных пользователей закончен. Для реализации всех этих задач необходимо взаимодействие между компьютерами, поэтому для создания grid используются Web-службы.

Вторая составляющая стратегии вычислений по требованию — самоуправляемые (autonomic) вычисления. Это название заимствовано из принципов функционирования человеческого организма. Мы не думаем о том, что должны дышать, потому что наш организм автоматически делает это. И если мы заболеваем, он сам включает свои защитные механизмы. Мы хотим применить эти идеи к работе компьютерных систем. Тем самым мы движемся к тому, чтобы сократить, а в дальнейшем полностью исключить вмешательство человека в процесс поддержания системы в работоспособном состоянии.

Эти две концепции управления в совокупности с интеграционными возможностями Web-cлужб обеспечивают большую гибкость и доступность систем.

Как реализована поддержка Web-служб в продуктах IBM?

Большинство наших программных продуктов промежуточного уровня поддерживают Web-службы — WebSphere Application Server, среда разработки WebSphere Studio, средства совместной работы семейства Lotus. Возможен доступ к DB2 Universal Database с помощью запросов Web-служб. В новом продукте WebSphere Portal Server реализована персонализация доступа к информации на базе Web-служб. В системе WebSphere Business Integration на основе Web-служб определяются принципы моделирования бизнес-процессов. Хочу подчеркнуть, что все наши продукты работают на разных платформах, в том числе Windows, Linux и т. д., в то время как другие компании поддерживают не более одной-двух платформ. Для grid и автономных вычислений у нас пока нет конкретных реализаций, но мы работаем в этом направлении и рассчитываем предоставить свои предложения в ближайшее время.

Поясните, пожалуйста, какова роль Web-служб в интеграции бизнес-процессов? Ведутся ли какие-либо работы по стандартизации в этой области?

Около двух лет назад IBM и Microsoft разработали свои технологии интеграции бизнес-процессов, друг с другом несовместимые. Мы решили объединить усилия в этой области, взяв лучшее из обеих разработок. В результате появилась новая спецификация под названием Business Process Execution Language (BPEL), опубликованная в августе 2002 года компаниями Microsoft, IBM и BEA Systems. В апреле этого года завершен пересмотр этой спецификации с учетом тех откликов, которые появились на нее в индустрии, и в OASIS образована группа по стандартизации BPEL. Конечно, мы участвуем в работе этой группы, более того, наш специалист является ее председателем.

Моделирование бизнес-процессов на основе Web-служб мне кажется наиболее интересным направлением в развитии данной технологии. Сегодня разработчики используют для решения этой задачи традиционные языки программирования, Java или C#, но такой подход не отличается большой гибкостью, поскольку для того, чтобы отразить изменения в способах ведения бизнеса, приходится менять код. Язык BPEL использует декларативный подход, который позволяет определить, кто является партнером, как распределяются роли и ответственности между участниками бизнес-процессов и т. д., а также визуально моделировать этапы процесса. В результате будет гораздо проще вносить все модификации, отражающие изменения в ведении бизнеса. Мне эта идея представляется весьма интересной, потому что появится возможность моделировать множество бизнес-транзакций между партнерами и строить масштабные сети партнерских связей. Делать это в рамках традиционного программирования очень сложно.

Пока ни IBM, ни один другой разработчик программного обеспечения промежуточного слоя не выпускали продуктов на основе BPEL — это еще совсем новая технология. У нас есть две системы, принципы работы которых аналогичны принципам BPEL: WebSphere Enterprise Application Server и WebSphere Business Integration. В следующих версиях этих продуктов будет обеспечена поддержка BPEL и предоставлены средства миграции на BPEL.

Одна из новых концепций, привлекающих сегодня к себе большое внимание — это архитектура, ориентированная на сервисы (Service Oriented Architecture, SOA). Насколько эта концепция связана с технологией Web-служб и как в IBM планируется ее реализовывать?

Концепция архитектуры, ориентированной на сервисы, предлагает по сути то же самое, что мы сейчас можем делать при помощи Web-служб. Например, Microsoft реализует свой вариант SOA, обеспечивая поддержку Web-служб в инфраструктуре .Net. Web-службы — технология для коммуникаций между компаниями. Но и организация внутрикорпоративных связей на базе интерфейса SOAР может оказаться оптимальной. Поэтому подход IBM к реализации SOA подразумевает использование протокола SOAP. Однако внутри организации существуют другие механизмы помимо SOAP, которые позволяют приложениям взаимодействовать друг с другом, например, вызовы на Java между программами на одной системе. Поэтому мы в IBM придерживаемся более гибкого подхода к SOA как к архитектуре, которая обеспечивает доступ к сервисам разными способами, позволяя в каждом конкретном случае выбрать оптимальный механизм взаимодействия между приложениями.

Можно ли сейчас говорить о том, что Web-службы используются для межкорпоративного взаимодействия? Или остаются проблемы безопасности, незрелости стандартов и т. д.?

Стандартизация SOAP обеспечит возможность соединения между собой слабосвязанных приложений, независимо от платформы их реализации. Это оптимальный вариант для межкорпоративного взаимодействия. Наши клиенты, использующие Web-службы, делятся на две категории. Для первой важно повышение эффективности и гибкости межсоединений внутри организации. Но все больше таких компаний, которые на основе Web-служб организуют взаимодействие со своими бизнес-партнерами. Сейчас уже есть возможность обеспечить адекватный уровень безопасности для Web-служб, но критическое значение приобретает стандартизация требований безопасности. IBM совместно с Microsoft и VeriSign работает над созданием стандартов безопасности для Web-служб: спецификация WS-Security близка к тому, чтобы быть признанной OASIS. Уже сегодня IBM обеспечивает поддержку требуемого уровня безопасности в WebSphere Applicaion Server и WebSphere Studio. Но когда у нас будут официальные стандарты безопасности, появится возможность реализовать защищенный электронный бизнес на базе ПО разных компаний.