WSDL e UDDI Abbiamo accennato nella scorsa lezione a WSDL e UDDI: vediamo ora in dettaglio il significato di queste due tecnologie e l’importanza che rivestono nei web services.
WSDL sta per Web Services Definition Language, ed è il linguaggio di
descrizione per i Web Services: rappresenta sia l’interfaccia sia l’invocazione
di un servizio web. (Facendo un parallelo con altri protocolli, WSDL è
per SOAP quello che IDL è per COM e CORBA). Più precisamente,
con WSDL forniamo informazioni sui dati scambiati nel servizio, ne definiamo
la locazione fisica e il tipo di messaggio utilizzato (se document-oriented
o procedure- oriented)
Un documento WSDL è in pratica un file in formato XML, che segue uno
schema ben definito con i seguenti elementi:
- types: i tipi di dati utilizzati nel web service
- message: i messaggi utilizzati nel web service, intesi
come parametri di funzione (di input e di output) - portType: le operazioni fatte nel web service, con riferimento
ai messaggi descritti nella precedente sezione - binding: i protocolli di comunicazione utilizzati nel
web service - service: l’indirizzo di ciascun binding.
Di questi elementi, il più importante è il portType, dove si
definisce il web service, le operazioni che può effettuare e i messaggi
coinvolti. La port corrisponde, infatti, a quello che nei linguaggi di programmazione
tradizionale è la libreria di funzioni, e ciascuna operazione rappresenta
una funzione: il tipo di operazione più comune è quello tipico
di request-response (in cui viene codificato un output a fronte di un input),
ma altri operazioni sono possibili. Nell’elemento binding sono invece
definiti i dettagli ‘fisici’ di comunicazione, quali il protocollo
SOAP e la forma dei messaggi.
Un documento WSDL, vista la numerosità degli elementi e il massiccio
utilizzo dei namespace, può essere in molti casi piuttosto complesso
da scrivere: esistono comunque dei tool di mercato che dalle procedure esistenti
generano automaticamente il corrispondente file WSDL.
Per una trattazione più estesa di WSDL, rimandiamo al più recente
working draft del W3C, consultabile all’indirizzo http://www.w3.org/TR/wsdl12.
UDDI sta per Universal Description, Discovery and Integration, e rappresenta
un insieme di protocolli e una directory pubblica per la registrazione e l’interrogazione
di web services. E’ un registro basato su XML dove i fornitori di web
services descrivono sé stessi e i servizi da loro offerti, come in una
sorta di ‘pagine gialle’ consultabili sia dall’utente di business,
che cerca nuovi servizi, sia dal tecnico, che può accedere ai dettagli
di implementazione (leggi: il documento WSDL) per sviluppare un client di web
service, tramite delle API di inquiry (la registrazione viene invece effettuata
con delle API di publishing).
Esistono già dei siti Internet che, previa registrazione, si offrono
come UDDI registry, ed è comunque possibile implementare un proprio registro
UDDI, per tracciare ad esempio tutti i servizi presenti sulla Intranet aziendale.
Per maggiori dettagli su UDDI, rimandiamo all’indirizzo http://www.uddi.org.