We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Hexagonale Architektur in Microservices

Formal Metadata

Title
Hexagonale Architektur in Microservices
Subtitle
Domain zentrierte Microservices
Title of Series
Number of Parts
94
Author
License
CC Attribution 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Die hexagonale Architektur ist eine Alternative zur weit verbreiteten 3-tier Architektur basierend aus Controllern, Services und Repositories. Anders als auf Schichten, wird hier das Augenmerk auf Hüllen gelegt, wobei die fachliche Domäne das Zentrum der Architektur bildet. Dieser Vortrag zeigt zunächst die konzeptionellen Eigenschaften der hexagonalen Architektur und ihre Vor- und Nachteile. Im Anschluss wird an einem Beispiel gezeigt, wie man eine klassische 3-tier Architektur in eine hexagonale Architektur überführt und dabei fachliche Themen zentriert. Wir alle kennen die typische Backendarchitektur bestehend aus Controllern, Services und Repositories. Gewachsen aus der klassischen 3-tier Architektur, wird sie auch heute noch sehr oft in Microservices eingesetzt. Aus der technischen Trennung ergeben sich allerdings in wachsenden Komponenten zusehends Probleme. Oft werden fachliche Themen mit technischen Implikationen vermischt, da nicht klar ist, wo Fachlogik eigentlich verortet werden soll. Im Controller finden sich Datenvalidatoren, im Service Berechnungen und im Repository oder gar direkt in der Datenbank fachliche Vor- und Nachbedingungen. Fachliche Einzelteile werden dann über Komponenten hinweg orchestriert und erhält oft ein dichtes Netz an Abhängigkeiten zwischen den Schichten. Eine Antwort auf die Frage „Was tut meine Software eigentlich?“ wird dadurch immer weiter erschwert und auch die Wart- und Testbarkeit leidet stark darunter. Eine Alternative bildet hier die hexagonale Architektur. Anders als die Top-Down Architekturen, baut sie auf eine Hüllenarchitektur auf, in deren Mitte die fachliche Domäne beheimatet ist. Nur hier werden fachliche Themen behandelt, Vor- und Nachbedingung geprüft und Daten auf Plausibilität geprüft. Als Nebeneffekt erhält man dabei eine zentrale Stelle der „Wahrheit, dieim Code liegt“. Von innen nach außen wird die Domäne von der Applikationsschicht und die Portschicht eingehüllt. Während sich die Applikationsschicht um die Umwandlung technischer Objekte in fachliche und der Orchestrierung zusammenhängender Domainobjekte widmet, bildet die Portschicht die Verbindung in die Außenwelt. Dabei ist unerheblich ob Daten per HTTP in das System gelangen oder per (O/J)DBC in eine Datenbank gestreamt werden.