IODA 01.06.2015, 00:00 Uhr

Selbstähnliche Architektur

Unzufrieden mit den gängigen Architekturvorlagen hat Ralf Westphal eine eigene Schablone entworfen.
Und sie bewegt sich doch: Jahrzehnte schon werden Schichten im Modell für eine Anwendungsarchitektur verwendet. Meist sind es ihrer drei, die da zusammentreffen: Darstellungsschicht, Geschäftslogik und Datenzugriff. Neben dieser weit verbreiteten Sicht auf den Aufbau einer Anwendung gibt es noch Modelle wie Hexagonal, MVC, Onion oder Clean Architektur. Doch mit allen diesen ist Ralf Westphal nicht zufrieden, denn sie geben nur eine sehr grobe Struktur einer Anwendung wider. Außerdem gibt es immer wieder Szenarien, wo diese Einteilung in Schichten komplett misslingt. Was ist beispielsweise mit der Validation im Frontend? Eigentlich ist das Geschäftslogik, steckt aber offensichtlich in der Darstellungsschicht. Was ist mit Stored Procedures im Server? Eigentlich handelt es sich auch hier um Geschäftslogik, die aber in der Datenbank - also in der Datenzugriffsschicht steckt.
Er schlägt stattdessen die IONA-Architektur vor. Der Clou daran: Sie ist selbstähnlich. Wie bei einem Fraktal kann man in die Architektur hineinzoomen und stößt dann immer wieder auf die gleiche Struktur. Auf diese Weise verändert sich die Sicht auf die Anwendung nicht, ganz gleich auf welchem Detaillierungsgrad man auf sie blickt.
Die Buchstaben im Akronym IODA stehen dabei für Integration, Operation, Data und APIs.
  • Operation: Alles, was irgendwie mit Logik zusammenhängt, ist eine Operation. Das sind also Control Statements, Berechnungen oder das Parsen eines Strings. Operationen wissen nichts von anderen Operationen. Sie sind wie Eingabe/Ausgabe-Prozessoren.
  • Data: Operationen arbeiten mit Daten, aber sie sind nicht Daten. Es kann durchaus Datenstrukturen geben oder Dienste, die für die Konsistenz von Daten sorgen. Operationen arbeiten dann mit diesen Diensten, aber sie selbst speichern sie nicht.
  • Integration: Wenn sich die Operationen nicht kennen, bedarf es noch eines Elements, was die Beziehungen herstellt. Das ist die Integration. Integration setzt dabei keine Logik um.
  • API: APIs und Frameworks, die außerhalb der Anwendung liegen, die diese aber verwendet.
Durch die Aufteilung in diese Verschiedenen Elemente erreicht Westphal die Selbstähnlichkeit. In einer Operation kann wieder eine Integration stecken, die dann wieder andere Operations verbindet.
Weiter Informationen dazu:
[tib]



Das könnte Sie auch interessieren