Web-служба - это набор связанных функций приложений, которые можно запускать программным образом через Internet. Компании могут динамически смешивать и сопоставлять Web-службы для выполнения сложных транзакций с минимальным объемом программирования. Web-службы позволяют покупателям и продавцам, расположенным в разных частях света, общаться, динамически устанавливать соединения и выполнять транзакции в режиме реального времени с минимальным вмешательством операторов.
Web-службы являются автономными модульными приложениями, которые можно опубликовать, найти и вызвать через Web.
Web-службы полностью автономны. Для работы с Web-службами не требуется установка какого бы то ни было программного обеспечения на стороне клиента. Требуется только браузер HTTP с поддержкой формата XML. На стороне клиента нужны Web-сервер и система выполнения сервлетов. Клиент и сервер могут работать на совершенно разных платформах. Таким образом, Web-службы представляют собой удобный и универсальный способ развертывания приложений, не требующий написания ни единой строчки кода.
Web-службы не нуждаются в описании. Для взаимодействия клиенту и серверу нужно знать только формат и содержание сообщений-запросов и сообщений-ответов. Описание формата находится в самих сообщениях, поэтому не требуются внешние хранилища метаданных и инструменты генерации кода.
Web-службы модульны. Простые Web-службы можно объединять в сложные системы либо с помощью средств управления потоками операций, либо просто путем вызова простых Web-служб из сложной.
Web-службы не зависят от платформы. Web-службы основаны на четком наборе открытых стандартов на базе XML, разработанных для поддержки стыкуемости между Web-службой и клиентом в различных платформах и средах языков программирования.
Web-службы могут быть чем угодно, например, обзорами спектаклей, прогнозами погоды, кредитными чеками, сведений о котировках акций, советами путешественникам или процессами бронирования авиабилетов. Все эти самосодержащие бизнес-службы являются приложениями, которые легко интегрировать с другими службами тех же или других компаний для создания полного бизнес-процесса. Такая стыкуемость позволяет бизнесам динамически публиковать, обнаруживать и связывать различные Web-службы через Internet.
Web-службы можно сгруппировать в следующие три категории:
Бизнес-информация. Бизнес распространяет сведения среди потребителей и прочих бизнесов. В таком случае бизнес использует Web-службы для расширения области. Примерами бизнес-информационных Web-служб являются новости, прогнозы погоды и котировки акций.
Бизнес-интеграция. Бизнес предоставляет временные бесплатные службы для клиентов. В таком случае бизнес становится частью глобальной сети поставщиков добавленной стоимости, используемых для коммерческих задач. Примерами бизнес-интеграции Web-служб являются электронные аукционы, системы резервации и проверки кредитов.
Экспорт бизнес-процессов. Бизнес отличается от конкурентов с помощью создания глобальной цепочки значений. В данном случае бизнес используется Web-службы для динамической интеграции своих процессов. Примером Web-служб экспортирования бизнес-процессов является взаимосвязь между различными компаниями для комбинирования производства, сборки, оптового распространения и розничных цен для определенного продукта.
Сетевой компонент в архитектуре Web-служб может играть одну или несколько основных ролей: поставщик служб, посредник служб и клиент служб.
Привязка подразумевает выполнение всех предварительных требований среды, необходимых для выполнения службы. Примерами предварительных требований среды являются защита, мониторинг транзакций и доступность HTTP. Взаимоотношения между этими ролями показаны на рисунке 1.
Рисунок 1. Роли и взаимоотношения служб.
Дополнительные сведения о Web-службах описаны на сайте www.ibm.com/developerworks/webservices