Vorwort
SOA ist eine Lebensweise
Anne Thomas Manes
auch verfügbar als PDF-Download
Serviceorientierte Architekturen versprechen deutliche Vorteile aus geschäftlicher Sicht, wie erhöhte Flexibilität und eine bessere Ausrichtung der Informationstechnologie (IT) an den Anforderungen des Business. Aber die Risiken sind proportional zu den Chancen. SOA erfordert eine erhebliche Investition in Organisationsstrukturen, Ausbildung, Infrastruktur und Governance. Unternehmen, die bei der Umsetzung Fehler machen, können am Ende schlechter dastehen als vorher. Mit anderen Worten: Ihre Systeme sind plötzlich instabiler und unflexibler als jemals zuvor.
Unglücklicherweise ist SOA keine Lösung, die Sie in einer ordentlichen kleinen Schachtel kaufen können. SOA ist etwas, das Sie aktiv tun müssen, nicht etwas, das Sie kaufen. SOA ist ein Ansatz zum Systementwurf und unterscheidet sich grundsätzlich von den anwendungszentrierten Designansätzen, die in den meisten Unternehmen vorherrschen. Eine SOA-Initiative erfordert Änderungen an der Art und Weise, in der Projekte definiert, budgetiert, entwickelt, betrieben und kontrolliert werden. Sie erfordert einen bislang nicht gekannten Grad an Kollaboration zwischen IT- und Fachabteilungen.
Was auch immer Ihnen die Produktanbieter versprechen: Sie können keine schlüsselfertige SOA-Lösung kaufen und erwarten, dadurch sofort eine service- orientierte Architektur zu erreichen – es gibt keine »Instant-SOA«. SOA ist kein Produkt. Es verhält sich ähnlich wie bei Gesundheit und Fitness: Es gibt keine einfache Lösung. Sie erwarten auch nicht, durch den Kauf eines Ernährungsratgebers und den Beitritt zu einem Fitnesscenter von allein gesund und fit zu werden. Sie müssen sich tatsächlich gesund ernähren und regelmäßig trainieren, eben Ihre gesamte Lebensweise ändern. Das Gleiche gilt für SOA.
Durch die Produkte, die die Hersteller anbieten – wie eine »SOA-Plattform« oder einen »Enterprise Service Bus« (ESB) – werden Ihre Systeme nicht automatisch serviceorientiert. Diese Technologien sind nur Werkzeuge. Es ist Aufgabe der Systemdesigner herauszufinden, wie sie am besten eingesetzt werden. (Und unglücklicherweise ist die Bedienungsanleitung ziemlich kryptisch.)
SOA-Technologien sind wie Sportgeräte: Egal, wie gut diese sind, Sie werden durch sie nicht fit, solange Sie sie nicht benutzen. Tatsächlich spielt es häufig keine Rolle, welche Sportgeräte Sie verwenden, Hauptsache, Sie betreiben regel- mäßig Sport. Für viele Leute sind ein Paar Laufschuhe viel effektiver als eine teure Mitgliedschaft im Body-Building-Studio. Die Ausrüstung, die Sie verwenden, kann Ihre Erfolgschancen beeinflussen – Sie werden wahrscheinlich mehr trainieren, wenn Sie es genießen – aber es kommt hauptsächlich auf Ihre Disziplin und Ihr Durchhaltevermögen an. Ebenso gilt: Unabhängig davon, wie gut Ihre SOA- Technologie sein mag, werden Sie keine serviceorientierten Systeme bekommen, wenn Sie nicht den serviceorientierten Entwurfsprinzipien folgen.
Wie Fitness erfordert auch SOA eine Änderung der Lebensweise. Erfolg mit SOA hat viel mehr mit Unternehmenskultur zu tun als mit Technologie. Es spielt keine Rolle, welche Art von SOA-Technologie Sie verwenden – es kommt darauf an, wie Sie diese Technologie verwenden und wie Sie Ihre serviceorientierten Systeme verwenden. Unternehmen sollten sich davor hüten, sich auf ein einzelnes Produkt zu verlassen: Ein Produkt kann zur Krücke werden. Entwickler werden sich auf die Verwendung des Produktes konzentrieren, anstatt SOA-Prinzipien zu erlernen und anzuwenden. So wie ein ausgewogenes Trainingsprogramm ein besseres Fitnessresultat ergibt, führt der Einsatz verschiedener Produkte zu besseren Ergebnissen bei SOA.
SOA erfordert einen anderen Ansatz zum Entwurf von Systemen und einen neuen Grad von Zusammenarbeit in der IT und über Geschäftsbereiche hinweg. SOA erfordert Änderungen an den Incentives, um Zusammenarbeit und Wiederverwendung zu fördern, Änderungen an Abrechnungsmodellen, sogar organisa- torische Änderungen.
Diese Art kultureller Änderung ist für jede Organisation schwierig, und viele SOA-Initiativen werden spektakulär fehlschlagen. Organisationen, die SOA nicht als »Lebensweise« akzeptieren, werden nur wenig Vorteil aus ihren SOA-Initiativen erzielen, wenn überhaupt. Es ist wie bei einer Crash-Diät: Man verliert viel- leicht schnell Gewicht, aber sobald man wieder auf die alten Gewohnheiten zurückfällt, nimmt man wieder zu – und oft mehr, als man abgenommen hat. Organisationen, die SOA nur als ein weiteres IT-Integrationsprojekt betrachten, werden nur mit geringer Wahrscheinlichkeit wiederverwendbare Services entwickeln. Stattdessen werden sie nur noch mehr Anwendungssilos mit noch mehr Spaghetti-Integrationscode produzieren. Sie werden weder größere Flexibilität und Agilität noch irgendeinen anderen der Vorteile von SOA erreichen. Um die Wahrscheinlichkeit eines Erfolges zu erhöhen, müssen Unternehmen akzeptieren, dass SOA eine strategische Geschäftsinitiative ist und kein taktisches Technologieprojekt. Es erfordert einen langfristig gültigen Entschluss, die Art zu ändern, in der das Unternehmen seine IT-Assets budgetiert und sie verwaltet. Es erfordert eine konzertierte Planung, um festzulegen, wie eine SOA-Einführungsstrategie aussehen muss. Es erfordert die Anwendung von SOA-Prinzipien in den SOA-Projekten. Und es erfordert Disziplin durch ein stringentes Governance- Programm.
Governance ist ein essenzieller Teil jeder SOA-Initiative. Tatsächlich ist Governance für den Erfolg einer SOA-Initiative wichtiger als die Technologie, die für die Implementierung von Services verwendet wird. Ohne Governance hat eine Organisation keine Kontrolle über ihre Services oder den Service-Lebenszyklus, und alle Anstrengungen werden schnell ins Chaos führen. Ein SOA-Governance- Programm kontrolliert die Entwicklung und den Betrieb von serviceorientierten Systemen und stellt die Mittel zur Verfügung, die man benötigt, um die Übereinstimmung von Services und Serviceartefakten mit SOA-Prinzipien und best practices sicherzustellen. Es stellt Entwicklern und Nutzern von Diensten Richtlinien als Hilfsmittel zur Verfügung. Ein SOA-Governance-Programm wird mit- hilfe von Richtlinien, Prozessen, Metriken und Organisation umgesetzt:
- Richtlinien (Policies) beschreiben den »richtigen« Weg, Dinge zu tun. Sie formalisieren Gesetze, Festlegungen, unternehmensweite Richtlinien und Best Practices.
- Prozesse sind Aktivitäten, die eine Gelegenheit bieten, ein Projekt oder Artefakt auf seine Übereinstimmung mit den Richtlinien zu prüfen und auf dieser Basis über den weiteren Fortgang zu entscheiden. Einige Prozesse sind automatisch und systemgetrieben; andere erfordern menschliches Eingreifen.
- Metriken machen das Governance-Programm transparent und sind eine Voraussetzung für das Messen und die Verifikation des Befolgens von Richtlinien.
- Die Organisation schließlich muss eine Kultur unterstützen, in der gute Governance-Praktiken unterstützt und belohnt werden. Ein SOA-Governance-Programm muss Richtlinien für den gesamten Service- Lebenszyklus festlegen, von der Identifikation potenzieller Services über deren Entwicklung, Inbetriebnahme, die Nutzung und den Betrieb bis zu ihrer Weiterentwicklung.
Für viele hat der Begriff Governance einen schalen Beigeschmack. Man assoziiert viele unangenehme, mühselige Aufgaben und häufig unangemessenes Ein- greifen, lauter Dinge, die dem Fortkommen im Wege stehen. Aber Governance muss nicht so sein: Das beste Governance-Programm ist eines, das unsichtbar bleibt. Governance-Prozesse sollten in die normalen, täglichen Prozesse integriert sein. Sie sollten so automatisiert wie möglich sein und den gesamten Service- Lebenszyklus erleichtern. Wenn Regelverletzungen vorkommen, sollten diese entweder automatisch aufgelöst werden oder die verantwortliche Person angemes- sen unterstützen.
Eine SOA ist eine sinnvolle Investition und kann zu wichtigen Geschäftsvorteilen führen, wie einer kürzeren »Time to market«, geringeren Kosten, besserer Konsistenz und erhöhter Agilität. Sie kann Ihnen dabei helfen, doppelte Aufwände zu vermeiden und mehr Wert aus Ihrer bestehenden IT-Infrastruktur zu schöpfen. Sie kann dabei helfen, IT-Systeme und Geschäftsstragie besser in Einklang zu bringen. Sie kann Ihnen einen Wettbewerbsvorteil bringen, in dem die Möglichkeiten der IT ausgeschöpft werden. Aber um diese Vorteile zu erzielen, müssen Sie richtig vorgehen. Bei SOA geht es mehr um Unternehmenskultur als um Technologie. Sie wirkt sich auf viele Bereiche des Unternehmens aus – von der Softwareentwicklung und den Betrieb bis zur Buchhaltung und den Incentive- Systemen. SOA erfordert eine andere Einstellung, und sie erfordert Disziplin. SOA ist eine Lebensweise – SOA is a lifestyle.