Technische
Universität München, Institut für Informatik |
Web-Services versuchen hier einen Brückenschlag, indem sie die Idee der Kommunikation von verteilten Anwendungen mit der Einfachheit von Webserver-Aufrufen verknüpfen. Bei Web-Services tauschen die Anwendungen über ein offenes Protokoll plattform- und programmiersprachen-neutrale Nachrichten aus. Die derzeit favorisierte Variante ist der Austausch von XML-Nachrichten, die dem SOAP-Protokoll genügen. Im einfachsten Fall beschränkt sich die Kommunikation auf Request/Response-Aufrufe, ähnlich wie bei RPC-Aufrufen. Beispielsweise antwortet ein Web-Service auf die Anfrage, ob die Kreditkartennummer 1235711 gültig ist, mit einer SOAP-Nachricht die "True" oder "False" enthält. In komplexeren Web-Service- Anwendungen erfolgt der asynchrone Austausch mehrerer Nachrichten, um beispielsweise nach bestimmten Wertpapieren zu suchen und deren Kauf zu veranlassen.
Durch die Verwendung von Web-Services werden die verteilten Anwendungen nur lose gekoppelt, im Extremfall finden sie sich zur Laufzeit dynamisch. Zusätzliche Dienste wie Transaktionssicherheit, Authentifizierungs- und Authorisierungsmechanismen sind in den etablierten Web-Service-Standards noch nicht enthalten. Dies unterscheidet Web-Services von weiter ausgereiften Middlewaretechnologien. Der entscheidende Vorteil sind die Plattform- und Programmiersprachenunabhängigkeit, die durch die Verwendung etablierter Standards wie HTTP, XML und die geringe Komplexität der Web-Service-Standards erreicht wird.
Die grundlegenden Standards sind die folgenden drei:
Im Rahmen der Diplomarbeit erfolgt zunächst eine Literaturrecherche, um mögliche Einsatzszenarien, grundlegende Web-Service-Standards und den Vergleich zu anderen Middleware-Technologien zu erfassen und in verständlicher Form zusammenzufassen.
Aufbauend auf diesen Grundlagen wird eine mögliche Grobarchitektur für Service-basierte Anwendungen skizziert. Hierzu werden wesentliche Fragestellungen für den praktischen Einsatz der Web-Service-Technologie identifiziert und erste gängige Lösungsansätze aufgezeigt. Neben einem Überblick über die verschiedenen Einsatzszenarien werden insbesondere wichtige Anforderungen wie Sicherheit, Transaktionen und Performance diskutiert. Auch weitere Themen wie z.B. Zuverlässigkeit, Management, Logging und Datentransformation können an dieser Stelle behandelt werden, soweit sie für das Ziel der Arbeit relevant sind.
Im Hauptteil der Diplomarbeit wird aus dieser Gesamtarchitektur der Ausschnitt für die Transaktionssicherheit detailiert erarbeitet. Hierzu soll zunächst eine Problemanalyse und eine Evaluierung bestehender Transaktionsprotokolle vorgenommen werden. Auf Basis der hier gewonnen Erfahrungen ist eine Architektur bzw. eine Reihe von Architekturvarianten für transaktionssichere Web-Service-Anwendungen zu erarbeiten. Die Lösung soll insbesondere die zuvor identifizierten technischen Rahmenbedingungen und die daraus resultierenden Anforderungen an Performance, etc. berücksichtigen. Ziel ist es einem Entwickler von Web-Service-Anwendungen geeignete Ansätze zur Verfügung zu stellen, die es ihm erlauben seine Applikation transaktionssicher zu gestalten.
Das Lösungskonzept wird schließlich Anhand eines Prototyps überprüft. Bei der Evaluierung der Ergebnisse am Prototypen werden auch die Auswirkungen der Transaktionssicherheit auf die Performance untersucht.