lezione n. 14lezionepeople.na.infn.it/~merola/griglie/lezione_14_aa_2008-09.pdf · 2009. 5. 18. ·...
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