Principales diferencias entre SOAP y servicios web RESTful en java

Pregunta de seguimiento a esta publicación :

Por ahora tengo una ligera idea sobre las diferencias entre SOAP y RESTful Services.

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 solicitud de manejo?

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

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 los clientes y publiciten su existencia.

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

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

RESTO vs Servicios web SOAP

Veo que muchos servicios web nuevos se implementan utilizando una architecture de estilo REST actualmente en lugar de uno SOAP. Retrocedamos un segundo y expliquemos qué es REST.

¿Qué es un servicio web REST?

El acrónimo REST significa Representational State Transfer, esto básicamente significa que cada URL única es una representación de algún objeto. Puede obtener el contenido de ese objeto utilizando un HTTP GET, para eliminarlo, luego puede usar 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, del.icio.us API lo usa, pubsub, bloglines, technorati, y tanto eBay como Amazon tienen servicios web para REST y SOAP.

¿Quién está usando SOAP?

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 gran cantidad de software empresarial.

RESTO vs SOAP

Como habrás notado, las compañías que mencioné que están utilizando REST api no han existido por mucho tiempo, y sus apis salieron este año principalmente. Así que REST es definitivamente la forma más moderna de crear un servicio web, si la creación de servicios web pudiera ser moderna (admitámoslo, usted usa soap para lavarse y descansa cuando está cansado). Las principales ventajas de los servicios web REST son:

Ligero: no hay demasiados márgenes xml. Resultados legibles por humanos Fácil de construir: no se necesitan juegos de herramientas SOAP también tiene algunas ventajas:

Fácil de consumir, a veces Rígido, comprueba el tipo, se adhiere a un contrato Herramientas de desarrollo Para consumir servicios web, a veces es un lanzamiento entre el cual es más fácil. Por ejemplo, el servicio web de AdWords de Google es realmente difícil de consumir (en CF de todos modos), usa encabezados SOAP y una serie de otras cosas que lo hacen un poco difícil. Por el contrario, el servicio web REST de Amazon a veces puede ser complicado de analizar porque puede estar muy nested, y el esquema de resultados puede variar bastante según lo que busca.

Cualquiera que sea la architecture que elija, asegúrese de que sea fácil para los desarrolladores acceder a ella y esté bien documentada.

Freitag, P. (2005). “REST vs SOAP Web Services”. Obtenido de http://www.petefreitag.com/item/431.cfm el 13 de junio de 2010

JABÓN

El protocolo Simple Access Access Protocol (SOAP) estándar, un lenguaje XML que define una architecture 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

Descanso 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.

REST es una architecture. REST dará resultados legibles por humanos. REST es apátrida. Los servicios REST son fáciles de guardar en caché.

SOAP es un protocolo. Se puede ejecutar encima de JMS, FTP, Http.

  1. REST no tiene definición de interfaz WSDL [Web Description Language].

  2. REST es a través de HTTP, pero SOAP puede estar sobre cualquier protocolo de transporte como HTTP, FTP, SMTP, JMS, etc.

Descansar VS SOAP

JABÓN:

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

DESCANSO

► REST es una transferencia de estado representacional que usa protocolos HTTP subyacentes.
► REST no tiene estado.
► REST es un estilo arquitectónico que se usa 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 utiliza en el servicio web. Un recurso puede ser el método de texto de imagen, etc.
► REST usa un conjunto de VERBs como HTTP’s GET, POST, PUT, DELETE.
► REST es fácil de desarrollar y fácil de administrar en comparación con SOAP UI.
► REST tiene herramientas o complementos de cliente ligeros que se pueden integrar fácilmente dentro del navegador.
► Los servicios REST están en caché.

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

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

  • SOAP no admite el manejo de errores, pero REST tiene incorporado el manejo de errores .

  • REST es liviano 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.

SOAP vs REST

Diferencia entre reposo y soap enter image description here

Servicios web de soap:

  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 ambos lados (proveedor de servicios y consumidor del servicio) tienen que ponerse de acuerdo sobre el formato de intercambio, SOAP proporciona las especificaciones rígidas para este tipo de interacción.

RestWeb-Services:

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

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 artículo utilizando SOAP, debe crear un xml de solicitud, pero en el caso de REST, puede especificar el id del elemento en la url misma.

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 generan los datos en Command Separated Value (CSV), JavaScript Object Notation (JSON) y Really Simple Syndication (RSS). Podemos obtener el resultado que necesitamos en una forma que sea fácil de analizar en el idioma que necesitamos para nuestra aplicación. RESTO es más eficiente (usa formatos de mensajes más pequeños), más rápido y más cercano a otras tecnologías web en filosofía de diseño

Intereting Posts