+ All Categories
Home > Documents > LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. ·...

LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. ·...

Date post: 16-Aug-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
41
Griglie computazionali - a.a. 2008-09 1 LEZIONE LEZIONE N. 14 Web Services SOAP WSDL UDDI CE-CREAM SRM Griglie Griglie computazionali computazionali Università degli Studi di Napoli Federico II Corso di Laurea Magistrale in Informatica – I Anno
Transcript
Page 1: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 1

LEZIONELEZIONE N. 14

• Web Services• SOAP• WSDL• UDDI• CE-CREAM• SRM

Griglie Griglie computazionalicomputazionali

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

Page 2: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 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 3: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 3

Web Web servicesservices(1/4)(1/4)

definizione

• Un web servicee’ 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

Page 4: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 4

Web Web servicesservices(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 5: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 5

Web Web servicesservices(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

Page 6: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 6

Web Web servicesservices(4/4)(4/4)

protocol stack

Page 7: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 7

SOAP SOAP (1/4)(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

Page 8: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 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 9: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 9

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

SOAP message

Page 10: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 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 11: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 11

SOAP request

SOAP response

Page 12: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 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 13: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 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 servicecombinando piu’ one-way message

Page 14: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 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 15: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 15

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

Esempio: HelloService.wsdl

• definitions

• message

(segue)

Page 16: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 16

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

• portType

operation patterns supportati

(segue)

Page 17: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 17

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

• binding

• service

Page 18: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 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 19: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 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

Page 20: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 20

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

data model

Page 21: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 21

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

businessEntity

Page 22: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 22

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

businessServicebindingTemplate

tmodel

Page 23: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 23

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

inquiry API

Page 24: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 24

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

publishing API

Page 25: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 25

BES BES Basic Execution ServiceBasic Execution Service

In ambito OGF (Open Grid Forum) è stata definita la versione 1.0 dell’interfaccia per l’interazione con le risorse computazionali.

Basic Execution Service (BES) definisce le specifiche diun servizio al quale i client possono sottomettererichieste per inizializzare monitorare ed eseguire ilmanagement di computational activities.

Tale specifica definisce un modello estendibile per le suddette attività, un information model e due port-types; BES-Management e BES-Factory.

Page 26: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 26

BES BES Basic Execution ServiceBasic Execution Service

BES-Management definisce le operazioni necessarie per il management del servizio BES stesso.

BES-Factory definisce le operazioni di initiating, monitoring, and managing e l’accesso alle informazioni relative al servizio

Page 27: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 27

BESBES--OGSA Open OGSA Open GridGrid ServiceServiceArchitectureArchitecture

Page 28: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 28

CECE--CREAM CREAM

CREAM (Computing Resource Execution And Management) è un servizio leggero che implementa tutte le operazioni di livello Computing Element (CE).

Presenta una WebService-based interface, è implementato come una estensione Java-Axis servlet (sviluppato all’interno dell’Apache Tomcat container)

L’obiettivo è garantire l’interoperabilità con clientscritti in vari tipi di linguaggio e operanti su differenti computer platform.

L’interfaccia CREAM è definita usando Web Service DescriptionLanguage (WSDL); ognuno può generare il proprio client CREAM semplicemente.

Page 29: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 29

CECE--CREAM CREAM IL CE CREAM SUPPORTA

Job SubmissionSupport for batch and MPI jobsSupport for bulk jobs being integrated

Manual and automatic proxy delegationJob CancellationJob Info with configurable level of verbosity and filtering based on submission time and/or job statusJob ListJob Suspension and ResumeGSI based authenticationVOMS based authorizationJob Purge for terminated jobsPossibility (for admin) to disable new submissions

Page 30: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 30

CECE--CREAM CREAM

CREAM può essere usato

Dal Workload Management System (WMS), tramite il servizio ICE (Interface to CREAM Environment).

Da un generico client, ad esempio un software di livello utente chesottomette job direttamente verso il CREAM CE.

Tramite C++ command line interface e Java clients.

Page 31: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 31

CECE--CREAM CREAM

Page 32: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 32

CECE--CREAM CREAM

Page 33: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 33

BESBES--enableenableCREAM CREAM

L’interfaccia legacy del CE CREAM non èattualmente BES-compliant. Un prototipoBES/JSDL-enabled CREAM è stato sviluppatonell’ambito del progetto OMII-EU project.

Il servizio CREAM-BES espone due interfacceWSDL separate, una con la "legacy CREAM interface”, e l’altra BES/JSDL compliant.

Entrambe le interfacce possono essere utilizzatecontemporaneamente.

Page 34: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 34

BESBES--enableenableCREAM CREAM

Page 35: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 35

BESBES--CREAM CREAM VsVs LegacyLegacyCREAMCREAM

Page 36: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 36

SRM SRM –– StorageStorageResourceResourceManagerManager

Page 37: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 37

SRM SRM –– StorageStorageResourceResourceManagerManager

Data Transfer Functions

Page 38: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 38

SRM SRM –– WSDL INTERFACEWSDL INTERFACE<simpleType name="TFileStorageType"><restriction base="xsd:string"><enumeration value="VOLATILE"/><enumeration value="DURABLE"/><enumeration value="PERMANENT"/></restriction></simpleType><simpleType name="TFileType"><restriction base="xsd:string"><enumeration value="FILE"/><enumeration value="DIRECTORY"/><enumeration value="LINK"/></restriction></simpleType><simpleType name="TRetentionPolicy"><restriction base="xsd:string"><enumeration value="REPLICA"/><enumeration value="OUTPUT"/><enumeration value="CUSTODIAL"/></restriction></simpleType>

</wsdl:documentation><wsdl:types>

<schema targetNamespace="http://srm.lbl.gov/StorageResourceManager" xmlns="http://www.w3.org/2001/XMLSchema">

<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>

Page 39: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 39

SRM SRM –– WSDL INTERFACEWSDL INTERFACE

<wsdl:message name="srmMkdirRequest">

<wsdl:part name="srmMkdirRequest" type="impl:srmMkdirRequest"/>

</wsdl:message>

<wsdl:message name="srmMkdirResponse">

<wsdl:part name="srmMkdirResponse" type="impl:srmMkdirResponse"/>

</wsdl:message>

Page 40: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 40

SRM SRM –– WSDL INTERFACEWSDL INTERFACE<wsdl:operation name="srmMkdir">

<wsdl:input message="impl:srmMkdirRequest" name="srmMkdirRequest"/>

<wsdl:output message="impl:srmMkdirResponse" name="srmMkdirResponse"/>

</wsdl:operation>

<wsdl:operation name="srmRmdir">

<wsdl:input message="impl:srmRmdirRequest" name="srmRmdirRequest"/>

<wsdl:output message="impl:srmRmdirResponse" name="srmRmdirResponse"/>

</wsdl:operation>

Page 41: LEZIONE N. 14LEZIONEpeople.na.infn.it/~merola/griglie/Lezione_14_aa_2008-09.pdf · 2009. 5. 18. · Griglie computazionali - a.a. 2008-09 13 WSDL (2/6) La specifica WSDL definisce

Griglie computazionali - a.a. 2008-09 41

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

“BES-CREAM”http://www.ogf.org/OGF23/materials/1317/OGF23-2-4-gLite.pdf


Recommended