Eine wichtige Eigenschaft von gut entworfenen Softwaresystemen ist der Grad ihrer Entkopplung. Der Ansatz "Hexagonale Architektur" (Alistair Cockburn, 2005) adressiert das Problem. Bei der Befolgung dieses Prinzips bekommen die Softwareentwickler gute Orientierung in Hinsicht auf Konstruktion von Software, deren Businesslogik entkoppelt von Eingabe (Devices, Web-Controller, Webservices, Messaging etc.) und Ausgabe (Datenbanken, Filesystem, E-Mail, externe Systeme) ist und isoliert getestet werden kann.

Der Vortrag erklärt die Prinzipien der "Hexagonalen Architektur" und zeigt, wie man Software in diesem Stil organisieren kann, um sich der Kernthese zuzuwenden: Sie ist mehr als nur ein Layout für Klassen und Packages. Durch die Isolation der Businesslogik von der Ein- und Ausgabe gelingt ihre Einschränkung des Systems auf die zu erfüllende fachliche Subdomäne gut und das "Wachstum in die Breite" lässt sich einfangen (bspw. Packages mit unzähligen Controller- oder Serviceklassen arten nicht mehr aus).

Die begleitenden Fragen des Vortrags sind schliesslich: welche Art von Systemen können und welche können nicht von diesem Architekturansatz profitieren: Microservices, Self-contained Systems, Legacy-Systeme, CRUD-Sytseme? Welche Technologien und Programmierparadigmen für einen erfolgreichen Einsatz deses Architekturstils notwendig?

Artur Tomas neuland- Büro für Informatik

Artur Tomas studierte Informatik mit dem Schwerpunkt Compilerbau an der Universität Bremen und entwickelte schon wenige Jahre nach seinem Studium ein starkes Interesse an agilen Methoden in der Softwareentwicklung. Er arbeitet als Softwareentwickler und agiler Coach bei ‘neuland - Büro für Informatik’ in Bremen.

Er ist überzeugt von Softwareengineering mit “Domain Driven Design” und der ideal dazu passenden “Hexagonalen Architektur”, die er seit über 3 Jahren in seiner Projektarbeit sowohl bei der Konstruktion von neuen Systemen als auch bei der Bewältigung von Legacy-Code erfolgreich einsetzt.