WEB SERVICEDi Patrick Novarese
DEFINIZIONE DI WEB SERVICE
Volendo spiegare ad un neofita che cosa è
un Web Service si potrebbe dire che è
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
Patrick
Novare
se
ESEMPIO SULLA DEFINIZIONE
3
Patrick
Novare
se
ARCHITETTURA WEB SERVICE
Ci sono 3 ruoli principali all’interno di un’architettura WS:
Service provider: il fornitore del Web Service. Il 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
Patrick
Novare
se
ESEMPIO SULL’ARCHITETTURA
5
Patrick
Novare
se
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 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
Patrick
Novare
se
SCHEMA SUI LIVELLI
7
Patrick
Novare
se
XML
XML, acronimo di eXtensible Markup Language è
un metalinguaggio di markup. Rispetto 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 strutturati.8
Patrick
Novare
se
XML-RPC (XML REMOTE PROCEDURE CALLS)
XML-RPC è un protocollo che utilizza XML per
effettuare chiamate a procedure remote. Le
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 XML-RPC
permette la comunicazione tra diverse
applicazioni 9
Patrick
Novare
se
SOAP (SIMPLE OBJECT ACCESS PROTOCOL)
SOAP è un protocollo basato su XML per
scambiare informazioni tra computer.
Nonostante SOAP possa essere realizzato
mediante diversi protocolli di trasporto,
solitamente si basa su HTTP. Analogamente a
XML-RPC, SOAP è indipendente dalla
piattaforma.
10
Patrick
Novare
se
WSDL E UDDI
WSDL è una grammatica XML che consente
di specificare un’ interfaccia pubblica per un
Web 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
Patrick
Novare
se
ESEMPI DI WEB SERVICE
Topicalizer http://www.topicalizer.com/
Delicious API http://delicious.com/help/api
Calais http://opencalais.com/
12
Patrick
Novare
se
RINGRAZIAMENTI
Web service di Ethan Cerami. Web Services Concepts, Architectures and
Applications di Gustavo Alonso
13
Patrick
Novare
se