WebServices and Grid Computing Ein Vortrag von Frank Schlesinger ([email protected]) zum Seminar...

54
WebServices and Grid Computing Ein Vortrag von Frank Schlesinger ([email protected]) zum Seminar “Advanced Topics in Networking”, WS 03/04, Prof. Dr. Schiller

Transcript of WebServices and Grid Computing Ein Vortrag von Frank Schlesinger ([email protected]) zum Seminar...

Page 1: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

WebServices and Grid Computing

Ein Vortrag von Frank Schlesinger([email protected])

zum Seminar “Advanced Topics in Networking”, WS 03/04, Prof. Dr. Schiller

Page 2: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

2

Überblick

1. Grid Computing Einleitung und Definition Beispiele

2. Web Services Einleitung und Standards

3. WebServices and Grid Computing Spezifikation und Code

Page 3: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

1. Grid Computing

Page 4: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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

Page 5: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

5

1.2 Definition Netzwerk Technologie zum Zwecke des flexiblem, sicherem, koordiniertem, “resource sharing”

Page 6: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

6

1.2 Definition zwischen dynamischen Gruppen von Einzelnen oder Institutionen.

Page 7: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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.

Page 8: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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.

Page 9: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

9

1.4 Ein Beispiel

B

A

C

Baut Flugzeuge

Testet Modelle

Verkauft CPU Leistung

Page 10: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

10

1.4 Ein Beispiel Die Firmen benutzen GC, damit:

Page 11: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

11

1.4 Ein Beispiel

B

A

B auf Modelldaten von A zugreifen kann

Page 12: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

12

1.4 Ein Beispiel

B

A

C

B während des Messvorgangs CPU Leistung von C benutzen kann

Page 13: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

13

1.4 Ein Beispiel

B

A

C

A die Ergebnisse in Echtzeit erhällt.

Page 14: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

14

1.5 Weitere Beispiele Tausende Physiker werten CERN

Experiment aus. Ein Softwarehersteller schaltet Rechner

für “nightly build” zusammen. Online Meta-Bibiliothek

Page 15: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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.

Page 16: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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

Page 17: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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.

Page 18: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

18

1.7 Virtuelle Organisation

B

A

C

VO

Page 19: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

19

1.7 Virtuelle Organisation

B

A

C

VO 1

?

VO 2

Page 20: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

20

1.8 Architektur GC ist software. Globus Toolkit (Globus Alliance

[www.globus.org]) SUN, IBM, … Architektur ist ein Protokoll-Stack.

Page 21: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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

Page 22: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

22

1.9 Fabric Ebene Eine phys. Resource,

die diese Op. implementiert ist eine:

Grid Resource (GR) Verschiedene Arten

von GRs existieren:

Fabric Link

Page 23: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

23

1.10 Connectivity Ebene Greift auf GR über

Interface zu und behandelt

Kommunikation und Authetifizierung mit

GR.

Fabric

Connectivity

Link

Internet

Transport

Page 24: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

24

1.11 Resource Ebene Stellt Interfaces, APIs

und SDKs bereit zum Zugriff auf GR via Connectivity Ebene.

Fabric

Connectivity

Resource

Link

Internet

Transport

Page 25: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

25

1.12 Colective Ebene Behandelt Aufgaben

des globalen Zustands des Grid

sowie Gruppen von Resourcen.

Fabric

Connectivity

Resource

Collective

Link

Internet

Transport

Page 26: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

26

1.13 Application Ebene Hier liegen die

Anwendungen die auf dem Grid laufen.

Fabric

Connectivity

Resource

Collective

Application

Link

Internet

Transport

Application

Page 27: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

2. WebServices

Page 28: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

28

2.1 Einleitung Bekannte Technologien (HTTP, XML)

werden hier zusammengefasst. Neue Standards kommen dazu (W3C

[www.w3.org])

Page 29: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

29

2.2 Definition Eine Anwendung, auf die über

WebService Protokolle zugegriffen werden kann heißt WebService.

Page 30: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

30

2.3 Beispiele Webseiten CGI Skripte via Web RPC via SOAP …

Page 31: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

31

2.4 Standards WebServices werden weiterentwickelt. Abstraktion von konkreter Aufgabe. Mehr Flexibilität

Page 32: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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.

Page 33: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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

Page 34: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

34

2.4.1 WSDL Beispiel Typdefinitionen<types>

<element name="TradePriceRequest"> <complexType>

<all>

<element name="tickerSymbol” type="string"/>

</all>

</complexType>

</element>

Page 35: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

35

2.4.1 WSDL Beispiel Typdefinitionen<element name="TradePrice">

<complexType>

<all>

<element name="price" type="float"/>

</all>

</complexType>

</element>

</types>

Page 36: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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>

Page 37: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

37

2.4.1 WSDL Beispiel Portdefinitionen<portType name="StockQuotePortType"> <operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceInput"/> <output message="tns:GetLastTradePriceOutput"/> </operation></portType>

Page 38: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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>

Page 39: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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>

Page 40: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

40

2.5 weitere WebService Protokolle WS-Inspection: Sprache zur

Beschreibung vorhandener WebServices

WS-Notification: Reagiert auf das Zutreffen bestimmter Bedingungen

Page 41: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

3. WebServices and GridComputing

Page 42: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

42

3.1 Motivation WebServices bieten viele Vorteile: Offene Standards Etabliert und verbreitet Vetrauenswürdig

Page 43: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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.

Page 44: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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:

Page 45: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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>

Page 46: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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

Page 47: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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

Page 48: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

Noch Fragen?

Page 49: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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

Page 50: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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

Page 51: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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.

Page 52: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

52

2.3.1 SOAP Beispiel Der Container

<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">

...

</env:Envelope>

Page 53: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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>

Page 54: WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar Advanced Topics in Networking, WS 03/04, Prof. Dr.

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>