2. DEFINIZIONE DI WEB SERVICE
Volendo spiegare ad un neofita che cosa è un
Web Service si potrebbe dire che è
Patrick Novarese
un’applicazione distribuita basata sullo scambio
di messaggi XML che fornisce funzionalità non
solo a utenti umani ma anche ad agenti software,
è utilizzabile attraverso la rete Internet ed è
indipendente dalla piattaforma.
2
4. ARCHITETTURA WEB SERVICE
Ci sono 3 ruoli principali all’interno di
un’architettura WS:
Service provider: il fornitore del Web Service. Il
Patrick Novarese
provider implementa il servizio e lo rende
disponibile in Internet.
Service requestor: il consumatore del Web
Service. Il consumatore utilizza il Web Service
aprendo una connessione di rete e inviando una
richiesta XML.
Service registry: directory di servizi
centralizzata. Il registry fornisce un “luogo” dove
gli sviluppatori possono pubblicare nuovi servizi
o trovarne di esistenti 4
6. LO STACK PROTOCOLLARE
Service transport: questo livello è responsabile del
trasporto dei messaggi tra applicazioni. Questo livello
include il protocollo HTTP, il protocollo SMTP, il protocollo
Patrick Novarese
FTP e nuovi protocolli come BEEP che consente lo scambio
di messaggi sia testuali che binari.
XML messaging: responsabile della codifica dei messaggi
nel formato XML. Attualmente include i protocolli XML
RPC e SOAP.
Service description: responsabile della descrizione
dell’interfaccia pubblica di uno specifico Web Service.
Attualmente è gestito via WSDL.
Service discovery: responsabile della centralizzazione dei
servizi in un common registry, fornisce funzionalità di
pubblicazione e di reperimento. Attualmente gestito via
UDDI (Universal Description, Discovery and Integration). 6
8. XML
XML, acronimo di eXtensible Markup Language
è un metalinguaggio di markup. Rispetto
Patrick Novarese
all'HTML, l'XML ha uno scopo ben diverso:
mentre il primo definisce una grammatica per la
descrizione e la formattazione di pagine web e,
più in generale, di ipertesti, il secondo è un
metalinguaggio utilizzato per creare nuovi
linguaggi, atti a descrivere documenti 8
strutturati.
9. XMLRPC (XML REMOTE PROCEDURE
CALLS)
XMLRPC è un protocollo che utilizza XML per
effettuare chiamate a procedure remote. Le
Patrick Novarese
richieste sono codificate in XML e inviate via
HTTP POST. Le risposte XML sono incorporate
nel corpo di una risposta http. L’indipendenza
dalla piattaforma di XMLRPC permette la
comunicazione tra diverse applicazioni
9
10. SOAP (SIMPLE OBJECT ACCESS
PROTOCOL)
SOAP è un protocollo basato su XML per
scambiare informazioni tra computer. Nonostante
Patrick Novarese
SOAP possa essere realizzato mediante diversi
protocolli di trasporto, solitamente si basa su
HTTP. Analogamente a XMLRPC, SOAP è
indipendente dalla piattaforma.
10
11. WSDL E UDDI
WSDL è una grammatica XML che consente di
specificare un’ interfaccia pubblica per un Web
Patrick Novarese
Service, che comprende l’insieme dei metodi
invocabili e dei parametri da passare ad ogni
metodo.
UDDI è una specifica tecnica che consente di
pubblicare e trovare Web Service.
11
12. ESEMPI DI WEB SERVICE
Topicalizer http://www.topicalizer.com/
Patrick Novarese
Delicious API http://delicious.com/help/api
Calais http://opencalais.com/
12