usar tipos servicios servicio services saber otro ejemplos cuando como java soap rest

tipos - Principales diferencias entre los servicios web SOAP y RESTful en java



web service (11)

Esta pregunta ya tiene una respuesta aquí:

Pregunta de seguimiento a este post :

Por ahora tengo una pequeña idea sobre las diferencias entre SOAP y los servicios RESTful.

Mi pregunta es cuándo debo usar SOAP y cuándo debo usar RESTful; ¿Cuál es "mejor" cuando se trata de rendimiento / velocidad o manejo de solicitudes?

Estoy implementando por primera vez en RESTful (java) y quiero saber más al respecto; He tratado con jabón antes.


Servicios web REST vs SOAP

Estoy viendo que muchos de los nuevos servicios web se implementan utilizando una arquitectura de estilo REST en estos días en lugar de una SOAP. Retrocedamos un segundo y expliquemos qué es REST.

¿Qué es un servicio web REST?

El acrónimo REST significa Representational State Transfer, esto significa básicamente que cada URL única es una representación de algún objeto. Puede obtener el contenido de ese objeto utilizando un GET HTTP. Para eliminarlo, puede utilizar un POST, PUT o DELETE para modificar el objeto (en la práctica, la mayoría de los servicios usan un POST para esto).

¿Quién está usando REST?

Todos los servicios web de Yahoo usan REST, incluidos Flickr, la API de del.icio.us, pubsub, bloglines, technorati, y tanto eBay como Amazon tienen servicios web tanto para REST como para SOAP.

¿Quién está usando jabón?

Google parece ser consistente en la implementación de sus servicios web para usar SOAP, con la excepción de Blogger, que usa XML-RPC. También encontrará servicios web SOAP en muchos programas empresariales.

REST vs SOAP

Como te habrás dado cuenta, las compañías que mencioné que están usando REST api no han existido por mucho tiempo, y sus Apis salieron este año en su mayoría. Por lo tanto, REST es definitivamente la forma moderna de crear un servicio web, si crear servicios web podría ser moderno (seamos sinceros, usa jabón para lavar y descansa cuando está cansado). Las principales ventajas de los servicios web REST son:

Ligero: no es un montón de marcado xml adicional Resultados legibles por humanos Fácil de construir: no se requieren kits de herramientas SOAP también tiene algunas ventajas:

Fácil de consumir: a veces rígido. La verificación de tipo se adhiere a un contrato. Herramientas de desarrollo Para consumir servicios web, a veces es más fácil hacerlo. Por ejemplo, el servicio web de AdWords de Google es realmente difícil de consumir (en cualquier caso, en CF), utiliza encabezados SOAP y una serie de otras cosas que lo hacen un poco difícil. Al contrario, el servicio web REST de Amazon a veces puede ser difícil de analizar porque puede estar altamente anidado, y el esquema de resultados puede variar bastante en función de lo que busque.

Cualquiera que sea la arquitectura que elija, asegúrese de que los desarrolladores puedan acceder a ella fácilmente y estén bien documentados.

Freitag, P. (2005). "REST vs servicios web SOAP". Obtenido de http://www.petefreitag.com/item/431.cfm el 13 de junio de 2010


  1. REST no tiene una definición de interfaz WSDL [Lenguaje de descripción web].

  2. REST es sobre HTTP, pero SOAP puede ser sobre cualquier protocolo de transporte como HTTP, FTP, SMTP, JMS, etc.


Descanso VS SOAP

JABÓN:

► SOAP es un protocolo simple de acceso a objetos que se ejecuta en TCP / UDP / SMTP.
► Mensajes de respuesta de solicitud de lectura y escritura SOAP en formato XML.
► SOAP utiliza la interfaz para definir los servicios.
► SOAP es más seguro ya que tiene su propia seguridad y estándares bien definidos.
► SOAP sigue el estilo de RPC y documento para definir los servicios web.
► SOAP usa SOAP-UI como herramientas de cliente para pruebas.

DESCANSO

► REST es una transferencia de estado representacional que utiliza protocolos HTTP subyacentes.
► REST es apátrida.
► REST es un estilo arquitectónico que se utiliza para describir y definir servicios web.
► REST puede leer y escribir mensajes de respuesta de solicitud en JSON / XML / Plain HTML.
► REST usa URI para cada recurso que se usa en el servicio web. Un recurso puede ser un método de texto de imagen, etc.
► REST usa un conjunto de VERB como HTTP GET, POST, PUT, DELETE.
► REST es fácil de desarrollar y de administrar, en comparación con la IU de SOAP.
► REST tiene herramientas o complementos ligeros para el cliente que se pueden integrar fácilmente dentro del navegador.
► Los servicios REST son capaces de caché.


Diferencia entre descanso y jabón.


El servicio web SOAP siempre realiza una operación POST, mientras que con REST puede elegir métodos http específicos como GET, POST, PUT, DELETE. Ejemplo: para obtener un elemento utilizando SOAP, debe crear un xml de solicitud, pero en el caso de REST solo puede especificar el ID del elemento en la propia URL.


REST casi siempre va a ser más rápido. La principal ventaja de SOAP es que proporciona un mecanismo para que los servicios se describan a sí mismos ante los clientes y anuncien su existencia.

REST es mucho más liviano y se puede implementar utilizando casi cualquier herramienta, lo que lleva a un menor ancho de banda y una curva de aprendizaje más corta. Sin embargo, los clientes deben saber qué enviar y qué esperar.

En general, cuando está publicando una API para el mundo exterior que es compleja o puede cambiar, SOAP será más útil. Aparte de eso, REST suele ser la mejor opción.


REST es más fácil de usar en su mayor parte y es más flexible. A diferencia de SOAP, REST no tiene que usar XML para proporcionar la respuesta. Podemos encontrar servicios web basados ​​en REST que envían los datos en Valor Separado de Comando (CSV), Notación de Objeto de JavaScript (JSON) y Really Simple Syndication (RSS). Podemos obtener la salida que necesitamos en una forma fácil de analizar dentro del lenguaje que necesitamos para nuestra aplicación. REST es más eficiente (use formatos de mensaje más pequeños), más rápido y más cercano a otras tecnologías web en la filosofía de diseño


REST es una arquitectura. REST dará resultados legibles por humanos. REST es apátrida. Los servicios REST son fácilmente cacheables.

SOAP es un protocolo. Puede ejecutarse sobre JMS, FTP, Http.


Servicios web de jabón:

  1. Si su aplicación necesita un nivel garantizado de confiabilidad y seguridad, SOAP ofrece estándares adicionales para garantizar este tipo de operación.
  2. Si ambas partes (proveedor de servicios y consumidor de servicios) tienen que ponerse de acuerdo sobre el formato de intercambio, SOAP proporciona las especificaciones rígidas para este tipo de interacción.

Servicios RestWeb:

  1. Operaciones totalmente sin estado: para operaciones CRUD sin estado (Crear, Leer, Actualizar y Eliminar).
  2. Situaciones de almacenamiento en caché: si la información necesita ser almacenada en caché.

JABÓN

El protocolo de acceso a objetos simples (SOAP) estándar, un lenguaje XML que define una arquitectura de mensajes y formatos de mensajes, 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, un mecanismo bien definido para definir servicios como WSDL + XSD, WS-Policy SOAP devolverá datos basados ​​en XML

Servicios web REST Representational State Transfer (REST). 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 sin formato, JSON, HTML, etc.


  • REST significa Representational State Transfer, donde SOAP significa Simple Object Access Protocol .

  • SOAP define su propia seguridad donde, como REST, hereda la seguridad del transporte subyacente.

  • SOAP no admite la gestión de errores, pero REST tiene una gestión de errores integrada.

  • REST es ligero y no requiere análisis XML . REST puede ser consumido por cualquier cliente, incluso un navegador web con Ajax y Javascript. REST consume menos ancho de banda , no requiere un encabezado SOAP para cada mensaje.

    • REST es útil sobre cualquier protocolo que proporcione un URI. Ignore el punto 5 para REST como se menciona a continuación en la imagen.