Registry/Repository in der SOA-Governance

Lückenlose Steuerung

19. Mai 2009, 22:00 Uhr | Susanne Franke/jos Susanne Franke ist freie Journalistin in München.

Einer der Erfolgsfaktoren für die Einführung und den Betrieb einer Service-orientierten Architektur (SOA) ist die Governance der Komponenten dieser Architektur, beispielsweise Services und Prozesse. Effektive SOA-Governance lässt sich durch den Einsatz einer Registry oder eines Repository für den gesamten Lebenszyklus der Komponenten umsetzen.

Corporate Governance ordnet die Organisation in einen Rahmen aus Gesetzen, Werten, Standards, Regeln und Richtlinien, um die langfristigen Ziele - unter Wahrung dieser Rahmenbedingungen - zu erreichen. IT-Governance greift die Strategie und Ziele der Organisation auf und setzt diese über IT-Lösungen um. SOA-Governance ist ein Teilbereich der Corporate Governance, der sich mit der Regelung und Kontrolle von Komponenten in einer Service-orientierten Architektur beschäftigt.

Eine effiziente Governance für eine Service-orientierte Architektur definiert aufbau- und ablauforganisatorische sowie technische Regeln für den gesamten Lebenszyklus einer solchen Landschaft. Zu den organisatorischen Aspekten gehört beispielsweise das Festlegen der fachlichen und technischen Verantwortung für einen Service (Ownership). Ferner werden Rollen etabliert, die für bestimmte Bereiche im Lebenszyklus verantwortlich sind.

Ein IT-Architekt ist beispielsweise für Services innerhalb eines Organisationsbereichs verantwortlich. Innerhalb dieses Organisationsbereichs entscheidet er darüber, ob neue Services entwickelt werden. Diese Rolle gilt es in den Entwicklungsprozess einzubinden. So lässt sich sicherstellen, dass neue Services nur dann realisiert werden, wenn der zuständige Architekt zugestimmt hat, beziehungsweise ein Service nur dann in Produktion geht, wenn er vollständig dokumentiert und getestet wurde.

Dieses Beispiel zeigt bereits, dass Governance gleichzeitig auch die technische Komplexität der Service-orientierten Architektur verwalten muss. Dazu bedarf es einer Infrastruktur in Form von Kontroll- und Durchsetzungsmechanismen für die Regelung und Steuerung der Entwicklungsprozesse im Kontext einer SOA-Umgebung.

SOA-Governance ist keine Aufgabe, die als Funktionalität innerhalb einer einzelnen Softwareanwendung implementiert werden kann. Die Umsetzung der komplexen Aspekte erfolgt vielmehr über eine leistungsfähige Governance-Lösung, die als zentrales Steuerungsinstrument anwendungs- und projektübergreifend arbeitet. Zu den wichtigsten Komponenten einer solchen Lösung gehört das Duo Registry/Repository. Eine Registry verwaltet Meta-Informationen zum Beispiel über Services, Prozesse, Formatbeschreibungen etc. und bildet Beziehungen und Abhängigkeiten ab. Die Objekte selbst sind hier nicht verwaltet oder gespeichert. Damit ermöglicht die Registry eine Kategorisierung und Organisation der Services oder anderer Komponenten.

Nutzer können neue Komponenten im Katalog publizieren und nach vorhandenen suchen. Die Komponenten können mehrfach kategorisiert werden, um Services einer bestimmten Service-Domäne, einer fachlichen Funktion oder einem Prozess zuzuordnen. So entsteht eine vollständige Dokumentation der Architektur. Eine Registry ist für den Aufruf der Services in einer verteilten Architektur lose gekoppelter Services unverzichtbar. Das Repository reichert die schon vorhandenen Informationen dann um weitere Informationen an, zum Beispiel beschreibende Dokumente, Spezifikationen, SLAs etc. Zusätzlich ermöglicht eine Governance-Lösung die Abbildung des gesamten Lebenszyklus einer Komponente und kann durch Nutzung von Policies den Übergang von Komponenten von einer Phase zur nächsten im Lebenszyklus überwachen.

Eine Governance-Lösung sollte Registry und Repository in Kombination anbieten und auf offenen Standards beruhen. Centrasite Active SOA beispielsweise umfasst ein integriertes Registry/Repository, das auf Standards wie UDDI (Universal Description, Discovery and Integration), JAXR (Java API for XML Registries) sowie einer eingebetteten XML-Datenbank beruht und ein erweiterbares Informationsmodell sowie die Anbindung an Entwicklungsumgebungen wie Eclipse liefert.

Governance beginnt bereits während der Designphase der Dienste und Prozesse. Dabei kommt ihr die Aufgabe zu, sicherzustellen, dass bei der Definition und beim Erstellen von Komponenten bestimmte vorher festgelegte Regeln angewendet werden. Die entsprechenden Policies könnten etwa sicherstellen, dass ein Dienst technisch korrekt und gültig ist sowie den relevanten Standards entspricht, bevor er publiziert wird. Ein solcher Überprüfungs-Workflow ließe sich automatisch über eine vorhandene Policy anstoßen, wenn Entwickler etwa einen neuen Service publizieren wollen. So genannte "Smart Policies", wie sie Centrasite ermöglicht, können festlegen, welche Policies einem Komponententypus zugeordnet sind. Damit werden automatisch bei neuen Services die für den Typus geltenden richtigen Regeln angewendet. Dies spart nicht nur Zeit, sondern damit ist auch eine lückenlose Governance gewährleistet.

Zur Laufzeit bedeutet Governance Definition und Durchsetzen von Policies, die die Nutzung und Ausführung der Services steuern. Diese Art von Regeln beziehen sich typischerweise auf Qualitätskriterien und Anforderungen, denen ein Service oder ein Prozess zur Laufzeit genügen muss, etwa Quality-of-Service-Aspekte, Service Level Agreements (SLAs), Existenz von Security Tokens, Monitoring der Aufrufe sowie Performance-Überwachung. Sind diese Kriterien als Policies hinterlegt, so übernimmt ein so genannter Policy Enforcement Point (PEP) während des Betriebs die Bereitstellung und Durchsetzung. In einer SOA stellt ein Nachrichtentransportsystem, das als vermittelnde Schicht zwischen die Service-Provider und Consumer geschaltet ist, einen solchen PEP dar. Will ein Consumer einen Service verwenden, prüft es beispielsweise, ob bestimmte Vorschriften und Sicherheitsvorgaben eingehalten werden oder ob SLAs vorhanden sind. Diese Vermittlung kann ein Enterprise Service Bus (ESB) übernehmen, der typischerweise auch Zusatzfunktionen wie Datentransformation, Message Queuing oder Reliable Messaging übernimmt. Der Vorteil eines Intermediarys zur Entkoppelung von Consumer und Provider liegt auch darin, dass es nicht nötig ist, die bestehende Implementierung anzupassen.

SOA Governance adressiert auch das Change-Management von Komponenten nach deren Einführung. Es gilt, Korrekturen und Erweiterungen einzuspielen, denn die Komponenten müssen immer wieder an neue Geschäftsanforderungen angepasst sowie eines Tages wieder aus dem Betrieb genommen werden. Dieser Teil der Governance verlässt sich vor allem auf Change-Management-Praktiken. Vor allem in dieser Phase des Lebenszyklus eines Dienstes ist es wichtig, zu wissen, wie sich Änderungen an einer Komponente auf andere Dienste, Prozesse aber auch Abteilungsbereiche auswirken. Da alle Komponenten im System miteinander verlinkt sind, lässt sich dies über eine Abhängigkeitsanalyse leicht herausfinden. Die so genannte Impact Analysis gehört bei Centrasite zur Grundausstattung und kommt sowohl in der Design- als auch während der Änderungsphase zum Einsatz. Tests in der Designphase lassen sich so wesentlich zielgerichteter und effizienter gestalten. Auch nicht technische Anwender können das Tool von der Benutzerschnittstelle aus aufrufen und sich nach verschiedenen Kriterien die Auswirkungen darstellen lassen.

Zentrale Registry

Im Idealfall gibt es in einer Organisation nur eine zentrale Registry oder ein Repository. Mit zunehmender Größe einer Organisation jedoch kommt es häufiger vor, dass verschiedene Registries/Repositories, beispielsweise für ein einzelnes ERP-System oder für eine zugekaufte Organisationseinheit, im Einsatz sind. Dies ist nicht grundsätzlich schlecht, solange ein führendes Registry/Repository definiert wird und über einen standardbasierten Datenaustausch (etwa UDDI) ein konsistenter Datenbestand garantiert ist. Die Governance-Lösung der Software AG bietet zum Beispiel ein flexibles und erweiterbares Föderations-Framework, mit dessen Hilfe Datenabgleich mit externen UDDI Registries oder beliebigen anderen Informationssystemen ermöglicht wird, wobei jedes als Master fungieren kann.

Info: Software AG Tel.: 0615/ 92-0 Web: www.software-ag.de


Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Lampertz GmbH & Co. KG

Matchmaker+