379 votos

El JABÓN o el RESTO de Servicios Web?

Es RESTO de un mejor enfoque de la Web, Servicios o JABÓN? O son herramientas diferentes para problemas diferentes? O es una cuestión de matices, es decir, es ligeramente mejor en ciertas arenas de otro, etc.?

Recompensa-Editar:

Ahora, casi tres años más tarde, me gustaría pedir a esta pregunta de nuevo - el ofrecimiento de una recompensa para fomentar una exhaustiva respuesta. Me gustaría apreciar especialmente la información acerca de estos conceptos y su relación con el PHP-universo, y también moderno high-end de aplicaciones web.

562voto

mdhughes Puntos 3805

He construido una de las primeras JABÓN servidores, incluyendo la generación de código y generación de WSDL, a partir de la especificación original, ya que estaba siendo desarrollado, cuando yo estaba trabajando en Hewlett-Packard. Yo NO se recomienda el uso de JABÓN para nada.

El acrónimo de "SOAP" es una mentira. No es Sencillo, no es orientado a Objetos, no define las reglas de Acceso. Es, sin duda, un Protocolo. Es Don Box peor spec nunca, y eso es toda una hazaña, ya que él es el hombre que perpetraron "COM".

No hay nada útil en el JABÓN que no se puede hacer con DESCANSO para el transporte, y JSON, XML o incluso texto sin formato para la representación de datos. Para la seguridad de transporte, se puede utilizar https. Para la autentificación, autentificación básica. Para las sesiones, no hay galletas. El RESTO versión será más simple, más claro, correr más rápido y use menos ancho de banda.

XML-RPC define claramente la petición, respuesta, y de error de los protocolos, y hay buenas bibliotecas para la mayoría de los idiomas. Sin embargo, XML es más pesado que usted necesita para muchas tareas.

198voto

Will Hartung Puntos 57465

El DESCANSO es una arquitectura, SOAP es un protocolo.

Ese es el primer problema.

Usted puede enviar sobres de JABÓN en un RESTO de la aplicación.

JABÓN en sí es bastante básico y simple, es el WSS-* normas en la parte superior de lo que lo hacen muy complejo.

Si los consumidores son otras de las aplicaciones y otros servidores, hay un montón de apoyo para el protocolo SOAP hoy en día, y los fundamentos del movimiento de datos es esencialmente un clic del ratón en Ide modernos.

Si los consumidores son más propensos a ser RIAs o Ajax clientes, usted probablemente va a querer algo más simple que con el JABÓN, y más nativo para el cliente (en particular, JSON).

JSON paquetes enviados a través de HTTP, no es necesariamente un RESTO de la arquitectura, es sólo mensajes a las direcciones Url. Todo perfectamente factible, pero no son los componentes clave para el RESTO idioma. Es fácil confundir los dos, sin embargo. Pero sólo porque usted está hablando de las peticiones HTTP, no necesariamente significa que usted tiene una arquitectura REST. Usted puede tener un DESCANSO de la aplicación con el HTTP no en todos (la mente, esto es raro).

Por lo tanto, si usted tiene los servidores y a los consumidores que están "cómodos" con JABÓN, JABÓN y WSS pila puede servir bien. Si usted está haciendo algo más ad hoc cosas y quieren una mejor interrelación con los navegadores de la web, a continuación, algunos de los más ligeros del protocolo HTTP puede funcionar bien también.

102voto

toluju Puntos 2555

El DESCANSO es fundamental un paradigma diferente de JABÓN. Una buena lectura de DESCANSO se puede encontrar aquí: Cómo me explicó RESTO de mi esposa.

Si usted no tiene tiempo para leer, aquí está la versión corta: el RESTO es un poco de un cambio de paradigma que se centra en "sustantivos", y limitar el número de "verbos" se puede aplicar a los sustantivos. El único permitido que los verbos son "get", "poner", "post" y "eliminar". Esto difiere de JABÓN donde muchos verbos diferentes puede ser aplicado a muchos nombres diferentes (es decir. muchas funciones diferentes).

Para el RESTO, los cuatro verbos del mapa a las correspondientes peticiones HTTP, mientras que los sustantivos son identificados por direcciones Url. Esto hace que la gestión estatal mucho más transparente que en el JABÓN, en donde a menudo no está claro qué estado se encuentra en el servidor y lo que es en el cliente.

En la práctica, aunque la mayoría de esta se cae, y el RESTO, por lo general se refiere sólo a la simple peticiones HTTP que devuelven los resultados en JSON, mientras que el JABÓN es una de las más complejas de la API que se comunica por el paso de XML alrededor. Ambos tienen sus ventajas y desventajas, pero he encontrado que en mi experiencia RESTO es generalmente la mejor opción porque rara vez si alguna vez necesita toda la funcionalidad que usted obtiene de JABÓN.

44voto

Mark Cidade Puntos 53945

JABÓN en la actualidad tiene la ventaja de mejores herramientas donde se generan una gran cantidad de código reutilizable para el servicio de la capa, así como la generación de clientes, desde cualquier WSDL.

El DESCANSO es más simple, puede ser más fácil de mantener como resultado, se encuentra en el corazón de la arquitectura de la Web, permite un mejor protocolo de visibilidad, y ha sido probada a escala en el tamaño de la WWW en sí. Algunos marcos de ahí ayudarle a construir RESTO de servicios, como Ruby on Rails, y algunos incluso ayudar con la escritura de los clientes, como ADO.NET los Servicios de Datos. Pero para la mayor parte, herramienta de apoyo es insuficiente.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X