Web Services Description Language: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
grammatica
Esempio di documento WSDL 2.0: Migliorato la pagina
 
(15 versioni intermedie di 12 utenti non mostrate)
Riga 1:
Il '''Web Services Description Language''' ('''WSDL''') è un [[linguaggio formale]] in formato [[XML]] utilizzato per la creazione di "documenti" per la descrizione di [[Web Serviceservice]].
 
== Descrizione ==
Mediante WSDL può essere infatti descritta l'[[Interfaccia (informatica)|interfaccia]] pubblica di un Web service (ovvero una descrizione basata su XML) che indica come interagire con un determinato servizio.
 
Mediante WSDL può essere infatti descritta l'[[Interfaccia (informatica)|interfaccia]] pubblica di un Web Service (ovvero una descrizione basata su XML) che indica come interagire con un determinato servizio: unUn "documento" WSDL contiene infatti, relativamente al Web Serviceservice descritto, informazioni su: (corretta da Valerio Fiori di stradella)
*''cosa'' può essere utilizzato (le "operazioni" messe a disposizione dal servizio);
*''come'' utilizzarlo (il [[Protocollo di rete|protocollo]] di comunicazione da utilizzare per accedere al servizio, il formato dei messaggi accettati in [[Input/Output|input]] e restituiti in [[Input/Output|output]] dal servizio ed i [[dato|dati]] correlati) ovvero i "vincoli" (''bindings'' in [[lingua inglese|inglese]]) del servizio;
*''dove'' utilizzare il servizio (cosiddetto ''endpoint'' del servizio che solitamente corrisponde all'indirizzo - in formato [[Uniform Resource Identifier|URI]] - che rende disponibile il Web Service)
 
*''cosa'' può essere utilizzato (le "operazioni" messe a disposizione dal servizio);
Le operazioni supportate dal Web Service ed i messaggi che è possibile scambiare con lo stesso sono descritti in maniera astratta e quindi non collegati ad uno specifico [[protocollo di rete]] e ad uno specifico formato.
*''come'' utilizzarlosfruttare tale raggruppamento (specificando il [[Protocollo di rete|protocollo]] di comunicazione da utilizzare per accedere al servizio, il formato dei messaggi accettati in [[Input/Output|input]] e restituiti in [[Input/Output|output]] dal servizio ed i [[dato|dati]] correlati) ovvero i "vincoli" (''{{Inglese|bindings'' in [[lingua inglese|inglese]]}}) del servizio;
*''dove'' utilizzaresi trova il servizio nella rete (cosiddetto ''endpoint'' o ''port'' del servizio che solitamente corrisponde all'indirizzo - in formato [[Uniform Resource Identifier|URI]] - che rende disponibile il Web Serviceservice)
 
Le operazioni supportate dal Web Serviceservice ed i messaggi che è possibile scambiare con lo stesso sono descritti in maniera astratta e quindi non collegati ad uno specifico [[protocollo di rete]] e ad uno specifico formato.
Il WSDL è solitamente utilizzato in combinazione con [[SOAP]] e [[XML Schema]] per rendere disponibili Web Services su [[rete informatica|reti]] aziendali o su [[internet]]: un programma [[client]] può, infatti, "leggere" il documento WSDL relativo ad un Web Service per determinare quali siano le funzioni messe a disposizione sul [[server]] e quindi utilizzare il protocollo SOAP per utilizzare una o più delle funzioni elencate dal WSDL.
 
Il WSDL è solitamente utilizzato in combinazione con [[SOAP]] e [[XML Schema]] per rendere disponibili Web Servicesservice su [[rete informatica|reti]] aziendali o su [[internet]]: un programma [[client]] può, infatti, "leggere" il documento WSDL relativo ad un Web Serviceservice per determinare quali siano le funzioni messe a disposizione sul [[server]] e quindi utilizzareattraverso il protocollo SOAP per utilizzare una o più delle funzioni elencate dal WSDL.
La versione 1.1 di WSDL non è stata adottata come [[standard]] dal [[World Wide Web Consortium]] (W3C).
 
IlLa 26versione giugno1.1 [[2007]]di laWSDL versione 2.0non è stata promossaadottata acome [[Norma tecnica|standard]] ufficialedal (in[[World formaWide diWeb "raccomandazione") dalConsortium]] (W3C).
 
Il 26 giugno 2007 la versione 2.0 è stata promossa a standard ufficiale (in forma di "raccomandazione") dal W3C.
==Esempio di documento WSDL 2.0==
 
<source lang="xml">
== Stili e codifiche ==
Un documento WSDL può essere caratterizzato da quattro distinte combinazioni di stili e codifiche:<ref name="ibm">{{cita web|url=https://www.ibm.com/developerworks/library/ws-whichwsdl/|editore=IBM|autore=Russel Butek|lingua=en|titolo=Which style of WSDL should I use?|data=31 ottobre 2003|accesso=10 settembre 2018|urlarchivio=https://web.archive.org/web/20180823041143/https://www.ibm.com/developerworks/library/ws-whichwsdl/|dataarchivio=23 agosto 2018|urlmorto=no}}</ref><ref>{{cita web|url=http://www.html.it/articoli/wsdl-stili-e-codifiche-4/|titolo=WSDL: stili e codifiche|sito=HTML.it|autore=Marco Parente|urlarchivio=https://web.archive.org/web/20140122231827/http://www.html.it/articoli/wsdl-stili-e-codifiche-4/|dataarchivio=22 gennaio 2014|urlmorto=no}}</ref>
*''RPC/encoded'': ha una struttura molto semplice, ma non è approvato dallo standard [[WS-I]] ed è complesso da validare.
*''RPC/literal'': è di nuovo molto semplice ed è privo di informazioni di codifica sui tipi. Soddisfa inoltre le specifiche WS-I, ma resta complesso da validare.
*''Document/encoded'': non è conforme alle specifiche WS-I e non è praticamente mai utilizzato.
*''Document/literal'': anche qui mancano le informazioni di codifica sui tipi ed è conforme alle specifiche WS-I (con alcune restrizioni). Può inoltre essere facilmente controllato con un [[Validatore (informatica)|validatore]] XML. Tuttavia, la struttura del WSDL diventa più complessa e verbosa. Infine, nel messaggio SOAP non è prevista l'indicazione del metodo utilizzato, per cui può risultare più complesso (o impossibile) capire quale operazione è richiesta dal client.
 
== Esempio di documento WSDL 2.0 ==
<syntaxhighlight lang="xml" line="1" copy=1>
<?xml version="1.0" encoding="UTF-8"?>
<description xmlns="http://www.w3.org/ns/wsdl"
Line 126 ⟶ 135:
</service>
</description>
</syntaxhighlight>
</source>
 
== Note ==
<references/>
 
== Voci correlate ==
*[[Web Serviceservice]]
*[[SOAP]]
*[[UDDI]]
*[[Web Application Description Language]]
*[[WS-I Basic Profile]]
*[[Business Process Execution Language]]
 
== Collegamenti esterni ==
* [http{{Cita web|https://www.w3.org/TR/wsdl |Specifiche WSDL 1.1]}}
* [http{{Cita web|https://www.w3.org/TR/wsdl20-primer/ |WSDL 2.0 Specification Part 0: Primer (Latest Version)]}}
* [http{{Cita web|https://www.w3.org/TR/wsdl20/ |WSDL 2.0 Specification Part 1: Core (Latest Version)]}}
* [http{{Cita web|https://www.w3.org/TR/wsdl20-adjuncts/ |WSDL 2.0 Specification Part 2: Adjuncts (Latest Version)]}}
* [http{{Cita web|https://www.w3.org/2002/ws/desc/ |Web Services Description Working Group]}}
* [http{{Cita web|https://www.w3.org/2000/xp/ |XML protocol activity]}}
* [{{Cita web|http://www.validwsdl.com/ |WSDL Validator]}}
 
==Collegamenti esterni==
* [http://www.w3.org/TR/wsdl Specifiche WSDL 1.1]
* [http://www.w3.org/TR/wsdl20-primer/ WSDL 2.0 Specification Part 0: Primer (Latest Version)]
* [http://www.w3.org/TR/wsdl20/ WSDL 2.0 Specification Part 1: Core (Latest Version)]
* [http://www.w3.org/TR/wsdl20-adjuncts/ WSDL 2.0 Specification Part 2: Adjuncts (Latest Version)]
* [http://www.w3.org/2002/ws/desc/ Web Services Description Working Group]
* [http://www.w3.org/2000/xp/ XML protocol activity]
* [http://www.validwsdl.com/ WSDL Validator]
* [http://www.w3schools.com/wsdl/default.asp WSDL tutorial]
{{Portale|internet}}
 
[[Categoria:Web service]]
[[Categoria:Standard W3C]]
[[Categoria:Standard informatici basati su XML]]