Web Services and Grid Computing Overview
Explore the definitions, examples, and specifications of Web Services and Grid Computing. Learn about Grid Computing architecture layers and Web Service protocols.
Web Services and Grid Computing Overview
E N D
Presentation Transcript
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