Mission Critical IT

Wie SOA-Dienste hochverfügbar werden

23.10.2008
Von Andreas Knaus und Thomas Höller

Herausforderung 2: Hochverfügbarkeit im ESB (Kommunikationsebene)

Der ESB muss befähigt werden, auf Basis von nicht-funktionalen Kriterien, die der Aufrufer vorgibt (zum Beispiel Antwortzeit), die Anfragen an denjenigen Service weiterzuleiten, der die Hochverfügbarkeitskriterien erfüllen kann. Dazu müssen einerseits die entsprechenden Metadaten für solche nicht-funktionalen Kriterien im Repository für jeden Service hinterlegt werden. Der ESB kann so entscheiden, zu welchem konkreten Service eine Anfrage geroutet werden muss, damit die Hochverfügbarkeitsanforderungen des aufrufenden Geschäftsprozesses erfüllt werden.

Andererseits muss ein Messsystem mit geeigneten Messpunkten gefunden werden, mit denen aktuelle Verfügbarkeitsdaten (Antwortzeit, Durchsatz, Ausfallzeit, Aufruffrequenz etc.) sowie verfügbare Kapazitäten gemessen werden können. Diese Informationen muss der ESB nutzen, etwa durch Umleitung von Anfragen an einen alternativen Service, sofern absehbar ist, dass ein überlasteter Service die Anfrage nicht mehr innerhalb der zugesicherten Zeit bearbeiten kann.

Die Überwachung von einzelnen Services stellt dabei im Allgemeinen keine besondere Herausforderung dar. Die große Herausforderung liegt vielmehr darin, dass eine Überwachung auch immer den Kontext des konkreten Geschäftsvorfalls berücksichtigen muss, in welchem ein Service ausgeführt wird. Der Bedarf an einem solchen End-to-End Monitoring von Geschäftsvorfällen über alle seine erbringenden Services stellt eine große Herausforderung innerhalb einer SOA dar. Überwachungsdienste im ESB müssen demzufolge so ausgelegt sein, dass sie dieses End-to-End Monitoring im Kontext eines Geschäftsvorfalls unterstützen.