Follow my new blog

Sonntag, 25. Oktober 2009

Le manifeste du jour – Was will uns die SOA-Welt sagen? [OOP 2010]

Jetzt ist es wieder passiert: Ein Manifest hat das Licht der Softwarewelt erblickt. Dieses Mal ist es das SOA Manifest. 2001 hatte das Agile Manifest den Anfang gemacht, 2009 kam das Software Craftsmanship Manifest dazu und nun ebenfalls noch in 2009 die SOA-Fraktion. Was ist nur los? Was will uns die SOA-Welt sagen?

Die naheliegende Antwort findet sich natürlich im Manifest selbst. Doch darum geht es mir zunächst noch nicht. Mich interessiert erst einmal, warum es überhaupt ein SOA Manifest gibt.

Also: Wann schreibt “man” ein Manifest? Hier ist “man” eine Gruppe vor allem bestehend aus SOA-Beratern und SOA-Produktherstellern. Wikipedia sagt: “Ein Manifest (lat.: manifestus, ‘handgreiflich gemacht’) ist eine öffentliche Erklärung von Zielen und Absichten, oftmals politischer Natur.” (http://de.wikipedia.org/wiki/Manifest) Das heißt, diese Gruppe möchte sich mit dem Manifest für alle deutlich in ihren Intentionen erklären.

Im Umkehrschluss bedeutet es: Offensichtlich sieht diese Gruppe solch eine Profilierung durch eine manifestierte Erklärung als nötig an. SOA-Berater und SOA-Produkthersteller fühlen sich demnach irgendwie falsch wahrgenommen. Sie greifen zum Mittel des Manifests, um diese Wahrnehmung zu korrigieren. (Dass sie sich nicht wahrgenommen fühlen und mit dem Manifest einen Marketingcoup laden wollen, kann ich nicht glauben. Dafür ist der Kreis der ursprünglichen Unterzeichner zu illuster. Man kennt sie schon.)

Das finde ich nun spannend: Die SOA-Proponenten fühlen sich falsch wahrgenommen. Hm… sehr interessant. Wie kann das denn sein? Wer hat denn die Wahrnehmung beeinflusst? Woher kommt die Wahrnehmung von SOA in den Unternehmen (oder auch der Entwicklergemeinde allgemein)? Haben die Gruppenmitglieder sie nicht entscheidend mitgeprägt? Und jetzt brauchen sie ein Manifest, um diese mitgestaltete Wahrnehmung zu korrigieren?

Oder ist ihnen die Gestaltung der Wahrnehmung aus der Kontrolle geraten? Hat sie sich verselbstständigt? Sind die SOA-Proponenten selbst Opfer eines Hypes geworden? Zauberlehrlinge, denen die SOA-Geister, die sie riefen, nicht mehr gehorchen wollten? Und jetzt soll das Manifest die Geister bannen?

Aber mal den Spott beiseite: Es könnte natürlich auch sein, dass das Manifest sozusagen ein “refactoring to deeper insight” ist. Nach Jahren der SOA-Geschäftigkeit hat die SOA-Gemeinschaft nun herausgefunden, worum es wirklich, wirklich geht bei SOA. Das wollen sie nun mit einem Manifest kurz, knapp, präzise ausdrücken. Endlich.

Standen am Anfang technische Gesichtspunkte wie die “Four Tenets of SOA”, geht es jetzt um mehr: es geht ums Business, es geht um Strategie. Ach! Wer hätte das gedacht. (Sowas, jetzt werde ich wieder ein wenig spöttisch. Das wollte ich doch gar nicht.)

Nun bin ich nach der Frage der Motivation doch bei den Inhalten angelangt. Die sind:

  • Business value over technical strategy
  • Strategic goals over project-specific benefits
  • Intrinsic interoperability over custom integration
  • Shared services over specific-purpose implementations
  • Flexibility over optimization
  • Evolutionary refinement over pursuit of initial perfection

Im Stil des agilen Manifests gibt es wieder eine linke und eine rechte Seite. Rechts steht das, was bisher wichtig erschien, links das, was jetzt noch wichtiger erscheint. Und was bedeutet das, wenn links jetzt plötzlich wichtiger als rechts ist? Meine Interpretation:

  • Die SOA-Proponenten leiden darunter, dass sie in eine Technologieecke gestellt werden. Aus der wollen sie raus. Sie betonen also, dass es ihnen um ein besseres Geschäft des Kunden geht, wenn SOA eingeführt wird.
    Wenn es Beratern und Technologieherstellern um ein besseres Geschäft ihrer Kunden geht, ist das natürlich sehr löblich. Bedenklich allerdings finde ich, dass das herauszustellen ist. War es bisher anders? Sind die SOA-Proponenten nun endlich ethisch erwacht? Von den Beratern hätte ich das allemal immer schon gedacht (oder zumindest erhofft), von den Technologieherstellern kann ich es so ganz jedoch nicht wirklich glauben. Wenn IBM, Microsoft und Oracle sagen, es ginge ihnen bei SOA um “Business value” und nicht so sehr um die Technik, dann müssten sie sich schon sehr zusammenreißen in SOA-Beratungsgesprächen. Womöglich müssten sie sagen: “Ja, verzichtet mal auf unser Produkt, denn ‘Business value’ könnt ihr auch auf andere Weise herstellen.” Hm…
    Oder steht der “Business value” einfach nur an erster Stelle im Manifest, weil man wieder – wie schon so oft – versucht, den geplagten IT-Entscheidern klar zu machen, dass es keine technische Silberkugel gibt? Wäre möglich – fände ich nun aber gar nicht neu.
  • Die SOA-Proponenten scheinen auch darunter zu leiden, nicht von “ganz oben” in den Unternehmen eingekauft zu werden. Oder sie werden aus ihrer Sicht nicht breit genug eingesetzt. Sie fühlen ihre Bemühungen zu sehr auf einzelne Projekte konzentriert, statt dass man ihnen das große Ganze anvertraut.
    Das wundert mich, denn SOA hat doch quasi vom ersten Tag an immer klar gemacht, dass es ums Übergreifende geht, um die Strategie. Das soll missverstanden worden sein? Oder sehen sich Unternehmen eben doch nicht in der Lage, bei großen IT-Landschaften mit einer umfassenden Strategie alles auf SOA umzukrempeln? Gehen sie, wenn sie eine Projektbrille aufsetzen, eher einen pragmatischen Weg? “Towards SOA one project at a time” hört sich für mich zumindest nicht so schlecht an. Von großen Visionen, die dann scheitern, hatten wir schon genug.
    Allemal den Technologieherstellern unter dem Manifest kann es ja nur recht sein, wenn man sie (endlich) auf strategischer Ebene als Gesprächspartner sieht. Da lässt sich gleich viel besser ein Servicebus oder eine Datenbank durchs ganze Unternehmen treiben.
  • Interoperabilität von vornherein, Interop eingebaut: Das wünschen sich die SOA-Manifestler. Statt also auf einer “as needed” Basis zu integrieren, wollen sie vorausdenken. Das passt natürlich zur strategischen Bedeutung, die SOA haben soll.
    Ganz grundsätzlich ist gegen Offenheit oder Standards natürlich nichts zu sagen. Interoperable by design ist irgendwie ne gute Sache. Mich wundert nur wieder, dass das erstens überhaupt erwähnt werden muss. Stand Interoperabilität nicht vom ersten Tag im Kern von SOA? Warum muss man jetzt von einer Erkenntnis sprechen, dass Interop von vornherein mitgedacht werden soll (“Through our work we have come to prioritize…” [meine Hervorhebung])?
  • Was ist der Zweck eines SOA-Service? Dass er von möglichst vielen genutzt wird. So stand es am Anfang von SOA. So heißt es nun immer noch. Nichts Neues also in der SOA-Welt. Wie kann das ein Erkenntnisgewinn hingestellt werden?
    Doppelt berechtigt ist diese Frage, da einer der Unterzeichner – Nicolai Josuttis – schon deutlich erklärt hat, dass Wiederverwendbarkeit eben nicht der “Business case” von SOA sein kann, weil die Wiederwendungszahlen für SOA-Services so gering sind. Also was nun? “Shared services”, hohe Wiederverwendbarkeit, oder doch nicht?
  • Flexibilität – so die Manifesterkenntnis – ist wichtig bei SOA. Wer hätte das gedacht? Stand auch das nicht schon am Anfang allen Servicedenkens? Mir kommt es so vor, dass auch hier ein Lernprozess überflüssig war. Für mich gehört Flexibilität zum Kern von SOA.
    Vor allem ist merkwürdig, dass Flexibilität mit Optimierung verglichen wird. Das ist für mich ein Kategorienfehler. Denn Flexibilität ist nur eine Qualität neben Performance, Skalierbarkeit, Sicherheit, die ebenfalls optimiert werden kann. Wer “Flexibility over optimization” ausruft, der läuft für mich Gefahr, die Flexibilität zu überoptimieren. Sie ist jedoch genausowenig Selbstzweck wie Performance oder Robustheit – auch wenn Flexibilität zum Zweck von SOA gehört.
  • Der Evolvierbarkeit eine Stimme zu verleihen, finde ich natürlich wunderbar. Dem letzten Punkt des Manifests stimme ich voll zu. Nur finde ich diese Forderung weder neu – erinnert mich irgendwie auch an “Responding to change over following a plan” im agilen Manifest –, noch finde ich sie in einem SOA-Manifest besonders passend. Sie ist schlicht zu allgemein, zu unspezifisch. Sie hat nichts mit SOA im Speziellen zu tun. Warum sie also hier als etwas Hervorhebenswertes aufnehmen? Und wieder: Wie kann das eine neue Erkenntnis sein, die die SOA-Proponenten erst durch ihre spezielle SOA-Praxis gewonnen haben (“…we have come to prioritize…”)?

Mein Fazit: Das SOA-Manifest kommt nicht wirklich los von dem, was es wohl loswerden will: vom Hype. Wenn ich mal den günstigsten Fall annehme, dass das SOA-Manifest ein Versuch ist, durch den Hype-Nebel der letzten SOA-Jahre zu sehen und den Kern von SOA nun endlich herauszuschälen, dann geschieht das allerdings letztlich auf gleiche Weise, durch Hype. Vielleicht liegt das an Conway´s Law? Danach könnte eine essenziell auf Hype aufgebaute “Organisation” (wie die der SOA-Proponenten, die ja bei großen Unternehmen für den großen “Business value” die große Strategie mitbestimmen und deshalb große Aufmerksamkeit bei den CTOs und CEOs braucht) eben auch bei allem guten Willen nur wieder Hype-Produkte herstellen. Sie kann nicht anders. Wie tragisch.

Ganz unabhängig von jeder Intention finde ich die Inhalte des Manifests aber auch nicht spannend. Mir fehlt es an Überraschungswert. Wo ist der echte Erkenntnisgewinn? Ich fühle mich nicht zu Ahs und Ohs hingerissen. Entweder geht es bei den Statements um das, was von der ersten Minuten SOA ausgemacht hat. Oder es geht um Selbstverständliches, von dem verwunderlich ist, dass ein Erkenntnisprozess von mehreren Jahren dazu nötig war. Schade.

Vielleicht bin ich aber auch nur grummelig, weil ich selbst noch kein Manifest unterzeichnet oder gar erarbeitet habe? Hm… Ich muss mal die Clean Code Developer (CCD) Community befragen. In CCD schlummert bestimmt Potenzial für mindestens ein Manifest. Das wäre doch gelacht. Was die Software Craftsmen und die SOA-Welt können, das können wir auch. Noch in 2009 oder lieber warten auf 2010? Wäre doch gelacht… ;-)

Kommentare:

Sebastian Thimm hat gesagt…

Auf heise-Online wurde das YouTube-Video von der "Manifest-Verkündigung" verlinkt:

YouTube-Video

Ging ja augenscheinlich ganz schön formell-feierlich zu...

Roland hat gesagt…

> Wer hat denn die Wahrnehmung beeinflusst?

Marketing- und Salesleute. Die Sorte von Leuten, die durch die Firma telefoniert und nach einer "Produktnummer für SOA" frägt, weil der Kunde doch SOA haben will...

Ralf Westphal - One Man Think Tank hat gesagt…

@Sebastian: Danke für den Link. Ich hatte bisher nur ein offizielles Gruppenbild von der Zeremonie gesehen.

Und was sagt uns das Brimborium?

Meine Vermutung: Der Impact eines Manifests ist umkehrt proportional zum Brimborium ;-)

An Brimborium kann ich mich beim agilen Manifest nicht erinnern. Es ist für mich immer noch "das Original", an dessen Erfolg sich andere hängen.

Eine Deklaration ist an sich ja ne gute Sache. Sie führt unterschiedliche Parteien zu einer Kohärenz. Wenn sie funktioniert.

Ich frage mich nun aber, woher die Not kam, dass sich diese unterschiedlichen Parteien zu einem Manifest zusammensetzen mussten. Wir reden ja nicht über einen Standard wie HTTP oder WSDL. Nein, es geht nur um ein Stück Papier und Brimborium. Der Rest ist nun volle Auslegungssache.

Wollte man sich mal einmütig bei allen Differenzen zeigen? Oracle, IBM und Microsoft an einem Tisch: welch traute Runde. "Wir wollen doch alle nur euer Bestes!"

Oder sollten wir hier eine Mahnung an die Konferenz von Jalta wittern? Geht es um die Aufteilung der SOA-Welt unter den existierenden Playern, die sich lieber zusammensetzen, als getrennt von Newcomern unterwandert zu werden? Geht die Analogie womöglich weiter und manche der Beteiligten sind krank wie weiland Roosevelt? Hm...

Am Ende wird es die Geschichte zeigen, ob und was das Manifest genützt hat. Vielleicht liege ich auch komplett falsch und es ist extrem signifikant und wir werden alle auf diesen historischen Moment zurückblicken mit andächtigem Seufzen. Vielleicht wird ja nun alles gut für die großen Unternehmen. Endlich ist klar, was das Ding mit SOA ist. Gut dass es nun ein Manifest gibt. Daran kann man sich mit beiden Händen (lat. manus) fest-halten, wenn die Enterprise IT mal wieder ins schlingern gerät ;-)

-Ralf

Robert Mischke hat gesagt…

Ja, ja! - Manifest Flooding, großartige Idee.

Matthias Bohlen hat gesagt…

Ralf, warum so spöttisch? Dass Service-Orientierung viel mehr mit dem Unternehmen und seiner Organsiation als mit der Technologie zu tun hat, sagen ehrliche Berater wie Tilkov und Josuttis schon sehr lange. Ich denke, das Manifest war angemessen, um der Message nochmal Nachdruck zu verleihen.

Dasselbe mit dem Thema Software Craftsmanship. Dieses Manifesto wurde rausgegeben, um klar zu machen, was schon immer hätte klar sein sollen: Scrum als Management-Methodik muss immer durch solides Softwerker-Handwerk ergänzt werden, sonst geht das Projekt baden. Nichts Neues, doch so ein Manifest dient einfach dazu, den Lautsprecher weiter aufzudrehen, damit es alle mitbekommen.

Also: Ich würde nicht spotten - Manifeste sind nützlich, wenn sie nicht zu oft auftreten.

Ralf Westphal - One Man Think Tank hat gesagt…

@Matthias: Dass Manifeste so ganz allgemein nützlich sein können, bezweifle ich nicht.

Ob das hier der Fall ist, bezweifle ich aber sehr wohl. Und wie mir andere Reaktionen "in der Blogszene" zeigen, bin ich damit nicht allein. Spöttisches Schmunzeln können sich einige nicht verkneifen.

Dass das an den Unterzeichnern vorbei geht, ist mir natürlich klar. Die sind auch nicht mein Zielpublikum.

Sollte das SOA Manifest irgendeinen Nutzen entfalten, soll es mich freuen. Wenn aber nicht, dann wundere ich mich gar nicht.

Dinge klar zu machen, die immer klar sein sollten, dazu braucht es kein Manifest. Vor allem hilft es nichts, wenn anschließend wieder etwas nicht klar ist: was das nämlich konkret bedeutet, welche Action Steps zu unternehmen sind.

Schöne Reden schwingen viele. Werte werden beschworen - und dann rechtzeitig wieder so gegeneinander abgewogen, dass sie nichts nützen.

Dagegen helfen nur konkrete Guidelines. Sonst ist´s Fluff. Das Agile Manifest ist damit um die Ecke gekommen. Scrum, XP bzw. einzelne Praktiken sind konkret und werden angewandt. Die haben viel Nutzen entfaltet.

Bei Software Craftsmanship sehe ich das aber nicht. Und bei SOA ist das entweder schon vorhanden - oder wird wohl nicht mehr kommen. Jedenfalls nicht wegen des Manifests.

-Ralf