/ Beratung / Dependencies in Service Networks: Abhängigkeiten

Abhängigkeiten zwischen Diensten

Dependency Management

Verwalten Sie Abhängigkeiten mit unserer Open Source Service Registry.

Die Services einer Service orientierten Architektur können zu neuen Diensten kombiniert werden. Es entsteht ein Netzwerk von Diensten, das Service Network. Dies hat zur Folge, dass ein Dienst von einer Reihe von Diensten abhängig sein kann, die wiederum von anderen Diensten abhängig sind. Abbildung 1 zeigt die Abhängigkeiten für einen Service A. A ist direkt abhängig von B und C. B wiederum ist abhängig von E und F. Daher ist auch A von E und F abhängig.

Abhängigkeiten zwischen Diensten

Abbildung 1: Abhängigkeiten zwischen Diensten

Fällt Service E aus, so sind auch die Service A und B betroffen wie Abbildung 2 zeigt.

Auswirkungen des Ausfalls eines Dienstes

Abbildung 2: Auswirkungen des Ausfalls eines Dienstes

Die starken Abhängigkeiten zwischen Services in einer SOA müssen daher berücksichtigt werden, um eine hohe Verfügbarkeit der Dienste zu garantieren. Ein erster Schritt ist die Dokumentation der Abhängigkeiten. Optimal wäre das Deklarieren der Abhängigkeiten in den Konfigurationen der jeweiligen Services. Es gibt bereits Standards und Frameworks, wie die Service Component Architecture - kurz SCA - und OSGi, die es ermöglichen Abhängigkeiten zu deklarieren und maschinell auszuwerten. Leider gibt es noch keinen Standart welcher auf alle SOAs anwendbar wäre. Es gibt jedoch bereits heute zahlreiche Möglichkeiten Abhängigkeiten in den Griff zu bekommen. Beispielsweise durch ein Monitoring und einer Konsole, welche die abhängigen Services auch als nicht verfügbar darstellen kann. Die Konsole sollte jedoch den Verursacher eindeutig anzeigen können, damit die Störung gezielt behoben werden kann. Business Prozesse haben oft zyklische Abhängigkeiten, die durch die Schnittstellentrennung mittels WSDL realisiert werden können. Bei zyklisch abhängigen Services ist das Finden des Verursachers besonders schwierig. Der zeitliche Verlauf der Ausfälle kann in einigen, aber nicht allen Fällen, Hinweise auf den Verursacher geben.