Grundlagen des Grid Computing Webservices und Grid Computing Globus Toolkit 4 - Grundlagen ICA Joh.. Kepler Universität t Linz
Eine Typische Grid-Applikation (Beispiel) VO Management Service Resource Discovery and Management Services Job Management Service Security, Data Management Viele Interaktionen Komplexität! Grundlagen des Grid Computing 2
Lösung: Standardisierung OGSA Open Grid Forum (OGF) Hat OGSA standardisiert Open Grid Services Architecture Gemeinsame und offene Architektur Standardisierung aller Grid-Dienste Ein Standard definiert nur die Schnittstelle, nicht die Implementierung Grundlagen des Grid Computing 3
Infrastruktur? OGSA definiert Services und Schnittstellen Man braucht eine Standardmethodik um auf die Services zuzugreifen Wie rufe ich die definierten Dienste auf? Verwendete Methode: Webservices Problem: Grid Dienste (OGSA) erfordern stateful Web-Services Grundlagen des Grid Computing 4
Stateful Web Services Normale Webservices: Anfrage / Antwort Keine Speicherung eines Zustands zwischen Anfragen non stateful Webservices können auch stateful sein Aber es gibt keine Standardmethode dafür Grundlagen des Grid Computing 5
WSRF Web Service Resource Framework Von OASIS entwickelt Gemeinsame Entwicklung von Webservices- und Grid-Community Passt in die Webservice-Architektur WSRF spezifiziert die stateful services für OGSA OGSA ist die Architektur WSRF ist die Infrastruktur, auf der OGSA basiert Grundlagen des Grid Computing 6
Globus Toolkit 4 Webservice-basierte Version des Globus Toolkits Bietet Dienste zur Implementierung von Grid Applikationen Resource Monitoring & Discovery Job Submission Infrastructure Security Infrastructure Data Management Grundlagen des Grid Computing 7
Globus Toolkit 4 (GT4) GT4 ist größtenteils OGSA-compliant Problem: GT4 und OGSA wurden parallel entwickelt / standardisiert GT4 ist der de-facto Standard für webservicebasierte Grid Services GT4 implementiert WSRF vollständig GT4 enthält auch non-wsrf Komponenten GT4 ist nicht die einzige Implementierung von WSRF Grundlagen des Grid Computing 8
Übersicht Andere Packete (WSRF.NET,...) implementieren implementiert Dienste für Grid Applikationen Globus Toolkit 4 erfüllen Anforderungen von implementiert WSRF OGSA benötigt Stateful Webservices spezifiziert Webservices erweitern Grundlagen des Grid Computing 9
Übersicht Applikationen basieren auf höheren Diensten (definiert von OGSA) OGSA ist standardisiert (OGF) GT4 beinhaltet viele OGSA- Services WSRF von OASIS standardisiert und GT4 implementiert Webservices von W3C standardisiert und zb. von Apache Axis implementiert Applications OGSA WSRF Web Services Grundlagen des Grid Computing 10
Webservice Grundlagen Eine weitere Technologie für verteiltes Rechnen Client / Server Anwendungen Platform- und sprachunabhängig Kommunikation über http Nachrichten werden in XML codiert Overhead Teilweise eingeschränkte Funktionalität (zb vgl. mit Corba) Dienst für (Client-)Programme Grundlagen des Grid Computing 11
Webservice Beispiel 1. Discovery Service wird nach Service-Ort gefragt 2. Antwortet 3. Webservice wird nach seiner Schnittstelle gefragt 4. Schickt WSDL 5. SOAP Request 6. SOAP Response Server A Discovery Service Server B Web Service Grundlagen des Grid Computing 12
Webservice Beispiel Finden des Webservice über Verzeichnisdienst Abfragen des Service-Interface Antwort: WSDL beschreibt das Interface Aufruf des Webservice über einen SOAP Request SOAP (Simple Object Access Protocol) Antwort: SOAP Response Grundlagen des Grid Computing 13
Webservice Architektur-Schichten Prozesse Auffinden, Aggregation,... Beschreibung WSDL Aufruf SOAP Transport HTTP Grundlagen des Grid Computing 14
WSDL & SOAP WSDL: Webservice beschreibt sich selbst Methoden Parameter SOAP Spezifiziert das Format von Request und Response Grundlagen des Grid Computing 15
Addressierung & Stubs Adressierung über HTTP URIs http://webservices.example.com/services/exampleservice Client und Server Stubs generieren SOAP Nachrichten automatisch Stubs werden aus der WSDL Beschreibung generiert Bleiben erhalten, solange sich die Schnittstelle nicht ändert Übernehmen (de)serialisierung der Kommunikation Grundlagen des Grid Computing 16
Serverseite Webservice Klassen, Methoden SOAP Engine Übersetzt SOAP Nachrichten HTTP Server Application Server SOAP Engine Web Service Web Service Grundlagen des Grid Computing 17
WSRF: Statefulness Normale Webservices sind stateless request/response Können keine Informationen zwischen Aufrufen speichern Webservices sollen im Allgemeinen Stateful sein WSRF-Webservices sind stateful zb. Calculator-Service soll aktuellen Wert zwischen Aufrufen speichern Für Grid Services im Allgemeinen notwendig Grundlagen des Grid Computing 18
Der Ressource-Ansatz Ressource als separate Entität Hält aktuellen Status Webservice selbst ist stateless Ressource wird über einen Schlüssel identifiziert Ein Webservice kann mehrere Ressourcen halten Dateien Datenbankinhalte Grundlagen des Grid Computing 19
WSRF-Spezifikation Dient dem Management von Ressourcen WS-ResourceProperties WS-ResourceLifetime WS-ServiceGroup WS-BaseFaults Verwandte Spezifikationen WS-Notification WS-Adressing Grundlagen des Grid Computing 20
WS-ResourceProperties Eine Ressource besteht aus 0 oder mehr ResourceProperties WS-ResourceProperties definiert die Art des Zugriffs Die ResourceProperties werden in der WSDL Schnitttstellen Definition angegeben Grundlagen des Grid Computing 21
WS-ResourceLifetime Lebenszyklen von Ressourcen sind unabhängig vom Server, der sie beeinhaltet WS-ResourceLifetime beeinhaltet Methoden, um die Lebenszeit von Ressourcen zu steuern Grundlagen des Grid Computing 22
WS-ServiceGroup & WS-BaseFaults Zum Gruppieren von Services und WS- Resources Einfacher Zugriff durch einen Single Point of Entry Suchen von Services in einer Gruppe WS-BaseFaults Für Fehlmeldungen und -behandlungen Grundlagen des Grid Computing 23
WS-Notification Kein Teil von WSRF, aber verwandt Ein Webservice kann als NotificationProducer konfiguriert werden Clients als NotificationConsumers Clients werden bei Änderungen des Webservices (oder seines Status) benachrichtigt Grundlagen des Grid Computing 24
WS-Adressing Dient zum Adressieren von Webservices und Ressourcen Kann ein Paar aus Webservice + Ressource adressieren (eine WS-Resource) Grundlagen des Grid Computing 25
GT4 Komponenten Common Runtime Bibliotheken und Werkzeuge für Webservices und non- Webservices Security Grid Security Infrastructure Data Management Verwaltung großer Datenmengen Information Services Informationen über Ressourcen Execution Management Job Initierung, Management, Monitoring,... Grundlagen des Grid Computing 26
Vordefinierte GT4 Services Webservice-Schnittstellen: GRAM: Job Management Reliable File Transfer (RFT) Delegation Monitoring and Discovery System (MDS) Community Authorisation (CAS) Data Access and Integration (OGSA-DAI) Grid TeleControl Protocol (GTCP) Grundlagen des Grid Computing 27
Vordefinierte GT4 Services Non-Webservice GridFTP Data Transport Replica Location Service (RLS) MyProxy Credential Repository extensible IO Library (XIO) SimpleCA Grundlagen des Grid Computing 28
GT4 Container Funktionalität eines GT4 Containers Kommunikation: SOAP over HTTP Sicherheit: WS-Security auf Nachrichtenebene Logging: Log4j (Jakarta Commons Logging API) Definiert WSRF WS-Resources mit Informationen über den Container und die darin laufenden Services Ein GT4 Java Container kann weiters GRAM, MDS, RFT hosten Grundlagen des Grid Computing 29
GT4 Container - Client Kann über Container-Registry Schnittstellen feststellen welche Services laufen Kann über über Administrationsschnittstellen Adminstrationsaufgaben durchführen Alle Container-Schnittstellen sind mit WS-Interoperability (WS-I) kompatibel können das WS-I Basic Security Profile verwenden Grundlagen des Grid Computing 30
GT4 Architektur Grundlagen des Grid Computing 31
GT4-Container Grundlagen des Grid Computing 32
Programmiersprachen GT4 Container unterstützen zur Implementierung von Webservices Java C Python Grundlagen des Grid Computing 33
Java Container Apache Axis als SOAP Engine Simple Java Container von Globus oder Tomcat Servlet Container Ein GT4 Java Container kann weiters hosten: GRAM, RFT, MDS-Index, MDS-Trigger, MDS-Archive... Grundlagen des Grid Computing 34
Verschiedene Container Grundlagen des Grid Computing 35
Webservice Implementierung 1. Definieren der Schnittstelle abstraktes Interface in WSDL 2. Service-Implementierung Implementierung des Service und der Ressourcen- EIgenschaften 3. Definition der Deployment-Parameter Verfassen eines Webservice Deployment Descriptor (WSDD) 4. Kompilieren und GAR-File erzeugen 5. Service Deployment Grundlagen des Grid Computing 36
Webservice Implementierung Grundlagen des Grid Computing 37