Einrichtung einer Service-Governance-Organisation

Einleitung

Ein Service, sei es physisch wie ein Versandservice oder von einem Software-Agenten implementiert, ist immer so konzipiert und verfeinert, dass er von so vielen Verbrauchern wie möglich wiederverwendet werden kann. Dies ist die Essenz der serviceorientierten Architektur: Senkung der Kosten, Risiken und Verzögerungen bei der Erstellung von Lösungen durch die Berücksichtigung und Implementierung von IT-Assets, so dass sie wiederverwendet werden können, oft in Situationen, die zur Entwurfszeit unbekannt sind. SOA-Governance unterscheidet sich nicht von Daten- und IT-Governance, die darauf abzielen, Informationsmodelle zu entwerfen oder Technologien auszuwählen, die über die Grenzen eines bestimmten Projekts hinaus wiederverwendet werden können. Dienstleistungen müssen so geregelt werden, dass sie wiederverwendbar werden: Alle vorhersehbaren Verbraucher müssen in der Lage sein, ihre Anforderungen auszudrücken, die anschließend priorisiert und schrittweise festgelegt werden, während ein Service Owner zugewiesen und ein Finanzierungsmodell definiert wird.

In einem früheren Artikel befasste sich Stefan Tilkov genauer mit den Rollen in der SOA-Governance (1). Mein Ziel ist es, Ihnen dabei zu helfen, eine Service-Governance-Organisation in Bezug auf Menschen, Prozesse und Technologien aufzubauen.

Service Governance Charta

Das Hauptziel der Service Governance ist es, die Vorteile einer serviceorientierten Architektur zu erreichen, indem die Schaffung wiederverwendbarer Dienste der Enterprise-Klasse gefördert wird. Als funktionsübergreifende Organisation stellt Service Governance die rechtzeitige Lösung von Problemen und Konflikten aufgrund der notwendigen Kompromisse sicher, die bei der Definition gemeinsamer Anforderungen getroffen werden.

Insbesondere ist die Service Governance Organization verpflichtet, klare Grenzen für das Eigentum an Diensten zu definieren und ein faires Finanzierungsmodell festzulegen.

Service Governance überwacht die Bereitstellung und Wiederverwendung von Diensten im gesamten Unternehmen. Ein hohes Maß an Service-Wiederverwendung, ein stetiger Fluss von Service-Bereitstellungen der Enterprise-Klasse sowie problemlose Service-Stilllegungen sind die Indikatoren für eine erfolgreiche Governance.

Service Governance sollte sich nicht mit traditioneller IT-Governance und Unternehmensarchitektur überschneiden; sie definieren die Standards von SOA-Technologien und die Roadmap, die zu einem höheren SOA-Reifegrad führt, während die Service Governance-Organisation mit der Weiterentwicklung der Servicelandschaft beauftragt ist.

Im Allgemeinen ist die Rolle der Service Governance passiv und verarbeitet Servicekandidaten, die durch bestimmte Projekte oder auf Geschäftsbereichsebene identifiziert wurden. Erst wenn eine Organisation einen hohen Reifegrad erreicht hat, kann Service Governance eine systematische Top-Down-Identifikation von Enterprise Services initiieren und deren Realisierung projektunabhängig ermöglichen.

In jedem Fall sollte die Governance-Organisation befugt sein, Unternehmensdienste unabhängig von den Budget- und Ressourcenbeschränkungen des Projekts zu erstellen, das den Dienstkandidaten anfänglich verbraucht. Der Grund dafür ist, dass die Wiederverwendbarkeit normalerweise mit einem größeren Umfang einhergeht, was zu einem höheren Preis führt.

Die Governance-Organisation ist der Verwalter von Servicedefinitionen, die als Unternehmensvermögen verwaltet werden sollen. Es ist auch für die Aufrechterhaltung der Rückverfolgbarkeit und Compliance mit anderen Unternehmensressourcen wie Geschäftsprozessmodellen und dem Referenzdatenmodell verantwortlich. Wir werden im letzten Abschnitt des Dokuments auf die Verbindungen zu einem Referenz- oder Unternehmensdatenmodell zurückkommen.

Personen

In dem zuvor erwähnten Artikel wurden Rollen1 beschrieben, die an Service-Governance-Aktivitäten aus Sicht der Service-Implementierung beteiligt sind. Wenn eine Organisation ihre serviceorientierte Architektur startet, reichen diese Rollen aus, um die Bereitstellung von Diensten der Enterprise-Klasse zu gewährleisten, insbesondere wenn sie zu einem SOA-Kompetenzzentrum gehören.

Rolle Beschreibung
Inhaber von Business Services
  • Steuern und kontrollieren Sie die Implementierung, Entwicklung und Stilllegung des Dienstes
  • Besitzt den Funktionsumfang des Dienstes, die Service Level Agreements
  • Verwaltet effektiv die Funktionen des Dienstes, um Governance-Anforderungen zu erfüllen und ein angemessenes Maß an Wiederverwendung sicherzustellen
  • Melden Sie der Governance-Organisation die
Inhaber des technischen Dienstes
  • Führen Sie den Dienst aus implementierung, Entwicklung und Stilllegung
  • Besitzt das Operations Level Agreement und verwaltet den Service, um seine Ziele in Bezug auf Verfügbarkeit, Leistung und Sicherheit zu erreichen
  • Überwacht den Service, um potenzielle Probleme mit SLA und OLA zu identifizieren
  • Melden Sie die Serviceaktivität dem Geschäftsinhaber
SOA Plattform Architekt
  • Beraten und diskutieren Sie technische SOA-Standards mit der IT- und SOA-Governance-Organisation
  • Stellen Sie sicher, dass die Serviceimplementierungen konform sind
Dienstleistungen Entwickler
  • Unterstützung des Domain Architect und Platform Architect bei ihren Governance-bezogenen Aktivitäten
  • Implementierung von Governance-Richtlinien und -Empfehlungen

Wenn eine Organisation reifer wird und die Anzahl der Servicekandidaten zunimmt, ist es hilfreich, einen Governance-Leiter einzuführen, der den Prozess und die Ressourcen besitzt, um sicherzustellen, dass Governance-Aktivitäten angemessen ausgeführt und Probleme rechtzeitig gelöst werden. Er sollte von einem funktionsübergreifenden Governance-Rat und einem Servicebibliothekar unterstützt werden.

Rolle Beschreibung
Leitung Governance
  • Verwalten Sie die gesamten Governance-Aktivitäten aus Sicht der Mitarbeiter, Prozesse und Technologien
  • Verantwortlich für den Service-Lebenszyklus
  • Verantwortlich für Metriken zur Wiederverwendung von Diensten
  • Dies ist normalerweise keine Vollzeitrolle und könnte vom Domänen- oder Plattformarchitekten besetzt werden
Regierungsrat
  • Vorschläge für Servicekandidaten überprüfen
  • Empfehlen Sie die Inhaberschaft und Finanzierung von Services modell
  • Lösen Sie Probleme in Bezug auf Verbraucheranforderungen Prioritäten, Service Ownership, Finanzierungsmodell, Zeitpläne, SLAs und OLAs
  • Dies ist ein funktionsübergreifendes Team, das so viele Domänen wie möglich abdeckt
Service Bibliothekar
  • Verwalten der Dienstlebenszyklen Aktivitäten, die sich auf die Dienstregistrierung und das Repository beziehen
  • Verwaltet die Registrierungstaxonomie
  • Stellen Sie sicher, dass genaue Daten und Metadaten im Repository gespeichert sind
  • Dies ist in der Regel keine Vollzeitrolle und kann mit einer architekt Rolle

Wir sehen drei wesentliche Reifegrade in Bezug auf die Service Governance-Organisation.

Reifegrad Organisation
Niederlassung
  • Die SOA-Initiative hat vor kurzem begonnen
  • Ein SOA-Kompetenzzentrum, das alle Aspekte der Initiative verwaltet, einschließlich Plattformdefinition und -bereitstellung, Serviceaufbau und -besitz sowie SOA-Governance
  • Die Anzahl der zu erstellenden Dienste ist relativ gering
  • Eine Registrierung ist noch nicht erforderlich, da alle servicebezogenen Aktivitäten in einer kleinen Gruppe stattfinden
Ausführung
  • Eine Registrierung und ein Repository werden bereitgestellt, um den Governance-Prozess und die Metadaten zu verwalten
  • Ein Governance-Lead und ein Service-Bibliothekar werden benannt
  • Innerhalb des SOA-CoE werden noch Dienste erstellt, die jedoch mehrere Monate lang unternehmenskritische Lösungen unterstützen
  • In einigen Fällen wird ein SOA-Rat gebildet, um bestimmte
Optimiert
  • Ein SOA-Rat wird ernannt und trifft sich regelmäßig, um Vorschläge für Servicekandidaten zu diskutieren
  • Eine Service-Roadmap wird von der SOA-Governance-Organisation definiert und verwaltet, um Service-Realisierungen vor Projektanforderungen zu initiieren

Abbildung 1 zeigt einige der Interaktionen zwischen den an der Service Governance beteiligten Rollen.

Abbildung 1. Interaktionen zwischen verschiedenen Governance-Komponenten

Der Schlüssel zum Aufbau einer erfolgreichen Service-Governance-Organisation liegt wiederum darin, agil zu sein und gerade genug Ressourcen, Prozesse und Technologien zusammenzustellen, um Ihre Anforderungen zu erfüllen, aber nicht mehr. Eine große Service-Governance-Organisation ohne eine vernünftige Pipeline von Service-Kandidaten wird schnell Dampf verlieren und die Gelegenheit verpassen, angemessenes Feedback zu einigen Service-Kandidaten zu geben.

Sie möchten eine Organisation aufbauen, die die Wiederverwendung von Diensten fördert, nicht weniger und nicht mehr.

Prozess

Prozesse und Aktivitäten

Es gibt fünf Arten von Aktivitäten, die von der SOA-Governance-Organisation ausgeführt werden:

  • Service Candidate Management
  • Service Change Management
  • Service Consumer Management
  • Service Roadmap Management
  • SOA Governance Richtlinienänderungen

Abbildung 2 zeigt einige der Aktivitäten, die während des Service Candidate Management-Prozesses ausgeführt werden können. Ein Projektteam kann einen Dienst identifizieren und einen Dienstvorschlag erstellen. Dieser Vorschlag wird dann genehmigt, mit Änderungen genehmigt oder abgelehnt (als Unternehmensdienst), wenn dieser Dienstkandidat möglicherweise nicht von anderen Teilen des Unternehmens wiederverwendet werden kann.

Sobald der Servicekandidat akzeptiert wurde, werden das Eigentums- und Finanzierungsmodell definiert und die SLAs und OLAs mit Hilfe des Serviceinhabers und potenzieller Verbraucher festgelegt.

Sobald der Dienst realisiert ist, werden seine Metadaten in der Registrierung und im Repository veröffentlicht. In großen Organisationen wird empfohlen, die im Aufbau befindlichen Dienste im Auge zu behalten, um gleichzeitige Dienstvorschläge zu vermeiden.

Change-Management-Aktivitäten sind häufig identisch mit Aktivitäten, die während einer Überprüfung von Servicekandidaten durchgeführt werden. Aktivitäten wie Service Ownership, Finanzierungsmodell oder SLAs/OLAs-Spezifikation können optional sein.

Ein kritischer Aspekt des Change Managements ist das effektive Management vorwärtskompatibler Services (2).

Dienstverbraucherverwaltungsaktivitäten werden hauptsächlich vom Dienstbibliothekar ausgeführt, es sei denn, es gibt Änderungen, die erforderlich sind, damit dieser neue Verbraucher den Dienst nutzen kann. Der Bibliothekar kann den Dienstnutzern helfen, den Zieldienst zu identifizieren und eine Kopie seiner Metadaten zu erhalten.

Service Roadmap Management-Aktivitäten werden bereitgestellt, wenn die Service Governance proaktiv handelt, um Services ohne spezifische Projektanforderungen zu identifizieren. Zu diesem Zeitpunkt sollte die Service-Governance über Budgets verfügen, um die Entwicklung dieser Dienste vor den Projekten in Auftrag zu geben, die sie verbrauchen werden. Dies ist ein kritischer Erfolgsfaktor der Governance, da das Design und die Implementierung wiederverwendbarer Dienste möglicherweise weit über den Umfang, die Mittel und den Zeitplan eines bestimmten Projekts hinausgehen. Governance-Aktivitäten selbst benötigen Zeit und können einem Servicekandidaten langwierige Upgrades empfehlen. Aus diesem Grund ist es so wichtig, dass die Governance-Organisation Zeitpläne und Phasen für spezifische Anforderungen zeitnah verwaltet und die Auswirkungen von Zeitplänen für die Lösungsbereitstellung minimiert.

Abbildung 2. Service Candidate Management Activities

Schließlich kann eine Governance-Organisation die IT-Governance beauftragen, ihre Betriebsrichtlinien zu definieren oder zu ändern.

Service-Metadaten

Der Service Candidate Proposal enthält eine Beschreibung der Serviceschnittstelle (nicht unbedingt in maschinenlesbarer Form) sowie alle funktionalen und nicht funktionalen Anforderungen an den Service, die beispielsweise zur Definition der SLAs und OLAs verwendet werden. Das CBDI Forum Service Architecture & Engineering meta model for SOA (3) bietet einen guten Überblick über die Informationen zu einem Service, die in den frühen Phasen des Lebenszyklus erfasst und im Laufe der Zeit verfeinert werden.

Das SAETM-Metamodell des CBDI-Forums enthält eine Dienstdefinition, einschließlich vorgeschlagener Vorgänge, Richtlinien und zugehöriger Dienste, sowie eine Dienstklassifizierung. Das CBDI-Forum empfiehlt außerdem, eine Service-Definition auf Geschäftsebene aufzunehmen, die sich auf Geschäftsprozesse, Geschäftsfunktionen und Geschäftsregeln bezieht… zur Service-Definition.

All diese Informationen könnten möglicherweise verwendet werden, wenn ein Verbraucher nach einem bestimmten Dienst sucht. Deshalb ist es wichtig, sie strukturiert zu erfassen, auch wenn maschinenlesbare Beschreibungsstandards wie WSDL diese Art von Informationen (noch) nicht unterstützen.

Das CBDI Forum SAE™ Metamodel bietet einen separaten Abschnitt für die Service-Spezifikation. Der interessante Aspekt dieses Teils des Metamodells besteht darin, dass die Informationstypen, die am Dienst beteiligt sind, als Operationsargumente verfolgt werden. Diese Funktion wird beispielsweise von WSDL nicht gut unterstützt, da sie nur die Darstellungen der Geschäftstypen definiert, die als Teile von Vorgangsaufrufen ausgetauscht werden, nicht jedoch die Geschäftstypen selbst.

Die Rückverfolgbarkeit von Informationstypen ist kritisch, da sie die Einführung einer betriebsspezifischen Semantik verhindert. Ein Nachrichtentyp sollte immer in enger Verbindung mit dem Referenzdatenmodell definiert werden. Tatsächlich sollten die SOA-Governance-Prozesse sicherstellen, dass im Nachrichtentyp im Vergleich zum Referenzdatenmodell keine zusätzliche Semantik definiert ist.

Das CBDI Forum SAE™ Metamodell verfolgt auch die Geschäftskomponenten, die in einer Serviceimplementierung verwendet werden.

Wiederverwendbarkeitsfaktoren für Dienste

Bei der Förderung der Spezifikation wiederverwendbarer Dienste sind drei wichtige Faktoren zu berücksichtigen. Zunächst muss eine Serviceschnittstelle in Bezug auf ihre aktuellen und potenziellen Verbraucher vollständig sein. Eine gute zu verfolgende Metrik ist die Anzahl der Schnittstellen- und Implementierungsänderungen, wenn neue Verbraucher an Bord kommen, sowohl für diejenigen, die vorwärtskompatibel sind, als auch für diejenigen, die dies nicht tun.

Zweitens müssen wir die entsprechenden Service- und Operations-Level-Agreements (SLAs und OLAs) berücksichtigen. Einige SLA funktionieren möglicherweise perfekt für einen Verbraucher und sind ein Show-Stopper für einen anderen. SLAs und OLAs können ebenfalls schwierig zu erreichen sein. Die SOA-Governance-Organisation sollte die Vorfälle verfolgen und die Anzahl der Änderungen an SLAs und OLAs, die sich aus diesen Vorfällen ergeben, sowie die Anzahl der Änderungen an der Serviceimplementierung überwachen, um ihre SLAs und OLAs effektiv zu erfüllen.

Schließlich sollte eine Service-Governance-Organisation versuchen, alle potenziellen Verbraucher eines Service-Kandidaten zu identifizieren und sie in den Prozess der Ratifizierung des Service-Interface-Vorschlags einzubeziehen. Eine gute Metrik, um dort zu verfolgen, ist die Anzahl der unerwarteten Kunden, die nach der Entwicklung eines Dienstes gefunden wurden. Diese Metrik sollte sorgfältig interpretiert werden, da dies bedeuten könnte, dass der Dienst gut gestaltet war und viele Verbraucher anzog, oder es könnte bedeuten, dass nicht genügend Zeit aufgewendet wurde, um die richtigen Verbraucher zu identifizieren, was zu vielen nachfolgenden Änderungen führte.

Service-Governance-Aktivitäten und -Rollen werden häufig von einer Governance-Lösung unterstützt, die auf einer Service-Registrierung und einem Repository basiert. Auch wenn es ziemlich trivial ist, dies zu sagen, ist es wichtig, immer daran zu denken, dass ein Vermögenswert nur so oft wiederverwendet werden kann, wie er gefunden werden kann. Eine Registrierung ist der Katalog oder Index, der als „System of Record“ für Dienste innerhalb einer SOA fungiert (4).

Eine SOA-Registrierung und ein Repository unterstützen normalerweise die folgenden Funktionen:

  • Speichert Dienstmetadaten wie Beschreibungen (Nachrichtenformate und Vorgänge), Bindungen (Kommunikationsprotokolle), Endpunkte (die Netzwerkzugriffsressource, die den Dienst implementiert)
  • Bietet einen Klassifizierungsmechanismus zur Kategorisierung und Organisation von Diensten
  • Ermöglicht es Benutzern, neue Dienste (wie sie identifiziert, realisiert und bereitgestellt werden) in der Registrierung zu veröffentlichen und nach vorhandenen oder geplanten Diensten zu suchen
  • Benachrichtigen Sie die von geplanten Änderungen
  • Verwaltung von SLA- und OLA-Berichten sowie statistiken
  • Sichere Verwaltung von Governance-Prozessen und -Ergebnissen
  • Bereitstellung von Audit-Funktionen zur Nachverfolgung von Änderungen und Autorisierungen für Asset-Beschreibungen

Governance-Prozesse sind geografisch verteilt und kollaborativ. Das Management dieser Prozesse ist entscheidend, um verschiedene Parteien für einen Konsens über die Service-Definition und Realisierung zu bringen.

Da die Registrierung und das Repository das Aufzeichnungssystem für Dienstinformationen sowohl zur Entwurfszeit als auch zur Laufzeit sind, ist die Sicherheit des „Dienstdatensatzes“ von entscheidender Bedeutung, um beispielsweise das Ersetzen von Endpunkten zu vermeiden.

Beziehung zu anderen Governance-Aktivitäten

Service Governance ist eine neue Art von Governance als Teil der umfassenderen IT-Governance-Aktivitäten, die von Unternehmensarchitekturgruppen geleitet werden. Die IT-Governance sollte die Kontrolle über die Governance der SOA-Plattform selbst behalten, während die Service-Governance ihre Aktivitäten auf die Gestaltung von Services für die Wiederverwendung auf Unternehmens-, Service-Realisations- und Lösungsbereitstellungsebene konzentrieren sollte (Abbildung 3). Auf Unternehmensebene sollte die Service Governance eng mit der IT-Governance zusammenarbeiten, um das Geschäftsprozessmodell des Unternehmens zu nutzen, um Servicekandidaten basierend auf einer Top-Down-Analyse zu identifizieren und eine Roadmap für die Bereitstellung dieser Services zu erstellen. Wie wir bereits im Abschnitt Prozess gesehen haben, finden auf der Service-Ebene die meisten Aktivitäten der SOA-Governance statt. Alle diese Aktivitäten werden von einer Registrierung und einem Repository unterstützt.

Auf Lösungsebene sollte die Service-Governance-Organisation den Grad der Compliance in Bezug auf SOA-Infrastruktur- und Service-Richtlinien bewerten und steuern.

Service Governance ist über die Verwendung des Unternehmensreferenzdatenmodells eng mit Data Governance verbunden. Das Service Governance-Team sollte die Verwendung der Semantik des Referenzdatenmodells für den Entwurf von Vorgangsnachrichtentypen erzwingen.

Hier geht es nicht darum, ein „Kanonisches Informationsmodell“ zu erstellen. In einer serviceorientierten Architektur wäre es naiv zu glauben, dass die Verbraucher immer in der Lage sein werden, den Standpunkt des Anbieters einzunehmen, oder dass sowohl der Anbieter als auch der Verbraucher immer denselben Standpunkt einnehmen können. Selbst wenn dies heute der Fall wäre, sind Unternehmen, Verbraucher und Anbieter möglicherweise nicht in der Lage, sich gleichzeitig zu einer neueren Version der Schnittstelle zu entwickeln (sei es vorwärts- oder rückwärtskompatibel).

Abbildung 3. Beziehung zwischen SOA-Governance und anderen Governance-Aktivitäten

Diese divergierende Entwicklung wird häufig mithilfe eines Mediators und insbesondere von Nachrichtentransformationen gehandhabt. Obwohl Mediation in der Webdienstarchitektur des W3C nicht explizit enthalten ist (5), haben SOA-Praktiker sie seit langem systematisch eingesetzt, um ein höheres Maß an loser Kopplung zu erreichen und autonome Entwicklungen zwischen den Verbrauchern und Anbietern zu ermöglichen. Diese Transformationen sind unvermeidlich und diese Fähigkeit sollte in Ihre SOA-Infrastruktur integriert werden. Mediation benötigt übrigens kein „Gemeinsames Informationsmodell“. Wenn Sie ein solches „gemeinsames Informationsmodell“ unabhängig von der Provider- und Consumer-Schnittstelle verwenden und dennoch eine lose Kopplung erreichen möchten, entstehen Ihnen die Kosten für zwei Transformationen, ganz zu schweigen davon, dass Sie Ihr Nachrichtenformat weiterhin in einen Datensatz umwandeln müssen verbrauchbar durch die Implementierung von Provider und Consumer.

Der erste Schritt in Richtung überschaubarer Transformationen besteht darin, Verbraucher- und Anbieterschnittstellen aus dem Referenzdatenmodell abzuleiten. Im Referenzdatenmodell ist die Datenstruktur weniger wichtig als die Normalisierung der Semantik. Diese Semantik wird von Data Governance mit großer Präzision verwaltet. In der Regel stellt das Referenzdatenmodell die Rückverfolgbarkeit auf physische Artefakte wie Datenbankschemata und COBOL-Kopierbücher her. Diese Rückverfolgbarkeit kann sich während der Implementierung des Dienstes als sehr nützlich erweisen, während die Verwendung normalisierter Semantik dazu beiträgt, die Entwicklung von Transformationskarten zwischen Verbrauchern und Anbietern zu vereinfachen.

Fazit

Service Governance ist ein wesentlicher Aspekt einer erfolgreichen serviceorientierten Architektur. Ihre Etablierung muss frühzeitig in den Anfangsphasen einer SOA-Initiative geplant und erprobt werden. Eine umfassende Governance-Organisation, die von einem strengen Prozess angetrieben wird, sollte jedoch nur gestartet werden, wenn die Service-Pipeline groß genug ist, um das Team motiviert und kompetent zu halten. Wenn Governance-Aktivitäten zeitlich zu weit entfernt sind, verliert das Team möglicherweise das Interesse und das kritische Wissen, um seine Aktivitäten ordnungsgemäß auszuführen. Das Registry & -Repository ist eine Schlüsselkomponente für eine erfolgreiche Governance, da es den „Service Record“ verwaltet. Das ultimative Ziel der Service Governance ist es, die Spezifikation, Realisierung und den Betrieb wiederverwendbarer IT-Assets zu ermöglichen. Mit der Zeit wird erwartet, dass sich die Service Governance zu einer viel proaktiveren Beauftragung der Implementierung geschäftskritischer Dienste entwickeln wird.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.