Web Services Description Language: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
U2lucky (discussione | contributi)
Esempio di documento WSDL 2.0: Migliorato la pagina
 
(33 versioni intermedie di 23 utenti non mostrate)
Riga 1:
Il '''Web Services Description Language''' ('''WSDL''') è un [[Linguaggio formale (matematica)|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 Serviceservice (ovvero creata una descrizione, basata su XML,) diche indica come interagire con un determinato servizio: un "documento" WSDL contiene infatti, relativamente al Web Service descritto, informazioni su:.
*''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)
 
Un "documento" WSDL contiene infatti, relativamente al Web service descritto, informazioni su:
Le operazioni supportate dal Web Service ed i messaggi che è possibile scambiare con lo stesso sono descritti in maniera astratta e quindi collegati ad uno specifico [[protocollo di rete]] e ad uno specifico formato.
 
*''cosa'' può essere utilizzato (le "operazioni" messe a disposizione dal servizio);
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.
*''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.
La versione 1.1 di WSDL non è stata adottata come [[standard]] dal [[World Wide Web Consortium]] (W3C).
 
Il WSDL è solitamente utilizzato in combinazione con [[SOAP]] e [[XML Schema]] per rendere disponibili Web Servicesservice su [[rete_informaticarete 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.
Il [[26 giugno]] [[2007]] la versione 2.0 è stata promossa a standard ufficiale (in forma di "raccomandazione") dal W3C.
 
La versione 1.1 di WSDL non è stata adottata come [[Norma tecnica|standard]] dal [[World Wide Web Consortium]] (W3C).
 
Il [[26 giugno]] [[2007]] la versione 2.0 è stata promossa a standard ufficiale (in forma di "raccomandazione") dal W3C.
{{cassetto|Un 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.
 
{{cassetto|Un== esempioEsempio 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 125 ⟶ 135:
</service>
</description>
</syntaxhighlight>
</source>
}}
== Voci correlate ==
*[[Web Service]]
*[[SOAP]]
*[[Universal Description Discovery and Integration|UDDI]]
*[[WS-I Basic Profile]]
 
==Collegamenti esterniNote ==
<references/>
* [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]
 
== Voci correlate ==
[[Categoria:Web Service]]
*[[Web Serviceservice]]
[[Categoria:Standard W3C]]
*[[SOAP]]
[[Categoria:Standard XML]]
*[[UDDI]]
*[[cs:Web ServicesApplication Description Language]]
*[[Business Process Execution Language]]
 
== Collegamenti esterni ==
[[bg:WSDL]]
* [http{{Cita web|https://www.w3.org/TR/wsdl |Specifiche WSDL 1.1]}}
[[ca:WSDL]]
* [http{{Cita web|https://www.w3.org/TR/wsdl20-primer/ |WSDL 2.0 Specification Part 0: Primer (Latest Version)]}}
[[cs:Web Services Description Language]]
* [http{{Cita web|https://www.w3.org/TR/wsdl20/ |WSDL 2.0 Specification Part 1: Core (Latest Version)]}}
[[de:Web Services Description Language]]
* [http{{Cita web|https://www.w3.org/TR/wsdl20-adjuncts/ |WSDL 2.0 Specification Part 2: Adjuncts (Latest Version)]}}
[[en:Web Services Description Language]]
* [http{{Cita web|https://www.w3.org/2002/ws/desc/ |Web Services Description Working Group]}}
[[es:WSDL]]
* [http{{Cita web|https://www.w3.org/2000/xp/ |XML protocol activity]}}
[[fa:زبان توصیف خدمات وب]]
* [{{Cita web|http://www.validwsdl.com/ |WSDL Validator]}}
[[fr:Web Services Description Language]]
 
[[he:Web Services Description Language]]
{{Portale|internet}}
[[hu:Webszolgáltatás leíró nyelv]]
 
[[id:WSDL]]
[[Categoria:Web Serviceservice]]
[[is:WSDL]]
[[Categoria:Standard W3C]]
[[ja:Web Services Description Language]]
[[Categoria:Standard informatici basati su XML]]
[[ko:WSDL]]
[[nl:Web Services Description Language]]
[[no:WSDL]]
[[pl:Web Services Description Language]]
[[pt:Web Services Description Language]]
[[ro:WSDL]]
[[ru:WSDL]]
[[sk:WSDL]]
[[sv:WSDL]]
[[zh:WSDL]]