REST vs SOAP: leve ou contrato pesado?
REST é um estilo leve e orientado a recursos usando JSON sobre HTTP; SOAP é um protocolo rígido baseado em XML com contratos formais e padrões embutidos.
REST é flexível, amigável a JSON e dominante para APIs web e mobile, apoiando-se na semântica HTTP em vez de uma spec pesada. SOAP define um envelope XML rigoroso com contratos WSDL e padrões WS-* para segurança, transações e confiabilidade, ainda comum em enterprise, bancos e integrações legadas. REST favorece simplicidade e alcance; SOAP favorece contratos formais e recursos enterprise embutidos.
| REST | SOAP | |
|---|---|---|
| Payload | JSON (geralmente) | Envelope XML |
| Contrato | OpenAPI (opcional) | WSDL (obrigatório) |
| Padrões | Convenções HTTP | WS-* (segurança, etc.) |
| Tooling | Onipresente | Enterprise / legado |
| Melhor para | APIs web/mobile | Enterprise, integração legada |
Caso de uso e padrões
REST é o padrão para novas APIs web, mobile e públicas graças à simplicidade e ao ecossistema. SOAP persiste onde contratos formais, WS-Security, garantias transacionais ou integração com sistemas enterprise existentes são exigidos. Você raramente escolhe SOAP para greenfield, mas ainda o consome ao integrar serviços legados.
Em CI
Pipelines REST validam OpenAPI e rodam testes de contrato; pipelines SOAP validam contra o WSDL e geram clientes a partir dele. Ambos rodam em runners gerenciados, onde runners mais rápidos encurtam as etapas de codegen e validação de contrato.
O veredito
Novas APIs web, mobile e públicas: REST, pela simplicidade e alcance. Integrações enterprise que precisam de contratos WSDL e padrões WS-*, ou comunicação com sistemas legados: SOAP. SOAP raramente é uma escolha greenfield hoje, mas continua necessário para certa interoperabilidade enterprise e legada.