Montag, 26. November 2007

[OOP 2008] SOA-Transformer

In einem sehr gelungenen Posting zu SOA hat Ralf Westphal auf mein Posting zu SOA-Leichtgläubigkeit Bezug genommen.

Der Punkt Flexibilität ist tatsächlich einer der problematischen Aspekte bei der Softwareentwicklung. Gerade das Erreichen einer guten Balance erweist sich als äußerst diffizil. Etwa bei real existierenden Architekturen, die allenfalls von Strategy-Patterns zusammen gehalten werden. Ein Strategy-Pattern gleicht aber der Aussage, dass sich der Architekt an der Anwendungsstelle noch nicht festlegen konnte oder wollte. Eine Häufung des Strategy-Patterns heißt demzufolge, dass er sich an vielen Stellen nicht festlegen wollte oder konnte. Weiss dieser Architekt denn überhaupt was er entwerfen möchte? Oder anders ausgedrückt: Würden sie ihm Ihre Kreditkarte anvertrauen? Ein anderer typischer Fall ist das Mediator-Pattern. Göttergleich thront der Mediator im Zentrum des Softwareuniversums. Keiner kommt an ihm vorbei, denn es kann schließlich nur einen geben. Man denke an die vielen Hub-and-Spoke Ansätze, die bei vielen Unternehmen als lebendige Leichen im Keller lauern.

Flexibilität muss geplant aber auch kontrolliert und gezielt beschränkt werden. Das Open/Close-Principle leistet hier gute Dienste. Flexible Architekturen, die sich nur an wenigen Stellen offen und damit verwundbar zeigen, zählen heute noch als seltene Spezies. Positive Ausnahmen: Eclipse und das Plug-In-Konzept, WCF und die konfigurierbaren Channels.

Da gerade SOA dem Produktliniengedanken sehr eng folgt, sind entsprechende Mechanismen um mit Variabilität systematisch umzugehen zum einen Feature Modeling und zum anderen Commonality/Variability-Analyse. Auf der Architekturebene erleichtern Patterns das systematische Behandeln der Variabilität. Und nicht zuletzt existieren Mechamismen auf der Plattformebene, wie z.B. Workflows, Rules Engines,  Plattforminterzeptoren.

Die Wahl der Mechanismen und Architekturkonzepte sollte aber mit Bedacht erfolgen. Nicht selten  experimentieren Softwareentwickler gerne mit den verschiedensten Ansätzen, die sich dann in den fertigen Systemen wieder finden.

Insofern gleicht SOA tatsächlich eher den cineastischen Transformern als ihren organischen Pendants, den Formwandlern. Soll die Architektur in Form bleiben und nicht alsbald unter Alterserscheinungen kollabieren, ist ihre vorausschauende Trans-Form-ationsfähigkeit essenziell. Minority Report läßt grüßen.

Keine Kommentare: