Ein Paradigmenwechsel in der Softwarearchitektur
In der modernen Softwareentwicklung hat sich eine weit verbreitete Praxis etabliert: Architektur wird oft mit der Steuerung von Abhängigkeiten gleichgesetzt. Ob in Form von Layer-Diagrammen, Dependency-Graphen oder der präzisen Aufteilung von Microservices – die Struktur scheint das primäre Ziel architektonischer Arbeit zu sein. Doch ist diese Reduktion auf die bloße Organisation von Komponenten tatsächlich der Kern dessen, was Softwarearchitektur ausmacht?
Dieser Frage gehen der Softwarearchitekt Eberhard Wolff und der renommierte Muster-Pionier James O. „Jim“ Coplien in einer aktuellen Ausgabe des Videocasts software-architektur.tv nach. Unter dem Titel „Software Architecture: What Is It Really About?“ stellen sie den Status quo der Branche infrage und beleuchten, ob das starre Abhängigkeitsdenken möglicherweise den Blick auf das Wesentliche verstellt.
Die Kritik am reinen Strukturdenken
James Coplien, ein Vordenker der Muster-Bewegung und Mitbegründer der Pattern Languages of Programs (PLoP), bringt eine fundierte theoretische Perspektive in die Debatte ein. Seine Kritik stützt sich maßgeblich auf das von ihm mitentwickelte DCI-Paradigma (Data, Context, Interaction). Dieses Modell wurde gemeinsam mit Trygve Reenskaug, dem Schöpfer des Model-View-Controller-Musters, entworfen.
Der Kern von DCI liegt in der bewussten Trennung zweier Aspekte:
* **Was ein System ist:** Hierbei handelt es sich um das Domänenmodell und die zugrunde liegenden Datenstrukturen.
* **Was ein System tut:** Dies umfasst die konkreten Anwendungsfälle und die Interaktionen innerhalb des Systems.
Copliens Argumentation zufolge vernachlässigt eine Architektur, die sich ausschließlich auf die Struktur und die Abhängigkeiten konzentriert, die dynamische Ebene der Interaktion. Wenn Architektur nur noch als Verwaltung von Modulgrenzen verstanden wird, droht die eigentliche Intention der Anwendung – das Verhalten des Systems – in den Hintergrund zu treten.
Hintergrund und fachliche Einordnung
James Coplien gilt als eine der prägenden Figuren der Softwareentwicklung. Seine Arbeiten zu C++-Idiomen beeinflussten das Standardwerk der „Gang of Four“ maßgeblich, und er ist zudem für die Entwicklung des Curiously Recurring Template Pattern (CRTP) bekannt. Darüber hinaus legte er mit seinen „Organizational Patterns“ den Grundstein für agile Methoden wie Extreme Programming und die heute in Scrum üblichen täglichen Standups.
Eberhard Wolff, der den Videocast software-architektur.tv betreibt, greift mit dieser Diskussion einen kritischen Punkt der täglichen Arbeit vieler Softwareteams auf. Wolff, der als Head of Architecture bei SWAGLab tätig ist, moderiert den Videocast gemeinsam mit einem Team aus Experten, um die vielfältigen Facetten der Architektur zu beleuchten. Seit dem Start im Jahr 2020 wurden bereits über 250 Episoden veröffentlicht, die sich an ein Fachpublikum richten.
Implikationen für die Praxis
Die von Coplien angestoßene Debatte hat weitreichende Folgen für die Art und Weise, wie Softwareprojekte geplant und dokumentiert werden. Wenn die Abhängigkeitsanalyse nicht mehr das alleinige Maß der Dinge ist, müssen Architekten ihre Werkzeuge und Methoden hinterfragen:
* **Fokus auf Verhalten:** Architekturentwürfe sollten stärker die Interaktionsmuster berücksichtigen, anstatt nur statische Abhängigkeiten zu visualisieren.
* **Domänenmodellierung:** Eine klarere Trennung zwischen Daten und Anwendungslogik könnte die Wartbarkeit komplexer Systeme verbessern.
* **Methodische Flexibilität:** Die Diskussion regt dazu an, über den Tellerrand der klassischen Layer-Architekturen hinauszublicken und alternative Ansätze in Betracht zu ziehen.
Für viele Entwickler und Architekten bedeutet dies, dass sie ihre gewohnten Diagramm-Methodiken kritisch prüfen müssen. Die Frage bleibt, wie sich diese theoretischen Ansätze in hochgradig verteilten Systemen, wie etwa in Microservice-Landschaften, praktisch umsetzen lassen, ohne die Übersichtlichkeit zu verlieren.
Die Auseinandersetzung mit diesen Themen ist Teil einer fortlaufenden Entwicklung innerhalb der IT-Branche, in der die Suche nach effizienteren und verständlicheren Architekturmustern nie endet. Der Austausch zwischen erfahrenen Experten wie Coplien und Wolff bietet hierbei wertvolle Impulse, um festgefahrene Denkmuster aufzubrechen und neue Wege in der Systemgestaltung zu erkunden.