Risposte:
Un WSDL è un documento XML che descrive un servizio Web. In realtà è l'acronimo di Web Services Description Language.
SOAP è un protocollo basato su XML che consente di scambiare informazioni su un determinato protocollo (ad esempio HTTP o SMTP) tra applicazioni. È l'acronimo di Simple Object Access Protocol e utilizza XML per il suo formato di messaggistica per inoltrare le informazioni.
REST è uno stile architettonico di sistemi in rete e sta per Rappresentational State Transfer. Non è uno standard in sé, ma utilizza standard come HTTP, URL, XML, ecc.
"A WSDL is an XML document that describes a web service. It actually stands for Web Services Definition Language."
Questo non spiega davvero di cosa si tratta ...
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".
Esempio: in parole povere se si dispone di un servizio Web di calcolatrice.
WSDL: WSDL descrive le funzioni che è possibile implementare o esporre al client. Ad esempio: aggiungi, elimina, sottrai e così via.
SOAP: laddove utilizzando SOAP si eseguono effettivamente azioni come doDelete (), doSubtract (), doAdd (). Quindi SOAP e WSDL sono mele e arance. Non dovremmo confrontarli. Entrambi hanno le loro diverse funzionalità.
Perché utilizziamo SOAP e WSDL: per lo scambio di dati indipendente dalla piattaforma.
EDIT: in un normale esempio di vita quotidiana:
WSDL: Quando andiamo in un ristorante vediamo le voci del menu, quelle sono le WSDL.
Classi proxy: ora dopo aver visto le voci di menu decidiamo (elabora la nostra mente su cosa ordinare): quindi, fondamentalmente, realizziamo classi proxy basate sul documento WSDL.
SOAP: Quindi, quando ordiniamo effettivamente il cibo in base al Menu: Significato, usiamo le classi proxy per fare appello ai metodi di servizio che sono fatti usando SOAP. :)
Ogni volta che qualcuno menziona SOAP / WSDL, penso a oggetti e classi definiti in xml ...
"Usi SOAP esattamente come faresti con qualsiasi classe PHP. Tuttavia, in questo caso la classe non esiste nel file system delle applicazioni locali, ma in un sito remoto accessibile tramite http." ... "Se pensiamo di usare un servizio SOAP come solo un'altra classe PHP, il documento WSDL è un elenco di tutti i metodi e le proprietà della classe disponibili."
..e ogni volta che qualcuno parla di REST penso ai comandi HTTP (metodi di richiesta) come POST, GET e DELETE
SOAP -> SOAP (Simple object access protocal) è il protocal a livello di applicazione creato per l'interazione macchina-macchina. Il protocollo definisce le regole standard. Tutte le parti che utilizzano il protocollo specifico devono aderire alle regole del protocollo. Come TCP, si svolge a livello di trasporto, il protocollo SOAP sarà compreso dal livello Applicazione (qualsiasi applicazione che supporti SOAP - Axis2, .Net).
WSDL -> Il messaggio SOAP è composto da SoapEnevelope-> SoapHeader e SoapBody. Non definisce quale sarebbe il formato del messaggio? quali sono tutti i trasporti (HTTP, JMS) supportati? senza queste informazioni, è difficile per qualsiasi cliente che desideri utilizzare il particolare servizio Web per costruire il messaggio SOAP. Anche se lo fanno, non ne saranno sicuri, funzionerà sempre. WSDL è il salvataggio. WSDL (linguaggio di descrizione del servizio Web) definisce le operazioni, i formati dei messaggi e i dettagli di trasporto per il messaggio SOAP.
REST -> REST (trasferimento di stato rappresentativo) si basa sul trasporto. A differenza di SOAP che ha come obiettivo le azioni, REST riguarda maggiormente le risorse. REST individua le risorse utilizzando l'URL (esempio -http: // {indirizzo server} / impiegati / impiegatoNumero / 12345) e dipende dal protocollo di trasporto (con HTTP - GET, POST, PUT, DELETE, ...) per le azioni da eseguire sulle risorse. Il servizio REST individua la risorsa in base all'URL ed esegue l'azione in base al verbo dell'azione di trasporto. È più basato sullo stile architettonico e sulle convenzioni.
Non capirai "semplicemente" qualcosa di complesso.
WSDL è un linguaggio basato su XML per la descrizione di un servizio Web. Descrive i messaggi, le operazioni e le informazioni sul trasporto di rete utilizzate dal servizio. Questi servizi Web di solito utilizzano SOAP, ma possono utilizzare altri protocolli.
Un WSDL è leggibile da un programma e quindi può essere utilizzato per generare tutto o parte del codice client necessario per chiamare il servizio web. Questo è ciò che significa chiamare i servizi web basati su SOAP "auto-descrittivi".
REST non è affatto correlato a WSDL.
SOAP sta per Simple (sic) Object Access Protocol. Doveva essere un modo per eseguire chiamate di procedura remote a oggetti remoti inviando XML su HTTP.
WSDL è il linguaggio di descrizione del servizio Web. Una richiesta che termina con ".wsdl" su un endpoint genererà un messaggio XML che descrive la richiesta e la risposta che un uso può aspettarsi. Descrive il contratto tra servizio e cliente.
REST utilizza HTTP per inviare messaggi ai servizi.
SOAP è una specifica, REST è uno stile.
Wikipedia dice "Il linguaggio di descrizione dei servizi Web è un linguaggio basato su XML che fornisce un modello per la descrizione dei servizi Web". Detto in altro modo, WSDL è per un servizio web, come javadoc è per una libreria java.
La cosa veramente dolce di WSDL, tuttavia, è che il software può generare un client e un server usando WSDL.
REST è leggero in termini di codifica, molto più utile per dispositivi leggeri, ovvero API non rigorose.
REST è indipendente dal formato. XML, HTML, JSON sono disponibili tutte le opzioni.
REST offre le capacità per il trasferimento di messaggi su 2 punti (non sorprende poiché REST sta per REpresentational State Transfer) in cui l'interazione WSDL / SOAP è interazione di messaggi a più punti.
REST non richiede una nuova estensione per i messaggi XML, dove in WSDL / SOAP questo è il caso.
WSDL / SOAP utilizza più protocolli di trasporto, REST si basa solo su HTTP. Pertanto WSDL / SOAP può essere utilizzato come un modo RESTful, tuttavia le richieste semplici possono essere eccessivamente complicate / pesanti.
Una semplice analogia: REST è come un motociclista che consegna il tuo cibo in modo facile e veloce. XML ha esteso WSDL / SOAP più come la consegna UPS, roba più strutturata e seria ma ha un costo.
Alcune spiegazioni chiare (per SOAP e WSDL) sono disponibili anche qui.
Un documento WSDL descrive un servizio web. Specifica l'ubicazione del servizio e i metodi del servizio utilizzando questi elementi principali: i tipi di dati che utilizzano in webservice gli elementi di dati per ciascuna operazione descrivono le operazioni che possono essere eseguite e i messaggi coinvolti
SOAP (Simple Object Access Protocol) è un protocollo di messaggistica che consente ai programmi eseguiti su diversi sistemi operativi di comunicare tramite http e xml.