servicios services restful entre differences diferencias diferencia architecture rest soap

architecture - services - web service soap rest difference



¿Guía para elegir entre servicios REST vs SOAP? (4)

¿Alguien tiene enlaces a documentación o guías para tomar la decisión entre REST vs. SOAP? Entiendo ambos, pero estoy buscando referencias sobre los puntos clave de decisión, por ejemplo, la seguridad, lo que puede hacer que se incline hacia uno u otro.


El primer golpe de Google parece bastante completo.

Creo que el problema aquí es que hay demasiados defensores de uno u otro, puede que sea mejor buscar en Google y manejar más las ideas de los profesionales y tomar su propia decisión.

Sé que suena un poco cojo, pero en última instancia, este tipo de decisiones de diseño recaen en el desarrollador / arquitecto que trabaja en él, y el 99% del tiempo, el dominio del problema será el factor decisivo (o al menos debería serlo), no una guía en la red.


El protocolo Simple Access Access Protocol (SOAP) estándar, un lenguaje XML que define una arquitectura de mensaje y formatos de mensaje, es utilizado por los servicios web y contiene una descripción de las operaciones. WSDL es un lenguaje basado en XML para describir servicios web y cómo acceder a ellos. se ejecutará en SMTP, HTTP, FTP, etc. Requiere soporte de middleware, mechanisam bien definido para definir servicios como WSDL + XSD, WS-Policy SOAP devolverá datos basados ​​en XML SOAP proporcionará estándares de seguridad y confiabilidad

Representational State Transfer (RESTful) servicios web. son servicios web de segunda generación. Los servicios web RESTful, se comunican a través de HTTP que los servicios basados ​​en SOAP y no requieren mensajes XML o definiciones de API de servicio WSDL. para REST no se requiere middleware, solo se necesita soporte HTTP. WADL Standard, REST puede devolver XML, texto plano, JSON, HTML, etc.

Es más fácil para muchos tipos de clientes consumir servicios web RESTful mientras que permite que el lado del servidor evolucione y se escale. Los clientes pueden optar por consumir algunos o todos los aspectos del servicio y mezclarlo con otros servicios basados ​​en la web.

REST uses standard HTTP so it is simplerto creating clients, developing APIs REST permits many different data formats like XML, plain text, JSON, HTML where as SOAP only permits XML. REST has better performance and scalability. Rest and can be cached and SOAP can''t Built-in error handling where SOAP has No error handling REST is particularly useful PDA and other mobile devices.

Los servicios REST son fáciles de integrar con los sitios web existentes.

SOAP tiene un conjunto de protocolos que proporcionan estándares de seguridad y confiabilidad, entre otras cosas, e interopera con otros clientes y servidores conformes a WS. Los servicios web SOAP (como JAX-WS) son útiles para manejar el procesamiento asincrónico y la invocación.

Para API compleja, SOAP será más útil.


Creo que tanto REST como SOAP se pueden usar para implementar funcionalidades similares, pero en general se debe usar SOAP cuando se necesita una característica particular de SOAP, y las ventajas de REST generalmente la convierten en la mejor opción. Sin embargo, tanto REST como SOAP a menudo se denominan "servicios web" y uno se usa a menudo en lugar del otro, pero son enfoques totalmente diferentes. REST es un estilo arquitectónico para crear aplicaciones cliente-servidor. SOAP es una especificación de protocolo para intercambiar datos entre dos puntos finales.

Estoy muy de acuerdo con + Rob Cooper en su publicación. Sí, hay tantos defensores. He enumerado la diferencia entre jabón y descanso .


Hay un buen diagrama de flujo que puede usar para decidir entre REST vs SOAP.

Enlace al diagrama de flujo: https://drive.google.com/file/d/0B3zMtAq1Rf-sdVFNdThvNmZWRGc/edit

Enlace al artículo: https://www.linkedin.com/pulse/20140818062318-7933571-soap-vs-rest-flowchart-to-determine-the-right-web-services-protocol-for-your-needs

Los otros dos factores que utilizo para tomar esta decisión son:

1) ¿Los clientes del Servicio necesitarán tipos de medios que no sean XML (por ejemplo, JSON)? Si es así, entonces use REST.

2) El cliente del Servicio siempre será una Aplicación / Servidor (p. Ej., No un cliente RIA o AJAX). Si no, esto se inclina hacia REST ya que es más fácil consumir servicios REST cuando se usa AJAX.