OGSI und Jini im Focus Sebastian Albrecht Gliederung OGSI Einordnung neue Komponenten Zukunft Jini Entstehung Architektur Lookup Service Bewertung 2 OGSI: Einordnung OGSI bedeutet Open Grid Service Infrastructure nur eine Abkürzung unter vielen spezifiziert definiert und basiert auf Implementiert in Java Erweiterung von Nutzt Standards: XML, WSDL, SOAP, … 3 OGSI: Einordnung (2) Global Grid Forum verantwortlich für die Entwicklung von OGSI treibt Standardisierung von Grid Computing vorwärts Zusammenschluss von Entwicklern und Anwendern viele größere Firmen beteiligen sich OGSA steht für Open Grid Service Architecture ist Ausgangspunkt der gesamten Entwicklung nur eine Architektur, keine Aussage über technische Details OGSI spezifiziert Erweiterungen zu Web Services ermöglicht die Umsetzung einer OGSA 4 OGSI: Einordnung (3) Web Services in Kombination mit bereits bekannten Techniken XML, WSDL, SOAP,… Grundstein für die Umsetzung von OGSA allerdings fehlen einige Funktionen Grid Service Begriff zur Abgrenzung gegenüber Web Services Globus Toolkit (GT) Referenzimplementierung von OGSI in Java OGSI ist vollständig im GT3 abgebildet 5 OGSI: portTypes bereits bekanntes Konzept von Web Services definiert in WSDL beschreibt Funktionen, die durch den Service zur Verfügung gestellt werden neu ist die Möglichkeit andere portTypes zu erweitern keine vorgesehene Funktion in WSDL daher ist ein neuer Standard GWSDL geschaffen worden <ogsi: portType name="counterPortType" extends="ogsi:GridService"> <wsdl:operation name="increase"> <wsdl:input message"increaseMsg"/> </wsdl:operation> </ogsi:portType> 6 OGSI: GridService / Factory & Instanzen GridService portType muss von jedem Grid Service erweitert werden legt Grundfunktionen und –messages fest entscheidendes Attribut terminationTime => transiente Services Factory und Instanzen Factory selbst ist auch ein Grid Service aus der Objekt-Orientierung übernommenes, bekanntes Konzept Factory wird vom Consumer benötigt zur Erzeugung einer neuen Instanz eines Grid Services Instanzen ermöglichen Zustandsbehaftung von Services 7 OGSI: GSH und GSR Grid Service Handle einmalig bei Erzeugung einer Instanz eindeutig vergeben gibt nur den Standort an <ogsi:handle>http://service.de/CounterService</ogsi:handle> Grid Service Reference temporär gültig enthält Informationen zu Bindings Handle Resolver Service im Grid löst GSH in GSR auf Consumer Application löse diesen GSH auf Handle Resolver GSR 8 OGSI: Registries und Notification Notification Ansatz zur asynchronen Kommunikation publish / subscribe Mechanismus Häufigkeit der Statusmitteilungen einstellbar Service Groups werden verwendet um Service Broker zu realisieren insgesamt kommen drei portTypes zum Einsatz bestehende Möglichkeit zur Festlegung bestimmter Eigenschaften die ein registrierter Service haben muss stellen Funktionen zum Eintragen und Durchsuchen des Registry zur Verfügung 9 OGSI: Zukunft OGSI und GWSDL sind Erweiterungen akzeptierter Standards Konflikt: Web Services sind nicht objekt-orientiert vorhandene Tools arbeiten nicht fehlerfrei mit OGSI zusammen neue Entwicklung von WSRF, vollständige Umsetzung im GT4 Applications Applications Entwicklung zu OGSA OGSA OGSI Web Services Web Services OGSI / GT3 WSRF / GT4 10 Jini: Entstehung bereits bei der Entwicklung von Java sollten Möglichkeiten für verteiltes Rechnen geschaffen werden scheiterte jedoch zunächst, Java 1995 veröffentlicht später wurden dann Java RMI als Erweiterung veröffentlicht Jini ist ein Folgeprojekt und hat zum Ziel verteiltes Rechnen weiter zu vereinfachen Jini ist eng verwandt mit Java und Java RMI Jini ist kein Akronym 11 Jini: Architektur 1.Auffinden: Netzwerk Service findet verfügbare Lookup Services (LUS) 2.Beitreten: Netzwerk Service sendet seine Servicedaten zum LUS 3.Auffinden: Netzwerk Klient findet verfügbare LUS 4.Nachsehen: Netzwerk Klient sendet Anforderung für einen gewünschten Service 5.Empfangen: LUS sendet Informationen über bekannte Services 6.Interagieren: Netzwerk Service und Klient kommunizieren direkt miteinander Netzwerk Service 1 2 Service Proxy 5 6 Lookup Service 4 Service Proxy Netzwerk Klient 3 12 Jini: Verwandtschaft zu Java / Events Jini benötigt die Java Virtual Machine daher ist die Programmiersprachen-Unabhängigkeit eingeschränkt Vorteil der JVM, Code und Objekte können ausgetauscht werden Einstellungen der JVM gelten auch für Jini Prozesse zur Übertragung wird auf das HTTP Protokoll zurückgegriffen Events werden für asynchrone Kommunikation eingesetzt sind über Listener realisiert 13 Jini: Lookup Service erfüllt die Rolle des Service Brokers besonderer Wert wurde auf die Entwicklung gelegt selbst ein Service im Netz ohne ihn funktioniert die Jini - Architektur nicht zwei Protokolle zum Auffinden definiert: Unicast Discovery: vorher bekannter Standort ist Voraussetzung Multicast Discovery: suche im Netzwerk nach einem LUS Reichweite der Suche über Time-to-Live Parameter bestimmt Lease – Renewal – Mechanismus jeder Eintrag eines Services hat nur eine bestimmte Gültigkeitsdauer wenn abgelaufen wird Eintrag gelöscht 14 Jini: Lookup Service (2) das Zusammenspiel von Lease-Renewal und den Discovery Protokollen führt zu drei wichtigen Eigenschaften: Aktualität Selbst - Reparatur keine veralteten Referenzen zusätzlich die Eigenschaft des LUS in periodischen Zeitabständen Standort Nachrichten zu versenden benötigt Selbst – Replizierung ermöglicht durch gleichzeitig vorhandene LUS 15 Bewertung grundsätzlich lassen sich mit beiden Technologien SOAs umsetzen Jini und OGSI sind durch unterschiedliche Ziele motiviert OGSI kommt aus der Richtung des E-Business Jini wird mehr für E-Science genutzt ICENI hat seine Middleware im Kern mit Jini umgesetzt Gateways zu anderen Technologien sind geschaffen worden 16 Bewertung (2) Jini OGSI X Abbildung einer SOA Lose Kopplung O Dynamisches Verhalten Skalierbarkeit Performance Sicherheit Organisation / Verwaltung JXTA X ? ? O ? X O ? X X O 17 Vielen Dank für eure Aufmerksamkeit! 18 Anhang 19 OGSI: Lebenszyklus eines Services 1. Creation: Erschaffung einer Service Instanz häufig mit Hilfe von Factories 2. Advertising: Eintrag der Service Instanz in einem Registry Beschreibung durch XML konforme Dokumente 3. Discovery: ein Consumer sucht den Service anhand von Eigenschaften erhält einen GSH des Services 4. Invocation: Auflösung in einen GSR Nutzung des Services durch den Consumer möglich 20