LEZIONE N. 10people.na.infn.it/~merola/Lezione n 10.pdf · Introduzione alle griglie computazionali...

13
1 Introduzione alle griglie computazionali - a.a. 2003-04 1 LEZIONE LEZIONE N. 10 Web Services SOAP WSDL UDDI Introduzione alle griglie Introduzione alle griglie computazionali computazionali Università degli Studi di Napoli Federico II Corso di Laurea in Informatica – III Anno Introduzione alle griglie computazionali - a.a. 2003-04 2 Introduzione 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

Transcript of LEZIONE N. 10people.na.infn.it/~merola/Lezione n 10.pdf · Introduzione alle griglie computazionali...

Page 1: LEZIONE N. 10people.na.infn.it/~merola/Lezione n 10.pdf · Introduzione alle griglie computazionali - a.a. 2003-04 5 Web services (3/4) architettura • service provider implementa

1

Introduzione alle griglie computazionali - a.a. 2003-04 1

LEZIONELEZIONE N. 10

• Web Services• SOAP• WSDL• UDDI

Introduzione alle griglie Introduzione alle griglie computazionali computazionali

Università degli Studi di Napoli Federico IICorso di Laurea in Informatica – III Anno

Introduzione alle griglie computazionali - a.a. 2003-04 2

IntroduzioneIntroduzione

Today, the principal use of the World Wide Web is for interactive access todocuments and applications. In almost all cases, such access is by humanusers, typically working through web browsers, audio players, or otherinteractive front-end systems. The Web can grow significantly in powerand scope if it is extended to support communication betweenapplications, from one program to another.

- From the W3C XML Protocol Working Group Charter

Page 2: LEZIONE N. 10people.na.infn.it/~merola/Lezione n 10.pdf · Introduzione alle griglie computazionali - a.a. 2003-04 5 Web services (3/4) architettura • service provider implementa

2

Introduzione alle griglie computazionali - a.a. 2003-04 3

Web services Web services (1/4)(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. 2003-04 4

Web services Web services (2/4)(2/4)

proprieta’ aggiuntive

- self-describing: descrizione delle caratteristiche offertetramite una grammatica XML

- discoverable: meccanismo di pubblicazione / identificazionedi un web service tramite la consultazione di registrydedicati

Page 3: LEZIONE N. 10people.na.infn.it/~merola/Lezione n 10.pdf · Introduzione alle griglie computazionali - a.a. 2003-04 5 Web services (3/4) architettura • service provider implementa

3

Introduzione alle griglie computazionali - a.a. 2003-04 5

Web services Web services (3/4)(3/4)

architettura

• service providerimplementa e rende disponibile il web service

• service requestorutilizza il web service tramite delle richieste XML

• service registrycontiene le informazioni su come localizzare web services in base a delle chiavi di ricerca

Introduzione alle griglie computazionali - a.a. 2003-04 6

Web services Web services (4/4)(4/4)

protocol stack

Page 4: LEZIONE N. 10people.na.infn.it/~merola/Lezione n 10.pdf · Introduzione alle griglie computazionali - a.a. 2003-04 5 Web services (3/4) architettura • service provider implementa

4

Introduzione alle griglie computazionali - a.a. 2003-04 7

SOAP SOAP (1/4)(1/4)

Simple Object Access Protocol

SOAP e’ un protocollo XML-based per l’accessoai 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. 2003-04 8

SOAP SOAP (2/4)(2/4)

La specifica SOAP definisce tre elementi:

- SOAP envelope specificationdefinisce le regole per l’incapsulamento dei dati da trasferire, del metododa invocare, dei parametri e/o valori di ritorno

- data encoding rulesdefinisce le regole per la codifica delle strutture dati in un messaggio XML(array, hash table, int, double, float, ...)

- RPC conventiondefinisce la convenzione per implementare una RPC call: messaging one-way, messaging two-way

Page 5: LEZIONE N. 10people.na.infn.it/~merola/Lezione n 10.pdf · Introduzione alle griglie computazionali - a.a. 2003-04 5 Web services (3/4) architettura • service provider implementa

5

Introduzione alle griglie computazionali - a.a. 2003-04 9

SOAP SOAP (3/4)(3/4)

SOAP message

Introduzione alle griglie computazionali - a.a. 2003-04 10

SOAP SOAP (4/4)(4/4)

sezioni di un messaggio SOAP

• envelopespecifica la versione utilizzata (SOAP 1.1 / SOAP 1.2)

• headerinformazioni application-level (es. firma digitale, numero di account, ...)

• bodycontiene le informazioni relative al metodo da invocare

• faultcontiene le informazioni inviate dal provider al requestorin caso di errore (es. metodo non esistente, accesso negato, ...)

Page 6: LEZIONE N. 10people.na.infn.it/~merola/Lezione n 10.pdf · Introduzione alle griglie computazionali - a.a. 2003-04 5 Web services (3/4) architettura • service provider implementa

6

Introduzione alle griglie computazionali - a.a. 2003-04 11

SOAP request

SOAP response

Introduzione alle griglie computazionali - a.a. 2003-04 12

WSDL WSDL (1/6)(1/6)

Web Service Description Language

WSDL e’ una specifica che definisce come descrivere i webservices tramite una grammatica XML

caratteristiche principali

- specifica W3C- favorisce l’integrazione di servizi

Page 7: LEZIONE N. 10people.na.infn.it/~merola/Lezione n 10.pdf · Introduzione alle griglie computazionali - a.a. 2003-04 5 Web services (3/4) architettura • service provider implementa

7

Introduzione alle griglie computazionali - a.a. 2003-04 13

WSDL WSDL (2/6)(2/6)

La specifica WSDL definisce sei elementi:

• definitionsroot element del documento; specifica il nome del web service e inamespaces utilizzati nel documento

• typesdescrive i tipi di dati utilizzati tramite la specifica XML-schema

• messagesdescrive ciascun messaggio di tipo one-way

• portTypedescrive le operazioni (funzioni) supportate dal web service combinando piu’ one-way message

Introduzione alle griglie computazionali - a.a. 2003-04 14

WSDL WSDL (3/6)(3/6)

• bindingdescrive la modalita’ di trasmissione dei messaggi (SOAP, ...)

• servicedescrive l’indirizzo da utilizzare per invocare il web service (URL)

Page 8: LEZIONE N. 10people.na.infn.it/~merola/Lezione n 10.pdf · Introduzione alle griglie computazionali - a.a. 2003-04 5 Web services (3/4) architettura • service provider implementa

8

Introduzione alle griglie computazionali - a.a. 2003-04 15

WSDL WSDL (4/6)(4/6)

Esempio: HelloService.wsdl

• definitions

• message

(segue)

Introduzione alle griglie computazionali - a.a. 2003-04 16

WSDL WSDL (5/6)(5/6)

• portType

operation patterns supportati

(segue)

Page 9: LEZIONE N. 10people.na.infn.it/~merola/Lezione n 10.pdf · Introduzione alle griglie computazionali - a.a. 2003-04 5 Web services (3/4) architettura • service provider implementa

9

Introduzione alle griglie computazionali - a.a. 2003-04 17

WSDL WSDL (6/6)(6/6)

• binding

• service

Introduzione alle griglie computazionali - a.a. 2003-04 18

UDDI UDDI (1/7)(1/7)

Universal Description, Discovery and Integration

UDDI e’ una specifica che definisce come pubblicare e ricercaredei web service

caratteristiche principali

- specifica W3C- tecnologia orientata all’e-business- contributo tecnico di Microsoft e IBM

Page 10: LEZIONE N. 10people.na.infn.it/~merola/Lezione n 10.pdf · Introduzione alle griglie computazionali - a.a. 2003-04 5 Web services (3/4) architettura • service provider implementa

10

Introduzione alle griglie computazionali - a.a. 2003-04 19

UDDI UDDI (2/7)(2/7)

La specifica UDDI consiste in tre parti:

• UDDI data modelXML schema per le informazioni contenute nel registro UDDI

• UDDI APIset di metodi per l’interrogazione di un registry e per la pubblicazionedi un web service

• UDDI cloud servicesset di “operator sites” che forniscono dei registry UDDI e provvedonoalla loro sincronizzazione

Introduzione alle griglie computazionali - a.a. 2003-04 20

UDDI UDDI (3/7)(3/7)

data model

Page 11: LEZIONE N. 10people.na.infn.it/~merola/Lezione n 10.pdf · Introduzione alle griglie computazionali - a.a. 2003-04 5 Web services (3/4) architettura • service provider implementa

11

Introduzione alle griglie computazionali - a.a. 2003-04 21

UDDI UDDI (4/7)(4/7)

businessEntity

Introduzione alle griglie computazionali - a.a. 2003-04 22

UDDI UDDI (5/7)(5/7)

businessServicebindingTemplate

tmodel

Page 12: LEZIONE N. 10people.na.infn.it/~merola/Lezione n 10.pdf · Introduzione alle griglie computazionali - a.a. 2003-04 5 Web services (3/4) architettura • service provider implementa

12

Introduzione alle griglie computazionali - a.a. 2003-04 23

UDDI UDDI (6/7)(6/7)

inquiry API

Introduzione alle griglie computazionali - a.a. 2003-04 24

UDDI UDDI (7/7)(7/7)

publishing API

Page 13: LEZIONE N. 10people.na.infn.it/~merola/Lezione n 10.pdf · Introduzione alle griglie computazionali - a.a. 2003-04 5 Web services (3/4) architettura • service provider implementa

13

Introduzione alle griglie computazionali - a.a. 2003-04 25

RiferimentiRiferimenti

“Web Services Essentials”Distributed Applications with XML-RPC, SOAP, UDDI and WSDLEthan Cerami, O’Reilly, 2002

“W3 schools online web tutorials”→ http://www.w3schools.com

“Xmethod services”→ http://www.xmethods.net