Upload
kaethe-reeb
View
109
Download
2
Embed Size (px)
Citation preview
WebServices and Grid Computing
Ein Vortrag von Frank Schlesinger([email protected])
zum Seminar “Advanced Topics in Networking”, WS 03/04, Prof. Dr. Schiller
2
Überblick
1. Grid Computing Einleitung und Definition Beispiele
2. Web Services Einleitung und Standards
3. WebServices and Grid Computing Spezifikation und Code
1. Grid Computing
4
1.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, …)
5
1.2 Definition Netzwerk Technologie zum Zwecke des flexiblem, sicherem, koordiniertem, “resource sharing”
6
1.2 Definition zwischen dynamischen Gruppen von Einzelnen oder Institutionen.
7
1.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.
8
1.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.
9
1.4 Ein Beispiel
B
A
C
Baut Flugzeuge
Testet Modelle
Verkauft CPU Leistung
10
1.4 Ein Beispiel Die Firmen benutzen GC, damit:
11
1.4 Ein Beispiel
B
A
B auf Modelldaten von A zugreifen kann
12
1.4 Ein Beispiel
B
A
C
B während des Messvorgangs CPU Leistung von C benutzen kann
13
1.4 Ein Beispiel
B
A
C
A die Ergebnisse in Echtzeit erhällt.
14
1.5 Weitere Beispiele Tausende Physiker werten CERN
Experiment aus. Ein Softwarehersteller schaltet Rechner
für “nightly build” zusammen. Online Meta-Bibiliothek
15
1.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.
16
1.6 Abgrenzung “recource sharing” mit GC überschreitet
Grenzen von Platformen, Firmen, Domains, …
“resource” kann fast alles sein. Z.B.: Dateien, CPU-Power,
Benutzerinformationen
17
1.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.
18
1.7 Virtuelle Organisation
B
A
C
VO
19
1.7 Virtuelle Organisation
B
A
C
VO 1
?
VO 2
20
1.8 Architektur GC ist software. Globus Toolkit (Globus Alliance
[www.globus.org]) SUN, IBM, … Architektur ist ein Protokoll-Stack.
21
1.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
22
1.9 Fabric Ebene Eine phys. Resource,
die diese Op. implementiert ist eine:
Grid Resource (GR) Verschiedene Arten
von GRs existieren:
Fabric Link
23
1.10 Connectivity Ebene Greift auf GR über
Interface zu und behandelt
Kommunikation und Authetifizierung mit
GR.
Fabric
Connectivity
Link
Internet
Transport
24
1.11 Resource Ebene Stellt Interfaces, APIs
und SDKs bereit zum Zugriff auf GR via Connectivity Ebene.
Fabric
Connectivity
Resource
Link
Internet
Transport
25
1.12 Colective Ebene Behandelt Aufgaben
des globalen Zustands des Grid
sowie Gruppen von Resourcen.
Fabric
Connectivity
Resource
Collective
Link
Internet
Transport
26
1.13 Application Ebene Hier liegen die
Anwendungen die auf dem Grid laufen.
Fabric
Connectivity
Resource
Collective
Application
Link
Internet
Transport
Application
2. WebServices
28
2.1 Einleitung Bekannte Technologien (HTTP, XML)
werden hier zusammengefasst. Neue Standards kommen dazu (W3C
[www.w3.org])
29
2.2 Definition Eine Anwendung, auf die über
WebService Protokolle zugegriffen werden kann heißt WebService.
30
2.3 Beispiele Webseiten CGI Skripte via Web RPC via SOAP …
31
2.4 Standards WebServices werden weiterentwickelt. Abstraktion von konkreter Aufgabe. Mehr Flexibilität
32
2.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.
33
2.4.1 WSDL Beispiel Der Kopf<?xml version="1.0"?><definitions name="StockQuote"targetNamespace="http://example.com/stockquote.wsdl" xmlns:tns="http://example.com/stockquote.wsdl" xmlns:xsd1="http://example.com/stockquote.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/">
34
2.4.1 WSDL Beispiel Typdefinitionen<types>
<element name="TradePriceRequest"> <complexType>
<all>
<element name="tickerSymbol” type="string"/>
</all>
</complexType>
</element>
35
2.4.1 WSDL Beispiel Typdefinitionen<element name="TradePrice">
<complexType>
<all>
<element name="price" type="float"/>
</all>
</complexType>
</element>
</types>
36
2.4.1 WSDL Beispiel Messagedefinitionen<message name="GetLastTradePriceInput"> <part name="body"
element="xsd1:TradePriceRequest"/> </message>
<message name="GetLastTradePriceOutput"> <part name="body" element="xsd1:TradePrice"/></message>
37
2.4.1 WSDL Beispiel Portdefinitionen<portType name="StockQuotePortType"> <operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceInput"/> <output message="tns:GetLastTradePriceOutput"/> </operation></portType>
38
2.4.1 WSDL Beispiel Bindings<binding><soap:binding>
<operation name="GetLastTradePrice"> <soap:operation soapAction="http://example.com/GetLastTradePrice"/><input><soap:body use="literal"/></input> <output><soap:body use="literal"/> </output>
</operation></binding>
39
2.4.1 WSDL Beispiel Services<service name="StockQuoteService"> <documentation>My first service</documentation>
<port name="StockQuotePort" binding="tns:StockQuoteBinding">
<soap:address location="http://example.com/stockquote"/></port></service></definitions>
40
2.5 weitere WebService Protokolle WS-Inspection: Sprache zur
Beschreibung vorhandener WebServices
WS-Notification: Reagiert auf das Zutreffen bestimmter Bedingungen
…
3. WebServices and GridComputing
42
3.1 Motivation WebServices bieten viele Vorteile: Offene Standards Etabliert und verbreitet Vetrauenswürdig
43
3.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.
44
3.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:
45
3.2 serviceData - Beispiel
<gwsdl:portType name="exampleSDUse"> *
<sd:serviceData name="sd1" type=”xsd:String”mutability=”static”/>
<sd:serviceData name="sd2 type=”tns:SomeComplexType”/>
<sd:staticServiceDataValues><tns:sdl>initValue</tns:sd1>
</sd:staticServiceDataValues></gwsdl:portType>
46
3.3 GS serviceData GS müssen bestimmte serviceData
Typen bereitstellen<sd:serviceData name=”serviceDataName” type=”xsd:QName”
minOccurs=”0” maxOccurs=”unbounded”mutability=”mutable”
nillable=”false”/>...<sd:serviceData name=”gridServiceHandle”
type=”ogsi:HandleType”minOccurs=”0” maxOccurs=”unbounded”mutability=”extendable”/>
47
3.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
Noch Fragen?
49
3.5 Referenzen [1] Foster, Kesselman, Tuecke: ”The Anatomy of
the Grid”. Intl. J . Supercomputer Applications, 2001, http://www.globus.org/research/papers/anatomy.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.org/research/papers/ogsa.pdf
50
3.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
51
2.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.
52
2.3.1 SOAP Beispiel Der Container
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
...
</env:Envelope>
53
2.3.1 SOAP Beispiel Der Header
<env:Header><n:alertcontrol
xmlns:n="http://example.org/alertcontrol"><n:priority>1</n:priority> <n:expires>
2001-06-22T14:00:00-05:00</n:expires>
</n:alertcontrol></env:Header>
54
2.3.1 SOAP Beispiel Der Body
<env:Body><m:alert
xmlns:m="http://example.org/alert"> <m:msg>Pick up Mary at school at 2pm</m:msg>
</m:alert></env:Body>