No puedes comparar REST y SOAP. REST es un estilo arquitectónico mientras que SOAP es un protocolo.
Desafortunadamente, REST se convirtió en coloquial hablado de un sinónimo para el servicio HTTP RESTful, lo que significa una realización de la arquitectura de estilo REST con HTTP como protocolo (de aplicación).
REST se basa en los siguientes principios (restricciones y elementos) (entre paréntesis, la realización en RESTful HTTP) [1] .
- Sin estado (HTTP es un protocolo sin estado)
- Recurso (identificado por URI)
- Interfaz uniforme (métodos HTTP)
- Representación (MIME-TYPE)
- HATEOS (Hipervínculos)
- Caché (HTTP Cache)
En el otro lado, mucha gente quiere decir SOAP un servicio web basado en WSDL y SOAP que forman parte de la arquitectura del servicio web W3C [2] .
- SOAP se utiliza como protocolo para intercambiar información (básicamente, nombre del método, parámetros, valores de retorno, tipos de datos, ...).
- WSDL es un lenguaje de definición de interfaz para describir el servicio web.
¿Cuál es el significado actual de SOAP *?
SOAP es un estándar de W3C y se usa como formato de intercambio de información en los servicios web de W3C. Esos servicios web fueron, especialmente durante la exageración de SOA (arquitecturas orientadas a servicios) alrededor de 2008 (+ - 3 años), y (desafortunadamente) aún se implementan principalmente en aplicaciones empresariales.
Esto tiene varias razones. En aquel entonces, RESTful HTTP no era muy conocido y se entendía mal. Desafortunadamente, todavía se malinterpreta, eche un vistazo a las otras respuestas
„[...] REST es mucho más limitado que SOAP [...]."
„El propósito principal de REST es representar los recursos en Internet [...].“
Además, SOAP (y WSDL) son parte de la pila de protocolos del servicio web de W3C que proporciona aún más estándares para implementar un servicio web.
¿Las personas siguen desarrollando nuevas API basadas en SOAP, o es principalmente una
legado ahora?
Así que sí, todavía hay y habrá también en futuros sistemas que usen SOAP (al menos en sistemas empresariales, principalmente detrás de las puertas). Pero la mayoría está tratando de hacer algún tipo de "REST" en la actualidad.
¿Puede alguien corregirme si me equivoco con esta diferencia?
entre SOAP y REST?
Decir que REST es una arquitectura sin estado más flexible para la transferencia de datos no es una buena explicación. El REST de habla simple es un estilo de arquitectura con restricciones y elementos específicos. Mientras que SOAP es un protocolo de intercambio de información.
Como ya escribí no puedes compararlos. Pero puede comparar un servicio web HTTP RESTful con un servicio web SOAP / WSDL.