540 likes | 631 Views
WebServices and Grid Computing. Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar “Advanced Topics in Networking”, WS 03/04, Prof. Dr. Schiller. Überblick. Grid Computing Einleitung und Definition Beispiele Web Services Einleitung und Standards
E N D
WebServices and Grid Computing Ein Vortrag von Frank Schlesinger (Frank@Schlesinger.com) zum Seminar “Advanced Topics in Networking”, WS 03/04, Prof. Dr. Schiller
Überblick • Grid Computing • Einleitung und Definition • Beispiele • Web Services • Einleitung und Standards • WebServices and Grid Computing • Spezifikation und Code
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, …)
1.2 Definition • Netzwerk Technologie zum Zwecke des • flexiblem, • sicherem, • koordiniertem, • “resource sharing”
1.2 Definition • zwischen dynamischen Gruppen von • Einzelnen oder • Institutionen.
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.
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.
C 1.4 Ein Beispiel Baut Flugzeuge A Testet Modelle B Verkauft CPU Leistung
1.4 Ein Beispiel • Die Firmen benutzen GC, damit:
1.4 Ein Beispiel B auf Modelldaten von A zugreifen kann A B
1.4 Ein Beispiel B während des Messvorgangs CPU Leistung von C benutzen kann A B C
1.4 Ein Beispiel A die Ergebnisse in Echtzeit erhällt. A B C
1.5 Weitere Beispiele • Tausende Physiker werten CERN Experiment aus. • Ein Softwarehersteller schaltet Rechner für “nightly build” zusammen. • Online Meta-Bibiliothek
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.
1.6 Abgrenzung • “recource sharing” mit GC überschreitet Grenzen von Platformen, Firmen, Domains, … • “resource” kann fast alles sein. • Z.B.: Dateien, CPU-Power, Benutzerinformationen
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.
C 1.7 Virtuelle Organisation A VO B
1.7 Virtuelle Organisation A VO 1 VO 2 B C ?
1.8 Architektur • GC ist software. • Globus Toolkit (Globus Alliance [www.globus.org]) • SUN, IBM, … • Architektur ist ein Protokoll-Stack.
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
1.9 Fabric Ebene • Eine phys. Resource, die diese Op. implementiert ist eine: • Grid Resource (GR) • Verschiedene Arten von GRs existieren: Fabric Link
Transport Internet 1.10 Connectivity Ebene • Greift auf GR über Interface zu und behandelt • Kommunikation und • Authetifizierung mit GR. Connectivity Fabric Link
1.11 Resource Ebene • Stellt Interfaces, APIs und SDKs bereit zum Zugriff auf GR via Connectivity Ebene. Resource Transport Connectivity Internet Fabric Link
1.12 Colective Ebene • Behandelt Aufgaben des globalen Zustands des Grid • sowie Gruppen von Resourcen. Collective Resource Transport Connectivity Internet Fabric Link
1.13 Application Ebene • Hier liegen die Anwendungen die auf dem Grid laufen. Application Application Collective Resource Transport Connectivity Internet Fabric Link
2.1 Einleitung • Bekannte Technologien (HTTP, XML) werden hier zusammengefasst. • Neue Standards kommen dazu (W3C [www.w3.org])
2.2 Definition • Eine Anwendung, auf die über WebService Protokolle zugegriffen werden kann heißt WebService.
2.3 Beispiele • Webseiten • CGI Skripte via Web • RPC via SOAP • …
2.4 Standards • WebServices werden weiterentwickelt. • Abstraktion von konkreter Aufgabe. • Mehr Flexibilität
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.
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/">
2.4.1 WSDL Beispiel • Typdefinitionen <types> <element name="TradePriceRequest"> <complexType> <all> <element name="tickerSymbol” type="string"/> </all> </complexType> </element>
2.4.1 WSDL Beispiel • Typdefinitionen <element name="TradePrice"> <complexType> <all> <element name="price" type="float"/> </all> </complexType> </element> </types>
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>
2.4.1 WSDL Beispiel • Portdefinitionen <portType name="StockQuotePortType"> <operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceInput"/> <output message="tns:GetLastTradePriceOutput"/> </operation> </portType>
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>
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>
2.5 weitere WebService Protokolle • WS-Inspection: Sprache zur Beschreibung vorhandener WebServices • WS-Notification: Reagiert auf das Zutreffen bestimmter Bedingungen • …
3.1 Motivation • WebServices bieten viele Vorteile: • Offene Standards • Etabliert und verbreitet • Vetrauenswürdig
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.
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:
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>
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”/>
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
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
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