|
Abstract
Die zunehmende Verbreitung von Protokollen wie z.B. SOAP und
WSDL bzw. Repositorys wie UDDI ermöglicht die einfache Nutzung
bestehender Dienste in Form von Web-Services oder E-Services,
auch über Netzwerkgrenzen hinweg.
Prozesse bieten die Möglichkeit, verschiedene Aufrufe solcher
Diensten zu einem gemeinsamen Ganzen in komplexen, verteilten
Anwendungen zu kombinieren. Eine wichtige Rolle nehmen dabei
Umgebungen ein, die die Ausführung von Prozessen, basierend auf
existierenden Diensten, ermöglichen. Die Autonomie der
Service-Anbieter und die Dynamik des Systems (neue Provider können
hinzukommen, existierende können verschwinden, das Angebot pro
Provider kann sich ändern, etc.) stellen besondere Anforderungen,
die sich mit einem zentralen Prozess-Koordinator schwerlich
realisieren lassen.
Die vorliegende Arbeit zeigt, wie die Ausführung von Prozessen in
einem hoch dynamischen Umfeld realisiert werden kann. Dabei wird
die Funktionalität des Prozess-Koordinators verteilt
implementiert. Es wird zur Laufzeit entschieden, auf welcher
Komponente der nächste Schritt im Prozess ausgeführt wird. Zur
Verteilung und Konsistenzsicherung der für die Prozessausführung
benötigten Meta-Information kommen Publish/Subscribe-Techniken
zum Einsatz. Die konsequente Anwendung dieser Techniken auch zur
Laufzeit erlaubt die weitestgehende Entkopplung der einzelnen
Komponenten und Dienste. Durch das Publizieren eines Auftrags zur
Ausführung eines Prozess-Schrittes kann zur Laufzeit dynamisch ein
Provider ausgewählt werden, der den mit dem Auftrag verbundenen
Dienst zuvor durch eine Registrierung angeboten hatte. Diese
Indirektion lässt zudem die Realisierung weiterer Konzepte wie
Service Discovery, Load Balancing und erweitertes Routing wie zum
Beispiel die Auswahl des günstigsten Angebots zu.
You can directly download a PDF (743 KB) version of this paper.
|