Respuestas:
Un WSDL es un documento XML que describe un servicio web. En realidad significa lenguaje de descripción de servicios web.
SOAP es un protocolo basado en XML que le permite intercambiar información sobre un protocolo particular (puede ser HTTP o SMTP, por ejemplo) entre aplicaciones. Significa Protocolo simple de acceso a objetos y utiliza XML para su formato de mensajes para transmitir la información.
REST es un estilo arquitectónico de sistemas en red y significa Representational State Transfer. No es un estándar en sí mismo, pero sí utiliza estándares como HTTP, URL, XML, etc.
"A WSDL is an XML document that describes a web service. It actually stands for Web Services Definition Language."
Esto realmente no explica qué es ...
The current version of WSDL is WSDL 2.0. The meaning of the acronym has changed from version 1.1 where the "D" stood for "Definition".
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: sumar, eliminar, restar, etc.
SOAP: donde, al usar SOAP, realizas acciones como doDelete (), doSubtract (), doAdd (). SOAP y WSDL son manzanas y naranjas. No debemos 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 normal de la vida diaria:
WSDL: cuando vamos a un restaurante vemos los elementos del menú, esos son los WSDL.
Clases de Proxy: Ahora, después de ver los Elementos del Menú, decidimos (Procesar nuestra mente sobre qué ordenar): Entonces, básicamente hacemos clases de Proxy basadas en el Documento WSDL.
SOAP: Luego, cuando realmente ordenamos los alimentos en función del menú: lo que significa que usamos clases proxy para recurrir a los métodos de servicio que se realizan utilizando SOAP. :)
Cada vez que alguien menciona SOAP / WSDL, pienso en objetos y clases definidos en xml ...
"Utiliza SOAP de la misma manera que lo haría 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 otra clase de PHP, 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
SOAP -> SOAP (Protocolo simple de acceso a objetos) es el protocolo de nivel de aplicación creado para la interacción máquina a máquina. El protocolo define reglas estándar. Todas las partes que utilizan el protocolo particular deben cumplir con las reglas del protocolo. Al igual que TCP, se desenrolla en la capa de transporte, el protocolo SOAP será entendido por la capa de aplicación (cualquier aplicación que admita SOAP - Axis2, .Net).
El mensaje WSDL -> SOAP consiste en SoapEnevelope-> SoapHeader y SoapBody. ¿No define cuál sería el formato del 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 en 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 del servicio web) define las operaciones, los formatos de mensaje y los detalles de transporte para el mensaje SOAP.
REST -> REST (Transferencia de estado representativa) se basa en el transporte. A diferencia de SOAP que se enfoca en las acciones, REST se preocupa más por los recursos. REST localiza los recursos mediante el uso de URL (ejemplo -http: // {serverAddress} / employee / 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 en función de 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.
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 programa puede leer un WSDL y, por lo tanto, puede usarse para generar todo o parte del código del 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.
SOAP significa Protocolo simple (sic) de acceso a objetos. Estaba destinado a ser una forma de realizar llamadas de procedimiento remoto a objetos remotos mediante el envío de XML a través de HTTP.
WSDL es lenguaje de descripción de servicio web. Una solicitud que termina en '.wsdl' a un punto final dará como resultado un mensaje XML que describe la solicitud y la respuesta que un uso puede esperar. Describe el contrato entre servicio y cliente.
REST usa HTTP para enviar mensajes a los servicios.
SOAP es una especificación, REST es un estilo.
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.
REST es liviano en términos de codificación, mucho más útil para dispositivos livianos, es decir, API no estrictas.
REST es un formato independiente. XML, HTML, JSON todas las opciones están disponibles.
REST proporciona capacidades para la transferencia de mensajes de 2 puntos (no es sorprendente ya que REST significa Transferencia de estado representativa) donde la interacción WSDL / SOAP es 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 utiliza múltiples protocolos de transporte, REST se basa solo en HTTP. Por lo tanto, WSDL / SOAP puede usarse como una forma RESTful, sin embargo, las solicitudes simples pueden ser demasiado complicadas / pesadas.
Una analogía simple: REST es como un motoboy que entrega su comida de manera fácil y rápida. XML extendió WSDL / SOAP más como entrega de UPS, cosas más estructuradas y serias pero tiene un costo.
Aquí también se pueden encontrar algunas explicaciones claras (para SOAP y WSDL).
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 se utilizan en los elementos de datos del servicio web para cada operación describen las operaciones que se pueden realizar y los mensajes involucrados
SOAP (Protocolo simple de acceso a objetos) es un protocolo de mensajería que permite que los programas que se ejecutan en sistemas operativos dispares se comuniquen mediante http y xml.