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

Post on 16-Aug-2020

0 views 0 download

transcript

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

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

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

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

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

Griglie computazionali - a.a. 2008-09 6

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

protocol stack

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

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

Griglie computazionali - a.a. 2008-09 9

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

SOAP message

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, ...)

Griglie computazionali - a.a. 2008-09 11

SOAP request

SOAP response

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

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

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)

Griglie computazionali - a.a. 2008-09 15

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

Esempio: HelloService.wsdl

• definitions

• message

(segue)

Griglie computazionali - a.a. 2008-09 16

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

• portType

operation patterns supportati

(segue)

Griglie computazionali - a.a. 2008-09 17

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

• binding

• service

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

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

Griglie computazionali - a.a. 2008-09 20

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

data model

Griglie computazionali - a.a. 2008-09 21

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

businessEntity

Griglie computazionali - a.a. 2008-09 22

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

businessServicebindingTemplate

tmodel

Griglie computazionali - a.a. 2008-09 23

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

inquiry API

Griglie computazionali - a.a. 2008-09 24

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

publishing API

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.

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

Griglie computazionali - a.a. 2008-09 27

BESBES--OGSA Open OGSA Open GridGrid ServiceServiceArchitectureArchitecture

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.

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

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.

Griglie computazionali - a.a. 2008-09 31

CECE--CREAM CREAM

Griglie computazionali - a.a. 2008-09 32

CECE--CREAM CREAM

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.

Griglie computazionali - a.a. 2008-09 34

BESBES--enableenableCREAM CREAM

Griglie computazionali - a.a. 2008-09 35

BESBES--CREAM CREAM VsVs LegacyLegacyCREAMCREAM

Griglie computazionali - a.a. 2008-09 36

SRM SRM –– StorageStorageResourceResourceManagerManager

Griglie computazionali - a.a. 2008-09 37

SRM SRM –– StorageStorageResourceResourceManagerManager

Data Transfer Functions

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/"/>

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>

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>

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