web services - tipos - ¿Qué son WSDL, SOAP y REST?
web service soap (10)
Algunas explicaciones claras (para SOAP y WSDL) se pueden encontrar aquí también.
Cada vez que alguien menciona SOAP / WSDL, pienso en objetos y clases definidos en xml ...
"Usas SOAP de la misma manera que lo harías con cualquier clase de PHP. Sin embargo, en este caso, la clase no existe en el sistema de archivos de las aplicaciones locales, sino en un sitio remoto al que se accede a través de http". ... "Si pensamos en usar un servicio SOAP como simplemente otra clase PHP, entonces el documento WSDL es una lista de todos los métodos y propiedades de clase disponibles".
..y cada vez que alguien habla de REST, pienso en los comandos de HTTP (métodos de solicitud) como POST, GET y DELETE
Ejemplo: en términos simples si tiene un servicio web de calculadora.
WSDL: WSDL le informa sobre las funciones que puede implementar o exponer al cliente. Por ejemplo: agregar, borrar, restar, etc.
SOAP: Donde al usar SOAP realizas acciones como doDelete (), doSubtract (), doAdd (). Así que SOAP y WSDL son manzanas y naranjas. No deberíamos compararlos. Ambos tienen su propia funcionalidad diferente.
Por qué utilizamos SOAP y WSDL: para el intercambio de datos independiente de la plataforma.
EDITAR: en un ejemplo de vida cotidiana normal:
WSDL: cuando vamos a un restaurante vemos los elementos de menú, esos son los WSDL.
Clases de apoderados: ahora, después de ver los ítems del menú, formamos nuestra mente (procesamos nuestra mente sobre qué orden): así que básicamente hacemos clases de Proxy basadas en el documento WSDL.
JABÓN: Entonces, cuando realmente ordenamos la comida en función del Menú: Significamos que usamos clases de proxy para llamar a los métodos de servicio que se hace usando SOAP. :)
No vas a "simplemente" entender algo complejo.
WSDL es un lenguaje basado en XML para describir un servicio web. Describe los mensajes, las operaciones y la información de transporte de red utilizada por el servicio. Estos servicios web generalmente usan SOAP, pero pueden usar otros protocolos.
Un WSDL es legible por un programa y, por lo tanto, se puede usar para generar todo o parte del código de cliente necesario para llamar al servicio web. Esto es lo que significa llamar a los servicios web basados en SOAP "autodescriptivos".
REST no está relacionado con WSDL en absoluto.
REST es liviano en términos de codificación, mucho más útil para dispositivos livianos, es decir, API no estrictas.
REST es independiente del formato. XML, HTML, JSON, todas las opciones están disponibles.
REST proporciona capacidades para la transferencia de mensajes de 2 puntos (lo cual no es sorprendente ya que REST representa REpresentational State Transfer) donde la interacción WSDL / SOAP es la interacción de mensajes de múltiples puntos.
REST no requiere una nueva extensión para mensajes XML, donde en WSDL / SOAP este es el caso.
WSDL / SOAP usa múltiples protocolos de transporte, REST solo se basa en HTTP. Por lo tanto, WSDL / SOAP se puede utilizar de manera RESTful, sin embargo, las solicitudes simples pueden ser demasiado complicadas / pesadas.
Una simple analogía: REST es como un motoboy que entrega tu comida de manera fácil y rápida. XML extendió WSDL / SOAP más como la entrega de UPS, cosas más estructuradas y serias, pero tiene un costo.
SOAP -> SOAP (protocal de acceso a objetos simples) es el protocolo de nivel de aplicación creado para la interacción entre máquinas. El protocolo define reglas estándar. Todas las partes que usan el protocolo particular deben cumplir las reglas del protocolo. Al igual que TCP, se desenrolla en la capa de transporte. La capa de aplicación comprenderá el protocolo SOAP (cualquier aplicación que admita SOAP - Axis2, .Net).
WSDL -> El mensaje SOAP consiste en SoapEnevelope-> SoapHeader y SoapBody. No define lo que sería formato de mensaje? ¿Cuáles son todos los transportes (HTTP, JMS) que admite? sin esta información, es difícil para cualquier cliente que quiera consumir el servicio web particular construir el mensaje SOAP. Incluso si lo hacen, no estarán seguros, funcionará todo el tiempo. WSDL es el rescate. WSDL (lenguaje de descripción de servicio web) define las operaciones, los formatos de mensaje y los detalles de transporte para el mensaje SOAP.
REST -> REST (Transferencia de estado representacional) se basa en el Transporte. A diferencia de SOAP que se centra en las acciones, REST se refiere más a los recursos. REST localiza los recursos utilizando URL (ejemplo -http: // {serverAddress} / employees / employeeNumber / 12345) y depende del protocolo de transporte (con HTTP - GET, POST, PUT, DELETE, ...) para las acciones para ser realizado en los recursos. El servicio REST localiza el recurso basado en la URL y realiza la acción en función del verbo de acción de transporte. Es más de estilo arquitectónico y convenciones basadas.
SOAP significa Simple (sic) Object Access Protocol. Estaba destinado a ser una forma de realizar llamadas de procedimiento remoto a objetos remotos enviando XML a través de HTTP.
WSDL es el lenguaje de descripción de servicios web. Una solicitud que termina en ''.wsdl'' a un punto final dará como resultado un mensaje XML que describirá la solicitud y la respuesta que un uso puede esperar. Describe el contrato entre el servicio y el cliente.
REST usa HTTP para enviar mensajes a servicios.
SOAP es una especificación, REST es un estilo.
Un WSDL es un documento XML que describe un servicio web. En realidad significa Web Services Description Language.
SOAP es un protocolo basado en XML que le permite intercambiar información sobre un protocolo en particular (puede ser HTTP o SMTP, por ejemplo) entre aplicaciones. Significa Simple Object Access Protocol y utiliza XML para su formato de mensajería para retransmitir la información.
REST es un estilo arquitectónico de sistemas en red y representa la Transferencia de estado representacional. No es un estándar en sí mismo, pero sí utiliza estándares como HTTP, URL, XML, etc.
Un documento WSDL describe un servicio web. Especifica la ubicación del servicio y los métodos del servicio utilizando estos elementos principales: los tipos de datos que utilizan los elementos de datos del servicio web para cada operación describen las operaciones que se pueden realizar y los mensajes envueltos.
SOAP (Simple Object Access Protocol) es un protocolo de mensajería que permite a los programas que se ejecutan en sistemas operativos dispares comunicarse usando http y xml.
Wikipedia dice: "El lenguaje de descripción de servicios web es un lenguaje basado en XML que proporciona un modelo para describir servicios web". Dicho de otra manera, WSDL es para un servicio web, como javadoc es para una biblioteca java.
Sin embargo, lo realmente bueno de WSDL es que el software puede generar un cliente y un servidor usando WSDL.