Web-службы вчера, сегодня, завтра

Алексей Федоров

Основы Web-служб

Основные стандарты Web-служб

Вместо заключения

 

Алексей Федоров — сотрудник отдела стратегических технологий российского представительства компании Microsoft (alexeif@microsoft.com).

За сравнительно недолгую историю своего существования Web-службы прошли путь от относительно простого механизма межплатформенного удаленного вызова процедур по протоколу HTTP до ядра новой архитектуры создания приложений — архитектуры, ориентированной на службы (Services Oriented Architecture, SOA).

Начав со стандартов, которые теперь принято относить к стандартам Web-служб первого поколения — SOAP (Simple Object Access Protocol), WSDL (Web Service Description Language), UDDI (Universal Description, Discovery and Integration Protocol), Web-службы пополнились и собственной архитектурой (Web Services Architecture, WSA) и обширным набором дополнительных стандартов и протоколов для решения таких задач, как гарантированная передача сообщений, обеспечение адресации, безопасность, передача вложенных данных и т.п. (краткое описание существующих сегодня стандартов см. в разделе «Основные стандарты Web-служб»).

Примитивные средства создания Web-служб превратились в мощные программные продукты, позволяющие визуально создавать и потреблять Web-службы, локально или удаленно управлять ими, выполнять мониторинг их активности и производительности.

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

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

Основы Web-служб

В основе Web-служб лежат несколько простых принципов. Возможные для вызова команды описываются на языке WSDL; непосредственная активизация команд происходит в виде посылки SOAP-сообщений по адресу, где располагается Web-служба (используется стандартный протокол HTTP); для поиска Web-служб существуют глобальные или локальные (внутренние) каталоги, поддерживающие стандартные службы обнаружения UDDI. Не вдаваясь в технические подробности, можно отметить, что все современные средства разработки ведущих производителей поддерживают создание Web-служб, а программные платформы (будь то серверные операционные системы или серверы приложений) обеспечивают выполнение Web-служб.

В Web-службах везде используется язык XML. Он служит, в частности, для описания сообщений, которыми могут обмениваться Web-службы и их потребители. SOAP-сообщение — это XML-документ, состоящий из трех базовых элементов: <Envelope>, <Header> и <Body>. Язык WSDL базируется на языке XML и позволяет создавать XML-документы, описывающие методы Web-служб, параметры методов, способы их вызова и т.п. Для того чтобы воспользоваться специализированными Web-службами в рамках механизмов обнаружения UDDI, следует составить SOAP-сообщения и интерпретировать возвращаемые XML-документы.

Жизненный цикл Web-службы можно условно разделить на три фазы: первая — программирование и публикация, вторая — поиск в каталоге, третья — потребление из клиентского приложения (рис. 1).

 

Рис. 1. Жизненный цикл Web-службы

Рис. 1. Жизненный цикл Web-службы

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

Некоторые примеры Web-служб представлены в табл. 1.

 

Таблица 1. Примеры Web-служб

Таблица 1. Примеры Web-служб

Следует отметить, что, возможно, самой важной особенностью Web-служб является их независимость от платформы. Это означает, что Web-служба и ее потребитель могут быть реализованы практически на любой программной платформе, причем как сама служба, так и ее потребители могут быть реализованы на разных платформах — минимальным требованием к потребителям является поддержка протокола HTTP и возможность программной обработки XML-документов.

По мере возрастания интереса к Web-службам появлялось все больше реализаций Web-служб для решения корпоративных задач; прежде всего Web-службы применялись для интеграции приложений, для обеспечения создания функциональных модулей в гетерогенных средах, для реализации уровней абстракции бизнес-логики от клиентских приложений и т.п.

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

В начало В начало

Основные стандарты Web-служб

В табл. 2 собрана информация об основных стандартах, связанных с Web-службами. Стандарты и протоколы сгруппированы по базовым функциональным группам — передача сообщений, безопасность, надежность, транзакции, метаданные и бизнес-процессы. Получить полное описание вышеприведенных спецификаций можно на сайте Microsoft по адресу http://msdn.microsoft.com/webservices/understanding/specs/default.aspx.

 

Рис. 2. Распределение стандартов Web-служб по уровням

Таблица 2. Распределение стандартов Web-служб по уровням

Таблица 2. Распределение стандартов Web-служб по уровням

Отметим, что различные компании по-разному обеспечивают поддержку стандартов в своих продуктах, средствах разработки и программных платформах. Например, компания Microsoft выпускает бесплатные программные компоненты под названием Web Services Enhancements, которые доступны для загрузки с Web-сайта компании, расположенного по адресу http://msdn.microsoft.com/webservices/downloads/default.aspx.

В начало В начало

Вместо заключения

Web-службы все активнее проникают в область, уже занятую объектно-ориентированными и компонентными технологиями, представляя собой альтернативу традиционным подходам к созданию корпоративных приложений. В ближайшие годы можно ожидать серьезных инвестиций в технологии, связанные с Web-службами, развертываемыми и потребляемыми внутри компаний (согласно исследованиям IDC, к 2008 году объем рынка Web-служб превысит 11 млрд. долл.).

К тому же следует ожидать дальнейшего развития отечественных Web-служб (как бесплатных, так и коммерческих) и появления комплекса других служб, связанных с данной технологией. Возможно, это произойдет в рамках проекта «Электронная Россия», а возможно — по инициативе некоторых крупных поставщиков услуг. Впрочем, каким образом это будет происходить, не так уж и важно — важно то, что Web-службы уже пришли в Россию, и технологии их создания и потребления готовы к использованию.

КомпьютерПресс 2'2005

Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует