1 / 54

WebServices and Grid Computing

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

eron
Download Presentation

WebServices and Grid Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 • Grid Computing • Einleitung und Definition • Beispiele • Web Services • Einleitung und Standards • WebServices and Grid Computing • Spezifikation und Code

  3. 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. C 1.4 Ein Beispiel Baut Flugzeuge A Testet Modelle B Verkauft CPU Leistung

  10. 1.4 Ein Beispiel • Die Firmen benutzen GC, damit:

  11. 1.4 Ein Beispiel B auf Modelldaten von A zugreifen kann A B

  12. 1.4 Ein Beispiel B während des Messvorgangs CPU Leistung von C benutzen kann A B C

  13. 1.4 Ein Beispiel A die Ergebnisse in Echtzeit erhällt. A B C

  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. C 1.7 Virtuelle Organisation A VO B

  19. 1.7 Virtuelle Organisation A VO 1 VO 2 B C ?

  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. Transport Internet 1.10 Connectivity Ebene • Greift auf GR über Interface zu und behandelt • Kommunikation und • Authetifizierung mit GR. Connectivity Fabric Link

  24. 1.11 Resource Ebene • Stellt Interfaces, APIs und SDKs bereit zum Zugriff auf GR via Connectivity Ebene. Resource Transport Connectivity Internet Fabric Link

  25. 1.12 Colective Ebene • Behandelt Aufgaben des globalen Zustands des Grid • sowie Gruppen von Resourcen. Collective Resource Transport Connectivity Internet Fabric Link

  26. 1.13 Application Ebene • Hier liegen die Anwendungen die auf dem Grid laufen. Application Application Collective Resource Transport Connectivity Internet Fabric Link

  27. 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 • …

  41. 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

  48. 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

More Related