Веб-сервисы — один из способов достижения интероперабельности в распределенных приложениях, основанный на использовании в качестве промежуточного слоя (middleware) стандартные протоколы передачи данных (например, HTTP). Под сервисом подразумевается программная система с возможностью взаимодействия с другими программами через сеть, для которой заданы интерфейс и протокол сообщений для обмена данными. Благодаря относительной простоте реализации веб-сервисов по сравнению с другими распределенными архитектурами, они пользуются большой популярностью при разработке программных систем, состоящих из слабо связанных компонентов.
Выделяют два основных типа веб-сервисов в зависимости от используемых технологий:
- SOAP-сервисы, основанные на стандартах для веб-сервисов, разработанных международным консорциумом W3C. Этот вид сервисов более сложен в разработке и использовании, поэтому применяется в тех случаях, когда важно соблюдение стандартов и высокая степень формализации. Одна из основных областей применения SOAP-сервисов — коммерческие (enterprise) системы.
- REST-сервисы, использующие для передачи данных методы протокола HTTP (GET, PUT, POST и DELETE). В отличие от SOAP-сервисов, интерфейс REST-сервисов чаще всего определяется неформально; при передаче данных используются стандарты (де)сериализации XML, JSON, YAML и другие. Характерный вариант применения REST-сервисов — доступ к API в веб-приложениях; простота сервисов упрощает их интеграцию (web mashup).
Презентация: Лекция 26.