Programmierung

Hexagonale Architektur: Definition, Erklärung & Beispiele

  • 5 Min. Lesezeit
  • Aktualisiert am 06.11.2026
  • Schwierigkeit: Mittel

Das Wichtigste in Kürze

Was ist Hexagonale Architektur?

Die hexagonale Architektur, auch bekannt als "Ports and Adapters", ist ein Software-Designmuster, das 2005 von Alistair Cockburn entwickelt wurde, um unerwünschte Abhängigkeiten im objektorientierten Design zu vermeiden. Sie trennt den Anwendungskern von externen Systemen und ermöglicht so eine hohe Flexibilität und Testbarkeit der Software.

Hexagonale Architektur: Definition, Erklärung & Beispiele – hier finden Sie die Kurzdefinition, die ausführliche Erklärung und Praxisbeispiele im Überblick.

Kategorie
Software-Architektur
Erstveröffentlichung/Ursprung
2005, Alistair Cockburn
Typische Verwendung
Entwicklung wartbarer und flexibler Softwareprojekte
Schwierigkeitsgrad
Mittel
Lizenz/Hersteller
Open Source

Ausführliche Erklärung

Einführung in die Hexagonale Architektur

Die hexagonale Architektur, auch bekannt als „Ports and Adapters“, wurde 2005 von Alistair Cockburn entwickelt. Sie wurde ins Leben gerufen, um unerwünschte Abhängigkeiten im objektorientierten Design zu vermeiden. Das zentrale Ziel dieser Architektur besteht darin, den Anwendungskern, also die Geschäftslogik, vollständig unabhängig von externen Komponenten wie Datenbanken, Frameworks, Benutzeroberflächen und externen Diensten zu gestalten.

Struktur und Funktionsweise

Die hexagonale Architektur ist durch ein strukturiertes System gekennzeichnet, das aus einem stabilen Kern und austauschbaren Adaptern besteht. Der Kern repräsentiert die Geschäftslogik der Anwendung, während die Adapter die Schnittstellen zu externen Systemen darstellen. Diese Adapter sind über definierte Ports miteinander verbunden, die als Schnittstellen fungieren. Ein zentrales Merkmal dieser Architektur ist, dass alle Abhängigkeiten nach innen zum Kern zeigen. Dadurch wird sichergestellt, dass die Technik von der Logik getrennt ist und die Logik die Technik bestimmt.

  • Primäre Ports: Diese Ports werden verwendet, um die Anwendung zu steuern, beispielsweise durch Benutzerinteraktionen oder automatisierte Tests.
  • Sekundäre Ports: Diese Ports steuern externe Systeme, wie beispielsweise Datenbanken oder Zahlungsdienste.

Vorteile der hexagonalen Architektur

Die Anwendung der hexagonalen Architektur bietet zahlreiche Vorteile, die sie in der Praxis besonders attraktiv machen. Diese Vorteile umfassen:

  • Testbarkeit: Die Architektur ermöglicht eine isolierte Prüfung der Geschäftslogik, was die Erstellung und Durchführung von Tests erheblich vereinfacht.
  • Anpassungsfähigkeit: Die Flexibilität der Architektur erlaubt den Austausch von Datenbanken, Benutzeroberflächen und Frameworks, ohne dass Änderungen am Kern erforderlich sind.
  • Langlebigkeit: Der fachliche Kern bleibt von veralteter Technologie unberührt, was die Wartbarkeit und Langlebigkeit der Software erhöht.

Alistair Cockburn empfiehlt, die Anzahl der Ports auf weniger als vier zu begrenzen, um die Komplexität der Anwendung gering zu halten. Die hexagonale Form der Architektur ist bewusst gewählt, um maximal sechs Seiten zu ermöglichen und so die Übersichtlichkeit zu wahren.

Abgrenzung zur Schichtenarchitektur

Die hexagonale Architektur stellt eine moderne Alternative zur klassischen Schichtenarchitektur dar. Während in der Schichtenarchitektur die verschiedenen Schichten (z.B. Präsentation, Logik, Daten) stark miteinander verbunden sind, fördert die hexagonale Architektur lose gekoppelte und leicht testbare Komponenten. Dies führt zu einer höheren Flexibilität und Anpassungsfähigkeit der Software.

Verknüpfung mit Domain-Driven Design (DDD)

Ein weiterer wichtiger Aspekt der hexagonalen Architektur ist ihre häufige Kombination mit Domain-Driven Design (DDD). Diese Verbindung ermöglicht es, die Domäne von der Infrastruktur zu trennen und Use Cases über primäre Ports bereitzustellen. Durch die Trennung der Domäne von technischen Belangen wird eine klarere Fokussierung auf die Geschäftslogik erreicht, was die Entwicklung komplexer Anwendungen erleichtert.

Technische Implementierung und Dependency Injection

Die Bereitstellung der Adapter in der hexagonalen Architektur erfolgt typischerweise über Dependency Injection. Dieser Mechanismus ermöglicht die Invertierung der Abhängigkeiten und fördert die Unabhängigkeit der Module innerhalb der Anwendung. Durch Dependency Injection können Adapter dynamisch zur Laufzeit bereitgestellt werden, was die Flexibilität und Testbarkeit der Software weiter erhöht.

Zukunftsperspektiven

Aktuelle Fachbeiträge, wie beispielsweise von IT Sonix, betonen die Relevanz der hexagonalen Architektur für zukunftssichere, flexible und wartbare Softwareprojekte. Bis 2025/2026 wird erwartet, dass dieses Architekturmodell weiterhin an Bedeutung gewinnen wird, insbesondere in Zeiten, in denen Anpassungsfähigkeit und Wartbarkeit von Softwarelösungen zunehmend gefordert werden.

Typische Einsatzgebiete

  • 01Entwicklung von Geschäftsanwendungen
  • 02Integration von externen Systemen

Vor- und Nachteile

Vorteile

  • Hohe Testbarkeit der Geschäftslogik
  • Einfache Anpassbarkeit an neue Technologien

Nachteile

  • Kann bei falscher Implementierung komplex werden
  • Erfordert diszipliniertes Design

Praxisbeispiel

Ein Beispiel für die hexagonale Architektur könnte eine E-Commerce-Anwendung sein, bei der die Geschäftslogik unabhängig von der Benutzeroberfläche oder der Datenbank implementiert ist. Dadurch kann die Anwendung leicht an neue Zahlungsanbieter angepasst werden.

Voraussetzungen & Tools

Das solltest du mitbringen

  • Grundkenntnisse in objektorientierter Programmierung
  • Vertrautheit mit Designmustern

Typische Tools

SP
Spring FrameworkUnterstützt Dependency Injection und Modularität
DJ
DjangoKann für die Implementierung von Ports und Adaptern verwendet werden

Häufige Fehler & Best Practices

Vermeiden

  • Unzureichende Trennung zwischen Kern und Adaptern
  • Übermäßige Anzahl an Ports

Besser so

  • Die Anzahl der Ports auf weniger als vier begrenzen
  • Regelmäßige Überprüfung der Abhängigkeiten

Vergleich mit ähnlichen Technologien

Schichtenarchitektur
Die hexagonale Architektur fördert lose gekoppelte Komponenten im Gegensatz zur starren Struktur der Schichtenarchitektur.

Lernpfad & Zertifizierungen

  1. 1
    Grundlagen der hexagonalen Architektur

    Verständnis der Prinzipien und Struktur der hexagonalen Architektur, einschließlich der Unterscheidung zwischen primären und sekundären Ports.

  2. 2
    Implementierung

    Erlernen der praktischen Umsetzung der hexagonalen Architektur in Softwareprojekten, einschließlich der Verwendung von Dependency Injection.

  3. 3
    Teststrategien

    Entwicklung von Teststrategien zur isolierten Prüfung der Geschäftslogik innerhalb der hexagonalen Architektur.

  4. 4
    Integration mit DDD

    Verknüpfung der hexagonalen Architektur mit Domain-Driven Design zur effektiven Trennung von Domäne und Infrastruktur.

Certified Hexagonal Architecture PractitionerInstitute for Software Architecture
Domain-Driven Design CertificationDDD Academy

Live aus 7.804 Stellen

Hexagonale Architektur am Arbeitsmarkt

Die Nachfrage nach Fachkräften, die Kenntnisse in der hexagonalen Architektur besitzen, ist in den letzten Jahren gestiegen, da Unternehmen zunehmend flexible und wartbare Softwarelösungen suchen. Insbesondere in der agilen Softwareentwicklung wird dieses Architekturmodell als bewährte Methode geschätzt.

Gehaltsbereich laut Lexikon-Eintrag (Einschätzung)

50.000 – 80.000 € / Jahr

Das Gehalt variiert je nach Erfahrung und Region in Deutschland.

Typische Berufe

Offene Stellen im Bereich Softwareentwicklung

Projektleiter SPS Softwareentwicklung - Programmierung / Elektrotechnik / Automatisierung (m/w/d)Jobriver IT Jobbörse · Freiburg im Breisgau 55.000 € - 90.000 €
Softwareentwickler (m/w/d) Applikation MotorsportJobriver IT Jobbörse · Freiburg im Breisgau 60.000 € - 80.000 €
Embedded-Software-Entwickler (m/w/d)Jobriver IT Jobbörse · Freiburg im Breisgau 60.000 € - 85.000 €
Embedded-Softwareentwickler (m/w/d)Jobriver IT Jobbörse · Freiburg im Breisgau 65.000 € - 85.000 €
Alle 2.259 Stellen ansehen

Häufige Fragen zu Hexagonale Architektur

Was ist hexagonale Architektur?

Die hexagonale Architektur, auch bekannt als „Ports and Adapters“, wurde 2005 von Alistair Cockburn entwickelt. Sie zielt darauf ab, unerwünschte Abhängigkeiten im objektorientierten Design zu vermeiden, indem der Anwendungskern unabhängig von externen Systemen wie Datenbanken und Benutzeroberflächen bleibt. Der Kern der Anwendung ist stabil und wird über definierte Ports mit austauschbaren Adaptern verbunden.

Wie funktioniert die hexagonale Architektur?

In der hexagonalen Architektur wird der Anwendungskern von externen Abhängigkeiten isoliert. Der Kern enthält die Geschäftslogik und ist über Ports mit Adaptern verbunden, die verschiedene externe Systeme repräsentieren. Diese Struktur ermöglicht eine klare Trennung zwischen der Logik der Anwendung und der Technik, sodass Änderungen an externen Systemen keine Auswirkungen auf den Kern haben.

Wofür wird hexagonale Architektur verwendet?

Hexagonale Architektur wird verwendet, um Softwareanwendungen zu entwickeln, die leicht testbar, anpassbar und langlebig sind. Sie ermöglicht es, die Geschäftslogik unabhängig von Technologien wie Datenbanken oder Benutzeroberflächen zu gestalten. Dies ist besonders vorteilhaft in dynamischen Umgebungen, in denen häufige Änderungen erforderlich sind.

Was ist der Unterschied zwischen hexagonaler Architektur und Schichtenarchitektur?

Der Hauptunterschied liegt in der Struktur und der Handhabung von Abhängigkeiten. Während die Schichtenarchitektur eine feste Schichtung von Komponenten vorsieht, fördert die hexagonale Architektur lose gekoppelte Komponenten, die über Ports und Adapter interagieren. Dies ermöglicht eine größere Flexibilität und vereinfachte Tests der Geschäftslogik.

Welche Vorteile hat die hexagonale Architektur?

Die hexagonale Architektur bietet mehrere Vorteile: Sie macht Software testbar, da die Geschäftslogik isoliert geprüft werden kann. Sie ist anpassbar, da Änderungen an Datenbanken oder Benutzeroberflächen ohne Anpassungen im Kern möglich sind. Zudem bleibt der fachliche Kern von veralteter Technik unberührt, was die Langlebigkeit der Software fördert.

Wie lernt man hexagonale Architektur?

Um die hexagonale Architektur zu lernen, empfiehlt es sich, mit den Grundlagen der Softwarearchitektur und objektorientierten Programmierung zu beginnen. Anschließend können Bücher und Fachartikel von Alistair Cockburn sowie Tutorials und Online-Kurse zur hexagonalen Architektur studiert werden. Praktische Projekte und Implementierungen helfen, das Konzept besser zu verstehen.

Was sind primäre und sekundäre Ports in der hexagonalen Architektur?

In der hexagonalen Architektur gibt es zwei Arten von Ports. Primäre Ports steuern die Anwendung, typischerweise durch Benutzerinteraktionen oder Tests. Sekundäre Ports hingegen ermöglichen es der Anwendung, externe Systeme wie Datenbanken oder Zahlungsdienste zu steuern. Diese Unterscheidung hilft, die Interaktionen zwischen der Geschäftslogik und externen Systemen klar zu definieren.

Wie wird Dependency Injection in der hexagonalen Architektur verwendet?

Dependency Injection ist ein zentraler Mechanismus in der hexagonalen Architektur. Er ermöglicht die externe Bereitstellung der Adapter, die mit dem Anwendungskern verbunden sind. Durch die Invertierung der Abhängigkeiten wird sichergestellt, dass der Kern unabhängig von spezifischen Implementierungen bleibt, was die Flexibilität und Testbarkeit der Software erhöht.

Warum ist die hexagonale Architektur zukunftssicher?

Die hexagonale Architektur gilt als zukunftssicher, da sie eine klare Trennung zwischen der Geschäftslogik und der Infrastruktur schafft. Dadurch bleibt der Kern der Anwendung unabhängig von technologischen Veränderungen. Aktuelle Fachbeiträge betonen, dass diese Architektur weiterhin ein bewährtes Muster für flexible und wartbare Softwareprojekte ist.

Welche Rolle spielt die Geschäftslogik in der hexagonalen Architektur?

Die Geschäftslogik spielt in der hexagonalen Architektur eine zentrale Rolle, da sie im stabilen Kern der Anwendung implementiert ist. Sie ist vollständig unabhängig von äußeren Systemen und Technologien. Diese Unabhängigkeit ermöglicht es, die Logik zu testen und weiterzuentwickeln, ohne dass Änderungen an den externen Adaptern oder Ports erforderlich sind.

Wie viele Ports sollten in einer hexagonalen Architektur verwendet werden?

Alistair Cockburn empfiehlt, die Anzahl der Ports in der hexagonalen Architektur auf weniger als vier zu begrenzen. Diese Einschränkung hilft, die Komplexität des Systems gering zu halten und die Übersichtlichkeit zu fördern. Die hexagonale Form selbst ist auch als Constraint gewählt, um maximal sechs Seiten zu gewährleisten.

In welchen Projekten eignet sich die hexagonale Architektur besonders gut?

Die hexagonale Architektur eignet sich besonders gut für Projekte, die eine hohe Flexibilität und Anpassungsfähigkeit erfordern. Dazu zählen Anwendungen, die häufigen Änderungen unterworfen sind oder in dynamischen Umgebungen betrieben werden. Auch Softwareprojekte, die eine klare Trennung zwischen Geschäftslogik und Infrastruktur benötigen, profitieren von diesem Architekturansatz.

Wie unterstützt die hexagonale Architektur Testbarkeit?

Die hexagonale Architektur unterstützt die Testbarkeit, indem sie die Geschäftslogik vom Rest der Anwendung isoliert. Dadurch können Entwickler die Logik unabhängig von externen Abhängigkeiten testen. Tests können gezielt auf den Kern der Anwendung ausgerichtet werden, ohne dass die Implementierung der Adapter oder die Interaktion mit externen Systemen berücksichtigt werden muss.

Was sind die Herausforderungen bei der Implementierung der hexagonalen Architektur?

Eine Herausforderung bei der Implementierung der hexagonalen Architektur besteht darin, die richtigen Grenzen zwischen dem Anwendungskern und den externen Systemen zu ziehen. Zudem kann die anfängliche Einrichtung der Struktur und der Ports komplex sein. Entwickler müssen sicherstellen, dass die Adapter gut definiert und die Interaktionen klar sind, um die Vorteile der Architektur voll auszuschöpfen.

Wie hängt hexagonale Architektur mit Domain-Driven Design zusammen?

Die hexagonale Architektur wird häufig mit Domain-Driven Design (DDD) kombiniert, um eine klare Trennung zwischen der Domäne und der Infrastruktur zu schaffen. Diese Kombination ermöglicht es, Use Cases über primäre Ports bereitzustellen und die Geschäftslogik unabhängig von technischen Details zu entwickeln, was die Wartbarkeit und Flexibilität der Software verbessert.

Was ist die Bedeutung der Adapter in der hexagonalen Architektur?

Adapter spielen eine entscheidende Rolle in der hexagonalen Architektur, da sie die Verbindung zwischen dem Anwendungskern und externen Systemen herstellen. Sie ermöglichen es, verschiedene Technologien oder Dienste zu integrieren, ohne dass der Kern der Anwendung betroffen ist. Diese Flexibilität ist entscheidend für die Anpassungsfähigkeit der Software an sich ändernde Anforderungen.

Wie trägt die hexagonale Architektur zur Langlebigkeit von Software bei?

Die hexagonale Architektur trägt zur Langlebigkeit von Software bei, indem sie den fachlichen Kern von veralteten Technologien und externen Abhängigkeiten trennt. Diese Trennung ermöglicht es, Technologien zu aktualisieren oder zu ersetzen, ohne dass der Kern der Anwendung geändert werden muss. Dadurch bleibt die Software langfristig wartbar und anpassbar.

Quellen

  1. Hexagonale Architektur – Fachlichkeit im Zentrum - IT Sonix · itsonix.eu
  2. Saubere Trennung zwischen Fachlogik und Technik: Hexagonale ... · heise.de
  3. Hexagonale Architektur - Wikipedia · de.wikipedia.org
  4. Domain-Driven Design im Hexagon - Informatik Aktuell · informatik-aktuell.de
  5. Hexagonale Architektur – die Architektur der Zukunft? // deutsch · youtube.com
  6. Hexagonale Architektur ist auch nur eine Insel - codecentric AG · codecentric.de
  7. betterCode() Modern Architecture 2027– heise-Event für ... · architecture.bettercode.eu
  8. What is it exactly? – Oliver Probst, X Developers Club - YouTube · youtube.com
  9. Ich habe die Hexagonale Architektur endlich verstanden, nachdem ... · reddit.com
Hilfreich? Teile den Begriff: LinkedIn

Du kennst dich mit Hexagonale Architektur aus?

Dann zeig es: Leg dir ein kostenloses Profil an und lass dich von passenden Stellen finden.