Introduzione alle griglie computazionali
Università degli Studi di Napoli Federico II
Corso di Laurea in Informatica – III Anno
LEZIONE N. 10
•
•
•
•
Web Services
SOAP
WSDL
UDDI
Introduzione alle griglie computazionali - a.a. 2005-06
1
Introduzione
Today, the principal use of the World Wide Web is for interactive access to
documents and applications. In almost all cases, such access is by human
users, typically working through web browsers, audio players, or other
interactive front-end systems. The Web can grow significantly in power
and scope if it is extended to support communication between
applications, from one program to another.
- From the W3C XML Protocol Working Group Charter
Introduzione alle griglie computazionali - a.a. 2005-06
2
Web services (1/4)
definizione
•
Un web service e’ un servizio:
-
disponibile tramite Internet/Intranet
che utilizza un sistema standard di messaging
basato su XML
non legato ad un sistema operativo o linguaggio
di programmazione
Introduzione alle griglie computazionali - a.a. 2005-06
3
Web services (2/4)
proprieta’ aggiuntive
-
self-describing: descrizione delle caratteristiche offerte
tramite una grammatica XML
-
discoverable: meccanismo di pubblicazione / identificazione
di un web service tramite la consultazione di registry
dedicati
Introduzione alle griglie computazionali - a.a. 2005-06
4
Web services (3/4)
architettura
•
service provider
implementa e rende disponibile il web service
•
service requestor
utilizza il web service tramite delle richieste XML
•
service registry
contiene le informazioni su come
localizzare web services in base
a delle chiavi di ricerca
Introduzione alle griglie computazionali - a.a. 2005-06
5
Web services (4/4)
protocol stack
Introduzione alle griglie computazionali - a.a. 2005-06
6
SOAP (1/4)
Simple Object Access Protocol
SOAP e’ un protocollo XML-based per l’accesso
ai metodi di un oggetto remoto
caratteristiche principali
-
specifica W3C
semplicita’ di utilizzo
indipendente dal livello di trasporto (HTTP, ...)
indipendente dal sistema operativo
indipendente dal linguaggio di programmazione
Introduzione alle griglie computazionali - a.a. 2005-06
7
SOAP (2/4)
La specifica SOAP definisce tre elementi:
-
SOAP envelope specification
definisce le regole per l’incapsulamento dei dati da trasferire, del metodo
da invocare, dei parametri e/o valori di ritorno
-
data encoding rules
definisce le regole per la codifica delle strutture dati in un messaggio XML
(array, hash table, int, double, float, ...)
-
RPC convention
definisce la convenzione per implementare una RPC call:
messaging one-way, messaging two-way
Introduzione alle griglie computazionali - a.a. 2005-06
8
SOAP (3/4)
SOAP message
Introduzione alle griglie computazionali - a.a. 2005-06
9
SOAP (4/4)
sezioni di un messaggio SOAP
•
envelope
specifica la versione utilizzata (SOAP 1.1 / SOAP 1.2)
•
header
informazioni application-level (es. firma digitale, numero di account, ...)
•
body
contiene le informazioni relative al metodo da invocare
•
fault
contiene le informazioni inviate dal provider al requestor
in caso di errore (es. metodo non esistente, accesso negato, ...)
Introduzione alle griglie computazionali - a.a. 2005-06
10
SOAP request
SOAP response
Introduzione alle griglie computazionali - a.a. 2005-06
11
WSDL (1/6)
Web Service Description Language
WSDL e’ una specifica che definisce come descrivere i web
services tramite una grammatica XML
caratteristiche principali
-
specifica W3C
favorisce l’integrazione di servizi
Introduzione alle griglie computazionali - a.a. 2005-06
12
WSDL (2/6)
La specifica WSDL definisce sei elementi:
•
definitions
root element del documento; specifica il nome del web service e i
namespaces utilizzati nel documento
•
types
descrive i tipi di dati utilizzati tramite la specifica XML-schema
•
messages
descrive ciascun messaggio di tipo one-way
•
portType
descrive le operazioni (funzioni) supportate dal web service
combinando piu’ one-way message
Introduzione alle griglie computazionali - a.a. 2005-06
13
WSDL (3/6)
•
binding
descrive la modalita’ di trasmissione dei messaggi (SOAP, ...)
•
service
descrive l’indirizzo da utilizzare per invocare il web service (URL)
Introduzione alle griglie computazionali - a.a. 2005-06
14
WSDL (4/6)
Esempio: HelloService.wsdl
•
definitions
•
message
(segue)
Introduzione alle griglie computazionali - a.a. 2005-06
15
WSDL (5/6)
•
portType
operation patterns supportati
(segue)
Introduzione alle griglie computazionali - a.a. 2005-06
16
WSDL (6/6)
•
binding
•
service
Introduzione alle griglie computazionali - a.a. 2005-06
17
UDDI (1/7)
Universal Description, Discovery and Integration
UDDI e’ una specifica che definisce come pubblicare e ricercare
dei web service
caratteristiche principali
-
specifica W3C
tecnologia orientata all’e-business
contributo tecnico di Microsoft e IBM
Introduzione alle griglie computazionali - a.a. 2005-06
18
UDDI (2/7)
La specifica UDDI consiste in tre parti:
•
UDDI data model
XML schema per le informazioni contenute nel registro UDDI
•
UDDI API
set di metodi per l’interrogazione di un registry e per la pubblicazione
di un web service
•
UDDI cloud services
set di “operator sites” che forniscono dei registry UDDI e provvedono
alla loro sincronizzazione
Introduzione alle griglie computazionali - a.a. 2005-06
19
UDDI (3/7)
data model
Introduzione alle griglie computazionali - a.a. 2005-06
20
UDDI (4/7)
businessEntity
Introduzione alle griglie computazionali - a.a. 2005-06
21
UDDI (5/7)
businessService
bindingTemplate
tmodel
Introduzione alle griglie computazionali - a.a. 2005-06
22
UDDI (6/7)
inquiry API
Introduzione alle griglie computazionali - a.a. 2005-06
23
UDDI (7/7)
publishing API
Introduzione alle griglie computazionali - a.a. 2005-06
24
Riferimenti
“Web Services Essentials”
Distributed Applications with XML-RPC, SOAP, UDDI and WSDL
Ethan Cerami, O’Reilly, 2002
“W3 schools online web tutorials”
 http://www.w3schools.com
“Xmethod services”
 http://www.xmethods.net
Introduzione alle griglie computazionali - a.a. 2005-06
25
Scarica

Introduzione alle griglie computazionali