Чем REST отличается от SOAP?
- Где ещё используют SOAP?
REST — архитектурный стиль поверх HTTP: ресурсы, методы, обычно JSON, кэширование, простота. SOAP — протокол обмена XML-сообщениями со строгим контрактом WSDL, стандартами безопасности и транзакций (WS-*).
- SOAP жив в банках, госсистемах, страховании и интеграциях с крупными legacy-системами
- Внутри компании между сервисами сейчас чаще REST или gRPC
- В Java SOAP — Spring Web Services, JAX-WS; генерация клиентов из WSDL
А ещё gRPC — строгий контракт (protobuf) и скорость без тяжести SOAP
Подробно
REST: ресурсы адресуются URL, действия — методами HTTP, формат любой (обычно JSON), используются коды ответа и кэширование HTTP. Контракт — OpenAPI, но не обязателен. Просто вызвать из браузера и curl.
SOAP: конверт XML с заголовком и телом, отправляется обычно через HTTP POST на один адрес; операция определяется содержимым. Контракт — WSDL с XSD-схемами: клиенты генерируются автоматически. Стандарты WS-Security (подпись и шифрование сообщений), WS-ReliableMessaging, WS-AtomicTransaction. Минусы — многословность, сложность, слабая поддержка кэширования.
Где встречается SOAP: банковские и платёжные шлюзы, СМЭВ и госинтеграции, страхование, телеком, SAP и другие enterprise-системы. На собеседовании важно уметь сгенерировать клиент по WSDL (jaxws-maven-plugin, wsimport) и работать с подписью сообщений.
gRPC — современная альтернатива для внутренних вызовов: строгий контракт в protobuf, бинарный формат, HTTP/2, потоковая передача, генерация клиентов.
Что хотят услышать
- Стиль против протокола, JSON против XML.
- WSDL, WS-* стандарты.
- Где SOAP используется сейчас.
- gRPC как альтернатива.
Частые ошибки
- Считать SOAP полностью мёртвым — в интеграциях с банками и госсистемами он повсюду.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗SOAP легче и работает без схемы, а REST — строго типизированный протокол с WSDL
- ✓REST — архитектурный стиль над HTTP; SOAP — строгий XML-протокол с WSDL
- ✗Это одно и то же
- ✗REST работает только с XML
Что спросят дальше
- Что делает Spring HATEOAS?
- Когда SOAP всё ещё оправдан?
Разбор темы
- REST API: статусы, согласование и семантика
Ресурсы и HTTP-глаголы, статус-коды как контракт, content negotiation и message converters, идемпотентность и версионирование.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.