Sei sulla pagina 1di 24

1

Web Services
Introduzione,
esempio di utilizzo
e
stato dellarte
Dott. Marco Bianchi
Agenda
Web Services:
Introduzione
Cosa sono
A cosa servono
Perch sono importanti
Tecnologie fondamentali
Esempio pratico
Stato dellarte
Web Services oggi
Web Services domani
2
Web Services
Introduzione
I sistemi informatici ne
agevolano la gestione
Introduzione
Fonte: http://www.microsoft.com/net/basics/webservices_flash/launch.html
Allinterno di un azienda
necessario gestire diversi
tipi di informazioni
Allinterno di un azienda
necessario gestire diversi
tipi di informazioni
3
Il problema
fragili.
fragili.
Cosa accade quando si
vogliono mettere in
comunicazione sistemi diversi?
Cosa accade quando si
vogliono mettere in
comunicazione sistemi diversi?
Integrazioni personalizzate
sono costose, time-consuming
e
Integrazioni personalizzate
sono costose, time-consuming
e
La risposta
Cosa sarebbe accaduto se ci
fosse stato un modo standard e
far interagire i sistemi software?
Cosa sarebbe accaduto se ci
fosse stato un modo standard e
far interagire i sistemi software?
Questo sono i
Web Service
Questo sono i
Web Service
4
Business
Customer
Internet
Aree di applicazione
Enterprise Application Integration (EAI)
Business-to-Business (B2B)
Business-to-Customer (B2C)
GoogleSearch(IASI)
Return search results
Internet visto dagli utenti
5
Internet visto dalle componenti SW
2sdb3vds2
df3uy4e4v
bjsd,gfqwe
g3vnncvbn
Defqweg3
vnncvbwe
e346n2kv
M7+7
2,kxmr93k
vp2kfv,r
Defqweg3
vnncvbwe
e346n2kv
Bfj4iv829jc
vnkm,ncxv0
erjjolijxlkjlj
J3jfm434
5ml2v7l
8nbhec-2l
s2lbe5g3 er54ubcm bv3avdhj
?

Mumble
mumble
Descrizione
Funzionalit
Descrizione
Funzionalit
Descrizione
Funzionalit
Registri
1
2
Nota Riassuntiva
E necessario:
1) Linguaggio per
la descrizione
dei Servizi
2) Protocollo di
comunicazione
3) Standard per
la registrazione
Come migliorare la situazione?
6
Web Services e relativi standard
Web Services (WS):
insieme di funzionalit che applicazioni e servizi
remoti rendono disponibili via Internet.
I WS sono descritti in XML utilizzando il Web Services
Definition Language (WSDL)
I WS sono registrati in appositi registri:
Universal Description, Discovery and Integration
(UDDI), ebXML
I WS comunicano utilizzando Simple Object Access
Protocol (SOAP)
Perch XML?
I Web Services si basano
su XML perch:
uno standard aperto
indipendente da:
piattaforme hardware
sistemi operativi
linguaggi di programmazione
XML garantisce:
Ricchezza espressiva
Estendibilit
Portabilit
Facilit di comprensione
XML:
Extensible Markup Language
7
Che cos SOAP ?
Simple Object Access Protocol
A lightweight and simple XML-based protocol
to allow the exchange of structured and typed
information across the Web
Simple Object Access Protocol
A lightweight and simple XML-based protocol
to allow the exchange of structured and typed
information across the Web
Fonte: Definizione SOAP - http://msdn.microsoft.com/library/default.asp?url=/nhp/default.asp?contentid=28000523
Formato dei messaggi SOAP
Un elemento radice, <envelope>, obbligatorio.
Il namespace di SOAP viene dichiarato allinterno
di questo elemento.
Un elemento radice, <envelope>, obbligatorio.
Il namespace di SOAP viene dichiarato allinterno
di questo elemento.
Un elemento <header> opzionale.
Il suo scopo quello di trasportare informazioni
non facenti parte del messaggio, destinate agli
attori che il messaggio attraverser per arrivare
al suo destinatario finale.
Un elemento <header> opzionale.
Il suo scopo quello di trasportare informazioni
non facenti parte del messaggio, destinate agli
attori che il messaggio attraverser per arrivare
al suo destinatario finale.
Un elemento <body> obbligatorio.
Questo elemento contiene il messaggio vero e
proprio.
Un elemento <body> obbligatorio.
Questo elemento contiene il messaggio vero e
proprio.
8
Che cos WSDL?
WSDL: Web Services
Description Language
Permette di descrivere in
XML linterfaccia di un
Web Service
Essenzialmente, un file
WSDL descrive:
Cosa fa un servizio
Come vi si accede
Dove localizzato
Livelli di descrizione in WSDL
Descrizione astratta: Definizione dellinterfaccia
Descrizione concreta: Definizione dellendpoint
Fonte: http://www-106.ibm.com/developerworks/library/ws-wsdl/
9
Cos UDDI?
Problema del fornitore di servizio:
Come pubblicizzare il Web Service?
Problema del fornitore di servizio:
Come pubblicizzare il Web Service?
Fornitore
1

P
u
b
b
lic
a
z
io
n
e
2
R
i
c
e
r
c
a
3
U
tilizzo
Problema del fruitore:
Come trovare i Web
Service interessanti?
Problema del fruitore:
Come trovare i Web
Service interessanti?
Contenuto di un registro UDDI
UDDI:
Universal Description, Discovery and Integration
Tre principali categorie di informazioni:
Pagine bianche:
Nome azienda, indirizzo, contatti, URL sito web, ecc.
Pagine gialle:
Tipo di azienda, prodotti, categorizzazione in tassonomie
geografiche, industriali, ecc.
Pagine verdi:
Informazioni tecniche sul come interagire con il WS (WSDL,
documentazione, ecc.)
Fonte: UDDI Technical White Paper - http://www.uddi.org/pubs/Iru_UDDI_Technical_White_Paper.pdf
10
Il modello Web Services
Fonte: Web Services Conceptual Architecture (WSCA 1.0) IBM 2001
Service
Registry
Service
Requestor
Service
Provider
Service
Description
Service
Service
Description
Publish
WSDL, UDDI
Find
WSDL, UDDI
Bind
Definizione di Web Service
A Web service is a software system designed to support
interoperable machine-to-machine interaction over a
network. It has an interface described in a machine-
processable format (specifically WSDL). Other systems
interact with the Web service in a manner prescribed by its
description using SOAP-messages, typically conveyed using
HTTP with an XML serialization in conjunction with other
Web-related standards.
[W3C Web Services Glossary - 11 February 2004]
Fonte: http://www.w3.org/TR/2004/NOTE-ws-gloss-20040211/
11
Web Services
Esempio di utilizzo
Realizzazione di Web Service (1/2)
Passo 1
Il fornitore crea un servizio
Un esempio reale
Il motore di ricerca Google ha implementato un WS che
permette a tutte le applicazioni di:
Eseguire ricerche su Internet utilizzando la banca dati di
Google;
Controllare lo spelling dei vocaboli sfruttando il vocabolario
di Google;
Utilizzare la cache di Google.
12
Realizzazione di Web Service (2/2)
Passo 2
Il fornitore pubblica il servizio su un registro per WS
Un esempio reale
Il motore di ricerca Google ha sponsorizzato il suo WS:
Pubblicando il WS nel repository XMethods
(http://www.xmethods.com/):
UDDI v2, WS-Inspection, RSS, SOAP, DISCO;
Realizzando un sito dedicato per la registrazione,
documentazione, download di apposite API Java, ecc.
(http://www.google.com/apis/)
Utilizzo di Web Service (1/3)
Passo 1
Il client cerca e trova attraverso un registro il
servizio desiderato
Un esempio reale
Il client pu verificare per mezzo di diversi registri se la
societ Google offre qualche tipo di servizio
(http://www.soapclient.com/uddisearch.html);
13
Utilizzo di Web Service (2/3)
Passo 2
Il client scarica la descrizione del servizio e scrive il
codice per utilizzarlo
Un esempio reale
Il client scarica il file WSDL
Il client scrive il codice per inviare e ricevere messaggi
SOAP in accordo con quanto specificato nel file WSDL
Nota: nel caso di Google sono disponibili anche delle API
Java per lutilizzo del servizio.
Utilizzo di Web Services (3/3)
Passo 3
A regime, il servizio viene utilizzato dal client nel
suo sistema informatico
Un esempio reale
Il client pu considerare le banche dati di Google come
se fossero appartenenti al suo sistema informatico.
14
Dimostrazione
Esecuzione di un client Java:
1. Crea un messaggio SOAP contenente una query di
ricerca da inviare a Google;
2. Invia il messaggio SOAP;
3. Riceve la risposta SOAP;
4. Memorizza la risposta SOAP in un file;
5. Esegue una trasformazione XSL sui risultati;
6. Memorizza la trasformazione in un altro file;
Web Services
Stato dellarte
15
Alcuni dati sui WS nelle applicazioni dimpresa
Norberto Patrignani, analista di Meta Group:
il 70% delle grandi aziende internazionali ed europee
ha gi cominciato a lavorare sui Web services
all'interno della propria rete
grandi istituti bancari impiegano Web services per creare
bus d'interscambio dei dati
le prime 1.000 aziende usano i Web services per
lintegrazione:
all'interno di piattaforme omogenee
Microsoft.Net 34%
J2EE 19%
tra piattaforme differenti
Microsoft-J2EE 18%;
SAP-Java, 13%;
SAP-Microsoft 11%.
Fonte: ComputerWorld Italia - http://www.cwi.it/ - "Standard ancora parziali, ma significativi i vantaggi - 6/11/2003
Evoluzione dei Web Services (1)
Tactical
Time
A
d
o
p
t
i
o
n
Today
Fonte: Web Services Journal November 2003
Point-to-Point
Integration
16
The Conceptual Web Services Stack (2001)
= TECNOLOGIE
CONSOLIDATE
= TECNOLOGIE
UTILIZZATE
S
E
C
U
R
I
T
Y
S
E
C
U
R
I
T
Y
M
A
N
A
G
E
M
E
N
T
M
A
N
A
G
E
M
E
N
T
Q
U
A
L
I
T
Y

O
F

S
E
R
V
I
C
E
S
Q
U
A
L
I
T
Y

O
F

S
E
R
V
I
C
E
S
NETWORK NETWORK
HTTP, FTP,
E-mail, ecc
XML XML- -BASED MESSAGING BASED MESSAGING
SOAP
SERVICE DESCRIPTION SERVICE DESCRIPTION
WSDL
SERVICE PUBLICATION SERVICE PUBLICATION UDDI
SERVICE DISCOVERY SERVICE DISCOVERY UDDI
SERVICE FLOW SERVICE FLOW
WSFL
Fonte: Web Services Conceptual Architecture (WSCA 1.0) IBM 2001
Modalit di interazione con Web Services
Web Service supportano vari stili di interazione, tra
cui:
RPC (Remote Procedure Call) emulation
Asynchronous messaging
One-way messaging
Broadcast
Publish/subscribe

Fonte: Understanding Web Services E. Newcomer - Addison Wesley
17
Web Service
Interface
Interazione RPC-Oriented
Fonte: Understanding Web Services E. Newcomer - Addison Wesley
Application
Programs
or Stored
Procedures
Database
Order
Request
Order
Response
Service
Requestor
Service
Provider
Interazione Document-oriented
Fonte: Understanding Web Services E. Newcomer - Addison Wesley
Check
Database
Purchase
Order
Web Service
Interface
Order
Response
Ship
Send
Receive
Business
Process Flow
Ack
Service
Requestor
Service
Provider
18
Evoluzione dei Web Services (2)
Tactical
Time
A
d
o
p
t
i
o
n
Today
Fonte: Web Services Journal November 2003
Point-to-Point
Integration
Strategic
Enterprise
Middleware
B2B Integration
Security
Process flow
Transactions
Messagging
Modalit di composizione
Web
Service
Web
Service
Web
Service
process flow
Web
Service
Web
Service
Web
Service
collaboration
Web Service
orchestration
Web Service
choreography
VS.
19
The Conceptual Web Services Stack (2003)
S
E
C
U
R
I
T
Y
S
E
C
U
R
I
T
Y
M
A
N
A
G
E
M
E
N
T
M
A
N
A
G
E
M
E
N
T
Q
U
A
L
I
T
Y

O
F

S
E
R
V
I
C
E
S
Q
U
A
L
I
T
Y

O
F

S
E
R
V
I
C
E
S
NETWORK NETWORK
XML XML- -BASED MESSAGING BASED MESSAGING
SERVICE DESCRIPTION SERVICE DESCRIPTION
NON NON- -FUNCTIONAL DESCRIPTION FUNCTIONAL DESCRIPTION
CONVERSATIONS CONVERSATIONS
CHOREOGRAPHY CHOREOGRAPHY
TRANSACTIONS TRANSACTIONS
BUSINESS PROCESS/WORKFLOW BUSINESS PROCESS/WORKFLOW
CONTRACTS CONTRACTS
DISCOVERY DISCOVERY
Fonte: Computer IEEE October 2003
Mappa tecnologica
UDDI
BPEL4WS
WS-Transaction
WS-Coordination
SOAP
WSDL
WSEL
CS-WS WSCL
WSCI
BTP
BPML
DAML-S
service model
DAML-S
service model
DAML-S
service profile
DAML-S
service grounding
RDF
NETWORK NETWORK
XML XML- -BASED BASED
MESSAGING MESSAGING
SERVICE SERVICE
DESCRIPTION DESCRIPTION
NON NON- -FUNCTIONAL FUNCTIONAL
DESCRIPTION DESCRIPTION
CONVERSATIONS CONVERSATIONS
CHOREOGRAPHY CHOREOGRAPHY
TRANSACTIONS TRANSACTIONS
BUSINESS PROCESS BUSINESS PROCESS
/WORKFLOW /WORKFLOW
CONTRACTS CONTRACTS
DISCOVERY DISCOVERY
HTTP, FTP, SMTP and others
WSDL-based Semantic-based ebXML-based
Fonte: Computer IEEE October 2003
ebXML registries
ebXML
CPA
BPML
BPT
ebXML
BPSS
ebXML
CPP
ebXML
messagging
20
Proposte di standard per orchestration
Web Services Coreography Interface (WSCI)
Gruppo di lavoro del W3C fondato nel gennaio 2003
Presidenza: Oracle ed Enigmatic
Primo meeting: 13 marzo 2003
Conta 43 membri tra i quali BEA, Cisco, CA, EDS, HP, Novell, SAP e
Sun
Business Process Execution Language For Web Services
(BPEL4WS)
Comitato tecnico di OASIS creato nellaprile 2003
Presidenza: IBM e Microsoft
Primo meeting: 16 maggio 2003
Annovera tra i suoi membri BEA, EDS, NEC, Novell, Oracle, SAP,
Sun, Sybase
Web Services Composite Application Framework (WS-CAF)
Linee guida proposta tra gli altri da Iona, Sun, Oracle, Fujitsu e
Arjuna
Non ancora proposto a enti di standardizzazione
Si articola in tre sottospecifiche: WS-CTX, WS-CF e WS-TXM
Fonte: ComputerWorld - Italia - ottobre 2003
Evoluzione dei Web Services (3)
Tactical Strategic
Time
A
d
o
p
t
i
o
n
Today
Fonte: Web Services Journal November 2003
Per approfondimenti: http://webservices.xml.com/pub/a/ws/2003/09/30/soa.html
Point-to-Point
Integration
Enterprise
Middleware
B2B Integration
Transformational
Service
Oriented
Architecture
21
Cos il Semantic Web
2sdb3vds2
df3uy4e4v
bjsd,gfqwe
g3vnncvbn
Defqweg3
vnncvbwe
e346n2kv
M7+7
2,kxmr93k
vp2kfv,r
?
RDF
+
OWL
RDF
+
OWL
RDF
+
OWL
RDF
+
OWL
RDF
+
OWL
RDF
+
OWL
The Semantic Web is an
extension of the current web
in which information is given
well-defined meaning, better
enabling computers and
people to work in
cooperation.
Tim Berners-Lee, James Hendler,
Ora Lassila, The Semantic Web,
Scientific American, May 2001
The Semantic Web is an
extension of the current web
in which information is given
well-defined meaning, better
enabling computers and
people to work in
cooperation.
Tim Berners-Lee, James Hendler,
Ora Lassila, The Semantic Web,
Scientific American, May 2001
Esempio di pagina Web semanticamente annotata
22
Esempio applicativo di Semantic Web
2sdb3vds2
df3uy4e4v
bjsd,gfqwe
g3vnncvbn
Defqweg3
vnncvbwe
e346n2kv
M7+7
2,kxmr93k
vp2kfv,r
RDF
+
OWL
RDF
+
OWL
RDF
+
OWL
RDF
+
OWL
RDF
+
OWL
RDF
+
OWL
Richiesta Informazioni
Risultati ricerca
Esempio:
Viaggio di nozze di due
settimane con destinazione
Maldive, pernottamento in
hotel 4 stelle con vista
mare e spiaggia privata.
Viaggio in aereo con posto
per non fumatori. Costo
massimo di 2000 Euro a
persona.
Esempio:
Viaggio di nozze di due
settimane con destinazione
Maldive, pernottamento in
hotel 4 stelle con vista
mare e spiaggia privata.
Viaggio in aereo con posto
per non fumatori. Costo
massimo di 2000 Euro a
persona.
Cosa si intende per Semantic Web Services
2sdb3vds2
df3uy4e4v
bjsd,gfqwe
g3vnncvbn
Defqweg3
vnncvbwe
e346n2kv
M7+7
2,kxmr93k
vp2kfv,r

Service
Provider
Service
Provider
Service
Provider
Service Registries
RDF
+
OWL
RDF
+
OWL
RDF
+
OWL
RDF
+
OWL
RDF
+
OWL
RDF
+
OWL
Prenota il viaggio di nozze
DAML-S
+
RDF
+
OWL
DAML-S
+
RDF
+
OWL
DAML-S
+
RDF
+
OWL
DAML-S
+
RDF
+
OWL
Per approfondire: Pizza and a movie: A case study in Advanced Web Services - http://citeseer.nj.nec.com/dale02pizza.html
23
Evoluzione del World Wide Web
Web
Statico
Web
Dinamico
Oggi
Futuro WWW, HTTP,
HTML, XML
SOAP, WSDL, UDDI
Web Services
RDF, OWL
Semantic Web
DAML-S, RDF,
OWL
Semantic Web
Services
Fonte: Web Services and the Semantic Web, Web Services Journal, December 2002, www.wsj2.com
Conclusioni
I Web Services sono interessanti perch:
Favoriscono linteroperabilit tra sistemi in contesti EAI,
B2B e B2C
Tutti i maggiori produttori software (IBM, Microsoft, SUN,
ecc.) contribuiscono attivamente al loro sviluppo
C spazio per la ricerca e la sperimentazione
Rappresentano un possibile punto di contatto tra il mondo
della ricerca e quello industriale
24
Links
W3C Web Services Activity
http://www.w3.org/2002/ws/
Semantic Web
http://www.w3.org/2001/sw/
http://www.semanticweb.org/
Semantic Web Services
http://swws.semanticweb.org/
Programmazione di WS in Java
http://java.sun.com/webservices/
http://ws.apache.org/
Per scaricare le slide e il codice:
http://www.di.univaq.it/~bianchi/presentazioni.html
bianchi@di.univaq.it
"Things should be made as simple as possible, but no simpler." -- Albert Einstein