SOA ist tot. Lang lebe SOA!

Industrialized SOA

Jürgen Kress, Berthold Maier, Hajo Normann, Danilo Schmiedel, Guido Schmutz, Bernd Trops, Clemens Utschig-Utschig, Torsten Winterberg

Vor viereinhalb Jahren, am fünften Januar 2009 ist SOA gestorben. Die Meisteranalystin Anne Thomas Manes überbrachte die Todesnachricht. Und, so skeptisch wie man damals sein konnte, die Prophezeiung hat sich erfüllt: Heute bestimmen neue Themen wie Cloud, insbesondere Software as a Service, und Big Data die Konferenzen und neue Buchtitel. Um SOA ist es still geworden. SOA ist irgendwie out.

Was kommt danach? Sind Cloud und Big Data „the next big Thing“ und können wir SOA daher vergessen? Wie könnte der Nachfolger heißen? Frau Thomas Manes hat im gleichen Atemzug mit der Verkündung des Todes von SOA einen Hinweis gegeben: „SOA is dead, long live Services.“ Und genau darum geht es: Die neuen Hype-Themen ersetzen Serviceorientierung nicht, sondern bauen darauf auf. SOA entwickelt sich evolutionär weiter. In Richtung Fabrikansatz, in Richtung Industrialisierung, in Richtung „ganzheitliche Plattform“. Sie alle umfassen Themen wie BI, Master Data Management, Mobile Frontends, BPM und Adaptive Prozesse, Big Data und Cloud. Nicht in jedem Detail dieser neuen Ansätze spielt Serviceorientierung eine tragende Rolle. Wir beobachten jedoch: Serviceorientierung ist die Klammer, die Grundlage, die Plattform, der gemeinsame Nenner, auf dem alle diese Themen aufsetzen. Denn bei Cloud, bei MDM, bei Big Data, bei BI – immer geht es darum, von der Implementierungstechnologie zu abstrahieren, diese zu virtualisieren und einen Servicevertrag zu etablieren, der Daten und Funktionen standardisiert und möglichst redundanzfrei bereitstellt. Das ist Serviceorientierung. Überprüfen wir einige der neuen Hype-Themen daraufhin, ob und wie sie mit SOA zusammenzuhängen:

Big Data, Ontologien, CEP und SOA

Die Menge an Daten, die Unternehmen erzeugen und speichern, erhöht sich dramatisch. Datenquellen sind sowohl strukturierte Daten – z. B. aus ERP-Systemen oder Data Warehouse – als auch unstrukturierte Daten, z. B. aus E-Mails. Mit dem Aufkommen sozialer Medien, Webdiensten wie Twitter, Facebook und Pinterest, oder der Einführung eines Customer Experience Managements, explodieren förmlich die Menge der Datenquellen und die Datenmenge. Zur Integration dieser Datenquellen ist eine SOA-Architektur essenziell, da mit ihren Mitteln eine Schnittstelle auf die Daten, die mit Big-Data-Mitteln konsolidiert werden, schemabasiert bereitgestellt werden kann. Meist besteht zwischen den unterschiedlichen Systemen kein gemeinsames kanonisches Datenmodell. Nehmen wir an, eine Kundenadresse ist im CRM-System mit der Postleitzahl und im Data Warehouse mit dem Bundesland hinterlegt. Eine Ontologie kann hier eine Verknüpfung herstellen und eine einheitliche Sicht auf den Kunden ermöglichen. Zum Verständnis dieser Daten, z. B. Abhängigkeiten und Muster, kommen Complex-Event-Processing-(CEP-)Technologien zum Einsatz. Nun erkennt das CEP-System ein Muster zwischen einem iPhone-Kauf und einem mobilen Datentarif. Die Marketingabteilung kann diese Muster auf Basis von CEP erkennen und neue SOA-Services anbieten – und damit den Kundenumsatz erhöhen.

Cloud and SOA

Cloud Computing ist in der IT-Industrie in aller Munde, um Kosteneinsparungen und verkürzte Projektlaufzeiten zu erzielen. Unabhängig von Deployment-Modell und dem Einsatzgebiet der Cloud-Lösungen ist eine standardbasierte, vertragsorientierte Integration in bestehende Systeme und zwischen den unterschiedlichen Cloud-Systemen essenziell. „SOA is a pre-requisition of Cloud Computing“, sagt die SOA-Totengräberin Ann Thomas Manes.

Serviceorientierung = Industrialized SOA

Wie geht es weiter? Ein Vorschlag: Fassen wir all diese neuen Bausteine in einem modernen Werkzeugkasten zusammen, der jeweils wichtige Geschäftsziele der Unternehmung serviceorientiert, also lose gekoppelt, bereitstellt. Abbildung 1 ordnet die neuen Hype-Themen den Schichten einer SOA zu. So ergibt sich der Werkzeugkasten der „Industrialized SOA“. Die Werkzeuge, die SOA „intern“ verwendet, etwa der Enterprise Service Bus (ESB), sind unter dem Stichwort „SOA“ enthalten.

Abb. 1: Neue Hype-Themen realisieren SOA Services

Nachdem wir nun unseren Werkzeugkasten kennen, mit dem wir unsere Ziele erreichen, definieren wir, wie wir sie erreichen: Dazu vollziehen wir den Wechsel zu einem Fabrikansatz, in dem Standardisierung der Entwicklung und insbesondere der Verträge von Softwarekomponenten das Denken in Insel- und Individuallösungen ablöst. Wenn wir all dies angehen, sind wir auf dem Weg zur Industrialized SOA.

Warum sich 2013 noch mit SOA beschäftigen: Man muss nur noch einmal sterben

Zunächst stellen wir fest: Wir leben immer noch in einer Vor-Industrialized-SOA-Welt. Die IT vieler Unternehmen ist nach wie vor eher reaktiv und applikationsgetrieben organisiert: Eine neue Anforderung hat eine neue Applikation oder „Anflanschen“ an eine bestehende Applikation zur Folge. Daten und Funktionen sind redundant ausgelegt. Unternehmen, die, wie Amazon oder Google, ihre IT von vorneherein „auf der grünen Wiese“ serviceorientiert ausgelegt haben, setzen die Standards unserer Erwartungshaltung. Sie kann von Unternehmen, die sich am Anfang einer Modernisierungsstrategie befinden, noch nicht erfüllt werden:

Eine Versicherung, deren IT noch nicht serviceorientiert ist, zwingt ihre Kunden, sich bei fünf verschiedenen Stellen zu melden, wenn ein Angehöriger und Kunde des Unternehmens verstorben ist, um alle Ansprüche zu realisieren. Viele Firmen kennen ihre Kunden nicht. Sie können keine kundenstatusbezogenen Dienstleistungen anbieten und verpassen die Möglichkeiten des Social Marketings. Sie haben auch keine Möglichkeit, sich auf einer Oberfläche einen ganzheitlichen Überblick über ihren Kunden zu verschaffen. Zusammengeführte Unternehmen sind noch Jahre nach dem Zusammenschluss nicht in der Lage, eine einheitliche Rechnung zu stellen. In Unternehmen werden die gleichen Daten immer noch in verschiedenen Systemen händisch eingetragen.

Der CIO, der nun auf diese Herausforderung mit Master Data Management reagiert, ist auf dem richtigen Weg. Beispielsweise kann ein Kundendatensatz aus einen CRM und einen Buchhaltungssatz kombiniert werden, der Geschäftsanwender erhält eine umfassende Kundenansicht. Aus unserer Sicht ist es sinnvoll, dieses MDM-Projekt nicht isoliert aufzusetzen, sondern in den Kontext einer Initiative Richtung ganzheitlicher Industrialized SOA zu stellen.

Was ist so industriell an SOA? Das Manifest führt zum Fabrikansatz

Es lohnt sich ein Blick in die SOA-Werte von Thomas Erls SOA Manifesto, das das gemeinsame Verständnis vieler führender Architekten zusammenfasst. In der Gegenüberstellung zu alternativen und traditionellen Denk- und Vorgehensweisen wird sichtbar, was Serviceorientierung ist – und was sie nicht ist:

  • Geschäftswert über technische Strategie
  • Strategische Ziele über projektspezifischen Nutzen
  • Immanente Interoperabilität über maßgeschneiderte Integration
  • Gemeinsam verwendete Services über zweckgebundene Implementierungen
  • Flexibilität über Optimierung
  • Evolutionäre Vervollkommnung über Streben nach anfänglicher Perfektion

Diese Werte zeigen den fundamentalen, tief in die Entwicklermentalität, ins Management und in die Firmenkultur eingreifenden Wechsel auf. Serviceorientierung bedeutet das Abschneiden liebgewonnener Zöpfe. „So haben wir es immer gemacht“ ist vorbei. Unsere Gespräche, unsere Ziele, unser tägliches Agieren sollten nicht mehr getrieben sein von lokaler Optimierung, auf den Erfolg in lokalen Projekten und auf unser „technisches Geek-Tum“ ausgerichtet sein: Dennoch macht dies den gegenwärtigen Stand vieler SOA-Projekte aus. In einer ersten Phase setzen Unternehmen häufig mehrere unterschiedliche SOA-Technologien ein. Es entsteht eine „Projekt-SOA“ mit rivalisierenden „SOA-Gurus“, die ihre Vorstellungen einbringen. Nun beobachten wir den Trend, diese gewachsenen unterschiedlichen Landschaften zu überarbeiten und zu konsolidieren. Dazu benötigt man Serviceorientierung, um erfolgreich zu sein; ein Fabrikverständnis. Fachlich ausgerichtete Funktionsblöcke werden in standardisierter, also in immer gleicher Weise beschrieben und implementiert.

Es geht bei dieser Fabrik also in erster Linie nicht um Nicht-Standardisierung auf Implementierungsebene. Das heißt, bis zu einem gewissen Grad ist es sinnvoll, den Applikationsentwicklern die Hoheit über Implementierungsstrategien zu überlassen. Wichtig ist aber die Standardisierung auf Schnittstellenebene, da hier ein formaler Vertrag zwischen heterogenen und verteilten Parteien, den Fachseiten, den Serviceentwicklern und den beteiligten Verfahren, eingegangen wird. Ohne strikte Standardisierung auf Vertragsebene steigen aufgrund unterschiedlicher Analyse- und Designtechniken Wartungsaufwände mit jedem Service.

Die Architektur der Fabrik

Geschäftskritische Prozesse erfordern ausfallsichere, skalierbare und hochverfügbare Systeme. Komplette Suiten, die alle Anforderungen, Szenarien und zukünftige Trends abdecken, werden unternehmensweit implementiert. Der Erfahrungsschatz z. B. aus Prozess-Templates, bewährten SOA-Referenzarchitekturen und SOA Governance sowie Change-Management-Prozessen erhöht die Produktivität. Um Services zu erstellen, die als Bausteine im Rahmen von verfahrensübergreifenden Prozessen eingesetzt werden können, ist eine unternehmensweite technische Architektur Voraussetzung. Diese Architektur wird zentral in einer SOA-Architekturgruppe definiert. Die SOA Governance hat die Aufgabe, zu gewährleisten, dass diese Architektur eingehalten wird. Zur Überwachung der Vorgaben helfen Quality Gates. Es gilt in der Industrialized SOA: Das Rad ist erfunden, benutzt den Bauplan!

Die Sprache der Fabrik

Um das Kernziel der direkten Kommunikation zwischen Fachseiten und IT zu erreichen, etablieren wir ein standardisiertes fachlich orientiertes Vokabular, in dem sich Fachseiten und IT verlässlich und semantisch präzise austauschen können, um Geschäftsprozesse, wichtige Daten, Reports und Abläufe zu besprechen.

Das Programmiermodell der Fabrik

In bisherigen IT-Lösungen wird die Geschäftslogik in Programmzeilen geschrieben. Änderungen sind aufwändig und langwierig, daher fliesen beträchtliche Teile der IT-Budgets in den Betrieb bestehender Lösungen. In SOA-Lösungen wird die Geschäftslogik abstrahiert. Der Teil der Lösungen, die in klassischen Programmiersprachen ausgedrückt wird, nimmt ab. Große Teile der Geschäftslogik wandern in zentralisierte, konfigurierbare Kernkomponenten aus den Middleware-Suiten: Regeln in eine Rule Engine, Prozesse in eine grafische Prozessmodellierung, Rollen- und Rechte in eine zentrale Entitlement-Komponente, Mappings in Mapping-Tabellen. Diese Aspekte können redundanzfrei und flexibel, ohne die Veränderung von Programmzeilen, angepasst werden.

Die SOA-Fabrik bringt die IT ins industrielle Zeitalter

Die Definition von Kontrakten und Services in einer SOA-Architektur führt zu Formalisierung der IT. Geschäftsanwender und IT definieren gemeinsame Servicelevels und Abrechnungsmodelle. Eine durchgehende Architektur von Geschäftsservice und IT-Services definiert die Rolle der IT auf Prozessebene völlig neu, weg von Silos hin zu Services. Wiederverwertung und Komponenten (Services) sowie Plattformbau (etwa mit Komponentenstandards wie „Service Component Architecture“, SCA) revolutionieren die Fertigung. So befinden wir uns auf dem Weg zu einer flexiblen „Serienfertigung“, in der unterschiedliche Funktionsbausteine auf einer Fertigungsstraße in zentral definierter Weise gefertigt werden können. So führt ein Absinken der Kreativität innerhalb der IT zu höherer und individualisierbarer Vielfalt der Funktionen (Services), die die IT anbietet. Und damit zu höherer Mitarbeiter- und Kundenzufriedenheit und Individualisierung. So können Kundenbeziehungen abgesichert und neue Märkte erschlossen werden.

Gleichzeitig entsteht mittelfristig durchaus das Potenzial der Kostenreduzierung – und wir haben das in konkreten Projekten beobachtet: Bei gleichzeitiger Reduktion der Teileanzahl durch Wiederverwertbarkeit und die unten beschriebene granulare Sourcing-Strategie werden Kostenvorteile erzielt. Softwareentwicklung in der Fabrik wird planbarer: Ist ein Service mit bestimmten Eigenschaften entwickelt, lässt sich das Ausrollen ähnlicher Services in einer klar definierten Werkezugstraße entlang der immer gleichen Lösungsdesigns deterministisch wiederholen. Durchgängige Service-Testketten stellen die Qualität nachweisbar und kontinuierlich sicher.

Zusammengefasst ergibt sich eine Industrialisierung (IT intern) bei gleichzeitiger Flexibilisierung („Kunden“ der IT). Industrialized SOA bedeutet also, dass sich IT (endlich) in die Industrien einreiht, die an der industriellen Revolution teilnehmen.

SOA-Service-Verträge ermöglichen „granulare Sourcing-Strategien“

Durch semantisch eindeutige, durch Verträge zweifelsfrei definierte Beschreibungen der Kernfunktionen der Unternehmung ergeben sich granulare Sourcing-Strategien. Das bedeutet, dass das Management viel präziser entscheiden kann, in welchem Kontext welche Strategie eingesetzt werden soll. Voraussetzung dafür ist Serviceorientierung – genauer gesagt das Denken in Verträgen: Ein rein fachlich motiviertes Verständnis der wichtigen Funktionen des Unternehmens wird als Serviceverträge etabliert. Dann kann sowohl auf der grobgranularen Ebene, etwa auf der Basis von Funktionsclustern wie „CRM“, bis hinunter auf die feingranulare Ebene von Operationen wie „berechne Preis“ oder „zeige Kundenhistorie“ entschieden werden, wie diese Aspekte realisiert werden sollen: Über eine SOA-basierte Integration in Bestandsysteme oder über BI, MDM oder eine SAAS Cloud.

Der Preis der Industrialisierung

Das klingt alles toll, oder? Oder haben Sie beim Lesen bedenklich den Kopf geschüttelt? Wir beobachten, dass sich Industrialized SOA nur partiell und in bestimmten Kontexten durchsetzt und durchsetzen wird. Der kulturelle Wandel, der mit der Industrialisierung einhergeht, entspricht dem in der maschinellen Industrie. Viele Beteiligte zahlen einen hohen Preis: War ein Projektleiter früher für ein Team von Profis zuständig, die physisch nah beieinander gemeinsam auf die große Deadline arbeiteten, findet er sich in nun einer SOA-Service-Fabrik wieder, mit seinem – auf die Welt verteilten – Team einen Service nach dem nächsten am SOA-Fließband bauend. Ja, nicht nur der Entwickler verliert an Kreativität, an „genialischen Lösungen“. Auch der Architekt der monolithischen Applikation bekommt nach und nach spannende technische Komponenten entzogen, die in zentralisierte Entitlement-, Regel- und Prozesskomponenten wandern. Der Umgang mit diesen individuellen Verlusten, das Einnorden in eine neue standardisierte Arbeitsweise, ist eine der großen Management-Herausforderungen in der IT der nächsten Jahre. Um diesen Wandel zu strukturieren, zu gestalten und zu leben, bietet SOA Governance den Management- und Architekturwerkzeugkasten. Es sind jedoch einzelne Menschen – der Manager, der Mitarbeiter in der SOA-Governance-Gruppe, der SOA-Architekt und nicht zuletzt jeder Entwickler, auf die es ankommt: Das Ziel ist eine gemeinsame Sprache, eine gemeinsame Kultur, die sich an neuen Möglichkeiten, an attraktiven Benutzerinterkationen und Prozessen, am ganz neuen Vertrauen zwischen Business und IT begeistert.

Geschrieben von
Jürgen Kress, Berthold Maier, Hajo Normann, Danilo Schmiedel, Guido Schmutz, Bernd Trops, Clemens Utschig-Utschig, Torsten Winterberg
Kommentare

Schreibe einen Kommentar

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