Grundlagen des Grid Computing

Werbung
Grundlagen des Grid Computing
Webservices und Grid Computing
Globus Toolkit 4 - Grundlagen
ICA
Joh. Kepler Universitä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, ...)
implementiert
implementieren
Globus implementiert
Toolkit 4
WSRF
Dienste für
Grid Applikationen
erfüllen Anforderungen von
OGSA
benötigt
Webservices
Stateful
Webservices
spezifiziert
erweitern
Grundlagen des Grid Computing
9
Übersicht
•
•
•
•
•
Applikationen basieren auf
höheren Diensten (definiert von
OGSA)
OGSA ist standardisiert (OGF)
GT4 beinhaltet viele OGSAServices
WSRF von OASIS
standardisiert und GT4
implementiert
Webservices von W3C
standardisiert und zB. von
Apache Axis implementiert
Grundlagen des Grid Computing
Applications
OGSA
WSRF
Web Services
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
Grundlagen des Grid Computing
Server A
Discovery Service
Server B
Web Service
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
HTTP Server
• Webservice
– Klassen, Methoden
Application Server
• SOAP Engine
SOAP Engine
– Übersetzt SOAP
Nachrichten
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 WSResources
– 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 nonWebservices
• 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 RessourcenEIgenschaften
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
Herunterladen