Web Service

Post on 23-Jun-2015

637 views 3 download

transcript

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