Title: WebServices and Grid Computing
1WebServices and Grid Computing
- Ein Vortrag von Frank Schlesinger
- (Frank_at_Schlesinger.com)
- zum Seminar Advanced Topics in Networking, WS
03/04, Prof. Dr. Schiller
2Überblick
- Grid Computing
- Einleitung und Definition
- Beispiele
- Web Services
- Einleitung und Standards
- WebServices and Grid Computing
- Spezifikation und Code
31. Grid Computing
41.1 Einleitung
- Erste erfolgreiche Experimente vor 10 Jahren -
Rick Stevens (Argonne), Tom DeFanti (UI). - Großes Interesse von U.S. reg. Organisationen
(DARPA, DOE, ) - Unterstützung aus der Wirtschaft (IBM, SUN, )
51.2 Definition
- Netzwerk Technologie zum Zwecke des
- flexiblem,
- sicherem,
- koordiniertem,
- resource sharing
61.2 Definition
- zwischen dynamischen Gruppen von
- Einzelnen oder
- Institutionen.
71.3 Aufgabe
- GC soll Grid Probleme (GP) lösen.
- GPs sind Probleme bei denen die Zusammenschaltung
von vielen Resourcen aus verschiedenen Netzen zur
Lösung sinnvoll ist.
81.4 Ein Beispiel
- 3 Firmen
- A baut Flugzeuge.
- B testet Flugzeugmodelle im Windkanal.
- C verkauft CPU Leistung.
- Die 3 Firmen residieren an verschiedenen Orten
der Welt.
91.4 Ein Beispiel
Baut Flugzeuge
A
Testet Modelle
B
Verkauft CPU Leistung
101.4 Ein Beispiel
- Die Firmen benutzen GC, damit
111.4 Ein Beispiel
B auf Modelldaten von A zugreifen kann
A
B
121.4 Ein Beispiel
B während des Messvorgangs CPU Leistung von C
benutzen kann
A
B
C
131.4 Ein Beispiel
A die Ergebnisse in Echtzeit erhällt.
A
B
C
141.5 Weitere Beispiele
- Tausende Physiker werten CERN Experiment aus.
- Ein Softwarehersteller schaltet Rechner für
nightly build zusammen. - Online Meta-Bibiliothek
151.6 Abgrenzung
- GC überschneidet sich mit herkömmlichen Netzwerk
Technologien. - Z.B. VPN, Peer-To-Peer, LDAP,
- GC vereinigt in sich Vorteile vieler special
purpose Technologien. - GC geht noch weiter.
161.6 Abgrenzung
- recource sharing mit GC überschreitet Grenzen
von Platformen, Firmen, Domains, - resource kann fast alles sein.
- Z.B. Dateien, CPU-Power, Benutzerinformationen
171.7 Virtuelle Organisation
- Teilnehmer im GC bilden eine Virtuelle
Organisation (VO). - VOs können on-demand enstehen und enden - sie
sind dynamisch. - Teilnehmer können in mehreren VOs partizipieren.
181.7 Virtuelle Organisation
A
VO
B
191.7 Virtuelle Organisation
A
VO 1
VO 2
B
C
?
201.8 Architektur
- GC ist software.
- Globus Toolkit (Globus Alliance www.globus.org)
- SUN, IBM,
- Architektur ist ein Protokoll-Stack.
211.9 Fabric Ebene
- Unterste Ebene im Stack
- Proprietärer Code für physikalische Resourcen
- Von außen Zugriff via Interface
- Resourcen implementieren Enquiry und Resource
Mana-gement Operationen.
Fabric
Link
221.9 Fabric Ebene
- Eine phys. Resource, die diese Op. implementiert
ist eine - Grid Resource (GR)
- Verschiedene Arten von GRs existieren
Fabric
Link
231.10 Connectivity Ebene
- Greift auf GR über Interface zu und behandelt
- Kommunikation und
- Authetifizierung mit GR.
Connectivity
Fabric
Link
241.11 Resource Ebene
- Stellt Interfaces, APIs und SDKs bereit zum
Zugriff auf GR via Connectivity Ebene.
Resource
Transport
Connectivity
Internet
Fabric
Link
251.12 Colective Ebene
- Behandelt Aufgaben des globalen Zustands des Grid
- sowie Gruppen von Resourcen.
Collective
Resource
Transport
Connectivity
Internet
Fabric
Link
261.13 Application Ebene
- Hier liegen die Anwendungen die auf dem Grid
laufen.
Application
Application
Collective
Resource
Transport
Connectivity
Internet
Fabric
Link
272. WebServices
282.1 Einleitung
- Bekannte Technologien (HTTP, XML) werden hier
zusammengefasst. - Neue Standards kommen dazu (W3C www.w3.org)
292.2 Definition
- Eine Anwendung, auf die über WebService
Protokolle zugegriffen werden kann heißt
WebService.
302.3 Beispiele
- Webseiten
- CGI Skripte via Web
- RPC via SOAP
312.4 Standards
- WebServices werden weiterentwickelt.
- Abstraktion von konkreter Aufgabe.
- Mehr Flexibilität
322.4 Web Service Description Language
- WSDL ist auch XML basiert.
- WSDL beschreibt WebServices als Endpunkte.
- Auf einem Endpunkt werden Operationen definiert,
die die eingehenden Daten bearbeiten.
332.4.1 WSDL Beispiel
lt?xml version"1.0"?gtltdefinitions
name"StockQuote"targetNamespace"http//example.c
om/stockquote.wsdl" xmlnstns"http//exa
mple.com/stockquote.wsdl"
xmlnsxsd1"http//example.com/stockquote.xsd"
xmlnssoap"http//schemas.xmlsoap.org/wsdl/
soap/" xmlns"http//schemas.xmlsoap.org/
wsdl/"gt
342.4.1 WSDL Beispiel
lttypesgt ltelement name"TradePriceRequest"gt
ltcomplexTypegt ltallgt ltelement
name"tickerSymbol type"string"/gt lt/allgt lt/comp
lexTypegt lt/elementgt
352.4.1 WSDL Beispiel
ltelement name"TradePrice"gt
ltcomplexTypegt ltallgt ltelement name"price"
type"float"/gt lt/allgt lt/complexTypegt lt/elementgt
lt/typesgt
362.4.1 WSDL Beispiel
ltmessage name"GetLastTradePriceInput"gt
ltpart name"body" element"xsd1TradePriceReq
uest"/gt lt/messagegt ltmessage
name"GetLastTradePriceOutput"gt ltpart
name"body" element"xsd1TradePrice"/gt lt/messagegt
372.4.1 WSDL Beispiel
ltportType name"StockQuotePortType"gt
ltoperation name"GetLastTradePrice"gt
ltinput message"tnsGetLastTradePriceInput"/gt
ltoutput message"tnsGetLastTradePriceOu
tput"/gt lt/operationgt lt/portTypegt
382.4.1 WSDL Beispiel
ltbindinggt ltsoapbindinggt ltoperation
name"GetLastTradePrice"gt
ltsoapoperation soapAction"http//example.com/G
etLastTradePrice"/gt ltinputgtltsoapbody
use"literal"/gtlt/inputgt
ltoutputgtltsoapbody use"literal"/gt
lt/outputgt lt/operationgt lt/bindinggt
392.4.1 WSDL Beispiel
ltservice name"StockQuoteService"gt
ltdocumentationgtMy first service lt/documentationgt
ltport name"StockQuotePort" binding"tnsStockQ
uoteBinding"gt ltsoapaddress
location"http//example.com/stockquote"/gt lt/portgt
lt/servicegt lt/definitionsgt
402.5 weitere WebService Protokolle
- WS-Inspection Sprache zur Beschreibung
vorhandener WebServices - WS-Notification Reagiert auf das Zutreffen
bestimmter Bedingungen
413. WebServices and GridComputing
423.1 Motivation
- WebServices bieten viele Vorteile
- Offene Standards
- Etabliert und verbreitet
- Vetrauenswürdig
433.1 Open Grid Standard Infrastructure
- Standard vom Global Grid Forum (GGF
www.ggf.org) - Definiert GridServices (GS) als spezielle
WebServices - Beschreibung der GS erfolgt in WSDL. WSDL wird um
spez. Grid Möglichkeiten erweitert gWSDL - WSDL wird um neue portTypes erweitert.
443.1 Open Grid Standard Infrastructure
- OGSI beschreibt, welche Interfaces GS
implementieren müssen. - Entwicklungen aus der OGSI können auch für
allgeimene WebServices relevant sein
(serviceData). - Exemplarisch betrachten wir nun serviceData
453.2 serviceData - Beispiel
ltgwsdlportType name"exampleSDUse"gt
ltsdserviceData name"sd1" typexsdString m
utabilitystatic/gt ltsdserviceData name"sd2
typetnsSomeComplexType/gt ltsdstaticServiceD
ataValuesgt lttnssdlgtinitValuelt/tnssd1gt lt/sdst
aticServiceDataValuesgt lt/gwsdlportTypegt
463.3 GS serviceData
- GS müssen bestimmte serviceData Typen
bereitstellen
ltsdserviceData nameserviceDataName
typexsdQName minOccurs0
maxOccursunbounded mutabilitymutable
nillablefalse/gt ... ltsdserviceData
namegridServiceHandle typeogsiHandleType
minOccurs0 maxOccursunbounded mutabilitye
xtendable/gt
473.4 mehr OGSI
- Wie serviceData müssen GS eine ganze Reihe
Interfaces implementieren. - Z.B. Grid Service Handle, Grid Service Resolver
- Oder Fault Informations
- Alles wiederum in WSDL formuliert
48Noch Fragen?
493.5 Referenzen
- 1 Foster, Kesselman, Tuecke The Anatomy of
the Grid. Intl. J . Supercomputer Applications,
2001, http//www.globus.org/research/papers/anatom
y.pdf - 2 Tuecke, Czajkowski, Foster, Frey, Graham,
Kesselman, Maquire, Sandholm, Snelling,
Vanderbilt Open Grid Service Infrastructure
(OGSI) 1.0. The Global Grid Forum, 2003,
http//www.ggf.org/ogsi-wg - 3 Foster, Kesselman, Nick, Tuecke The
Physiology of the Grid - An Open Grid Services
Architecture for Distributed Systems Integration
. 2002, The Globus Alliance, http//www.globus.or
g/research/papers/ogsa.pdf
503.5 Referenzen
- 4 Web Service Description Language (WSDL)
1.1. World Wide Web Consortium, 2001,
http//www.w3.org/tr/wsdl - 5 SOAP Version 1.2 Part 1 Messaging
Framework. World Wide Web Consortium, 2003,
http//www.w3.org/tr/soap
512.3 Simple Open Acces Protokoll
- SOAP ist rel. neues Protokoll zur Verpackung von
Daten wie auch HTML. - SOAP ist Teilmenge von XML
- SOAP modelliert Objekte.
522.3.1 SOAP Beispiel
ltenvEnvelope xmlnsenv"http//www.w3.org/2003/05
/soap-envelope"gt ... lt/envEnvelopegt
532.3.1 SOAP Beispiel
ltenvHeadergt ltnalertcontrol xmlnsn"http//
example.org/alertcontrol"gt ltnprioritygt1lt/nprio
ritygt ltnexpiresgt 2001-06-22T140000-050
0 lt/nexpiresgt lt/nalertcontrolgt lt/envHeadergt
542.3.1 SOAP Beispiel
ltenvBodygt ltmalert xmlnsm"http//example.org/a
lert"gt ltmmsggt Pick up Mary at school at
2pm lt/mmsggt lt/malertgt lt/envBodygt