ТЕХНИЧЕСКИЙ АНАЛИЗ
Новый протокол упрощает разработку Web-приложений
Спецификация SOAP наверняка придется по душе компаниям, которые ищут способ интегрировать системы закупок, наладить совместное использование бизнес-информации или принять участие в одном из деловых союзов, стимулирующих развитие электронной торговли. Недавно обновленный протокол должен проложить для них широкую дорогу к реализации уже созданных технологий.
Простой протокол доступа к объектам SOAP (Simple Object Access Protocol) описывает стандарт удаленного вызова процедур на основе языка XML (Extensible Markup Language - расширяемый язык разметки). Совместное детище компаний Microsoft, DevelopMentor, UserLand Software, IBM и Lotus Development призвано предельно упростить разработку межъязыковых приложений и средств интеграции бизнеса.
SOAP обеспечивает функциональную совместимость XML
Главным отличием SOAP 1.1 от начальной версии стал переход с XML-Data корпорации Microsoft на XML Schema. К тому же в новом варианте спецификация перестала зависеть от транспортных протоколов. Для работы SOAP 1.0 требовался протокол НТТР, тогда как для SOAP 1.1 разновидность транспорта значения не имеет: для пересылки сообщений можно воспользоваться электронной почтой или указателями на очереди сообщений (message queuing links).
В мае консорциуму World Wide Web Consortium было предложено рассмотреть SOAP 1.1 в качестве потенциального стандарта. Конечно, прежде чем эта спецификация будет официально рекомендована к применению, пройдут долгие месяцы, однако Тестовый центр eWeek Labs советует познакомиться с ней на практике уже сейчас. Новая технология поможет избавиться от сложности нынешних методов межмашинной связи, особенно там, где системы находятся на разных концах ГВС или Интернета (механизм пересылки сообщения SOAP показан на схеме).
К сожалению, простота и удобство SOAP много теряют из-за неэффективного формата текстовых сообщений и ограниченного набора функций. Предложенная спецификация не поддерживает обмена транзакциями, не предусмотрены в ней функции безопасности и гарантированной доставки. Впрочем, в средах, где уже обеспечены такие функции, SOAP покажет себя с лучшей стороны - нужно только, чтобы на обоих концах подключения использовался один и тот же продукт для организации очередей сообщений.
На SOAP стоит обратить внимание и тем компаниям, которые используют технологии удаленного вызова процедур наподобие CORBA (Common Object Request Broker Architecture - общая архитектура брокера запросов к объектам) группы Object Management Group, DCOM (Distributed Component Object Model - распределенная модель составных объектов) корпорации Microsoft или Java RMI (Remote Method Invocation - вызов удаленных методов).
Протокол намного проще других технологий для организации взаимодействия программ, он помогает решить сложнейшую проблему распределенного программирования в масштабах всей организации. Скажем, новая спецификация позволяет установить связь даже в тех случаях, когда на одном конце подключения используется технология CORBA, а на другом - DCOM. Да и для распространенной в Интернете модели программирования без сохранения состояний объектов (stateless) эта спецификация подходит гораздо лучше, чем CORBA или DCOM.
За несколько последних месяцев SOAP вышел на уровень полноценного стандарта, избавившись от некоторых чисто майкрософтовских черт, которые раньше заставляли весьма настороженно относиться к этой разработке.
Первоначальная версия SOAP 1.1, представленная в Целевую группу технической поддержки Интернета IETF в ноябре прошлого года, имела в своей основе технологию XML-Data, предложенную корпорацией Microsoft в январе 1998 г. Однако в процессе рассмотрения стандартов в консорциуме W3C базовая структура была заменена на XML Schema.
Компании, уже взявшие на вооружение SOAP 1.0, оказались привязанными к нестандартной технологии Microsoft. Впрочем, ряд перспективных продуктов этой корпорации, включая BizTalk Server и SQL Server 7.0, также опирается на XML-Data. После появления начальной версии SOAP, созданной, как уже отмечалось, объединенными усилиями Microsoft, DevelopMentor и UserLand, к разработке продукта подключились IBM и Lotus. В результате спецификация подверглась существенной переделке и стала лучше подходить для интеграции разнородных сред.
“Целью нашего сотрудничества с Microsoft в области SOAP 1.1 было создание протокола, совместимого с продуктами разных производителей”, - отмечает Боб Сьютор, руководитель программы XML-технологий корпорации IBM.
Но пока SOAP остается делом будущего, хотя его версия 1.1 уже сейчас может найти применение для ряда приложений. Такого же мнения придерживается и Сьютор.
“SOAP 1.1 позволяет создавать приложения хоть сегодня, - говорит он. - Мир так устроен, что утверждение стандартов идет параллельно с их практической реализацией... Приходится иметь дело с разными версиями. Протокол SOAP 1.1, отличающийся хорошей стабильностью, в целом удался. Конечно, предстоит решить немало проблем, но технология вполне жизнеспособна, и мы не собираемся дожидаться ее официального одобрения”.