WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar...

Preview:

Citation preview

WebServices and Grid Computing

Ein Vortrag von Frank Schlesinger(Frank@Schlesinger.com)

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>

Recommended