Введение
Веб-сервисы (Web Services) – это программные системы, предназначенные для поддержки машинного взаимодействия через сеть посредством стандартизированных протоколов и форматов данных. Они позволяют приложениям, написанным на разных языках и работающим на разных платформах, обмениваться данными и вызывать функции друг друга через HTTP/HTTPS.
Исторически термин «веб-сервисы» ассоциировался с SOAP-технологией (XML-сообщения, WSDL-описания). В современном употреблении он охватывает как SOAP, так и RESTful API – более лёгкий и популярный подход.
История и контекст
XML-RPC (1998) и SOAP (1999, разработан Microsoft, IBM) стали первыми стандартами веб-сервисов. В 2002–2003 годах W3C стандартизировал SOAP 1.2 и WSDL 2.0. Архитектура «WS-*» (WS-Security, WS-ReliableMessaging и др.) добавила корпоративные возможности, но и значительную сложность.
Параллельно Рой Филдинг в 2000 году описал REST в диссертации, и с 2005–2006 годов REST-подход начал вытеснять SOAP в большинстве публичных API. Amazon, Google, Twitter выпустили REST API, которые стали образцом для отрасли. Сегодня REST занимает 80%+ новых API, SOAP сохраняется в банкинге, страховании, B2B EDI и государственных системах.
Как это работает
SOAP веб-сервис:
- Клиент читает WSDL-документ (Web Services Description Language) для понимания доступных операций, типов данных и адресов.
- Формирует XML SOAP Envelope с Header и Body.
- Отправляет POST-запрос на SOAP endpoint.
- Сервер возвращает SOAP Response с результатом или SOAP Fault при ошибке.
RESTful веб-сервис:
- Клиент читает документацию (OpenAPI/Swagger) или изучает доступные ресурсы через URI.
- Выполняет HTTP-запрос (GET, POST, PUT, DELETE) к URI ресурса.
- Сервер возвращает JSON/XML-ответ с кодом статуса HTTP.
Где применяется
- Финансовые системы: SOAP-интеграции банков с платёжными системами, процессинговыми центрами.
- ERP/CRM интеграции: REST или SOAP API для обмена данными между бизнес-системами.
- Государственные порталы: СМЭВ (Система межведомственного электронного взаимодействия) – веб-сервисы между госорганами.
- Мобильные приложения: backend мобильных приложений реализован как REST API.
- Маркетплейсы: партнёрские API для передачи заказов, остатков, цен.
Преимущества и ограничения
SOAP преимущества: строгая типизация, встроенная поддержка безопасности (WS-Security), транзакционности (WS-AtomicTransaction), надёжной доставки. REST преимущества: простота, читаемость, кешируемость, лёгкость тестирования через браузер/Postman.
Ограничения: SOAP – избыточность XML-разметки, сложность инструментария. REST – отсутствие встроенного стандарта для типов данных и контрактов (OpenAPI восполняет частично), проблемы с over-fetching/under-fetching данных (решается GraphQL).
Связь с другими понятиями
Веб-сервисы являются практической реализацией SOA (Service-Oriented Architecture) и WOA (Web-Oriented Architecture). API Management обеспечивает управление жизненным циклом веб-сервисов. ESB (Enterprise Service Bus) – корпоративная интеграционная шина, маршрутизирующая SOAP-сообщения между системами. GraphQL – современная альтернатива REST для гибкой выборки данных. gRPC – высокопроизводительный RPC-фреймворк на base HTTP/2 для внутрисервисного взаимодействия. Микросервисная архитектура строится на REST/gRPC веб-сервисах.