163. Veranstaltung der GI-Regionalgruppe Bremen / Oldenburg

Dienstag 24.05.2016 18:15 Uhr

Hochschule Bremen (ZIMT)
Flughafenallee 10
28199 Bremen
Raum 032

Wegbeschreibung

Anmeldung erbeten bis zum 23.05.2016 unter anmeldung@gi-hb-ol.de

Referent:       Artur Tomas, neuland – Büro für Informatik

Titel:               Hexagonale Architektur


Abstract:       

Gut entworfene objektorientierte Software zeichnet sich durch einen hohen Grad an Entkopplung aus. Die seit vielen Jahren etablierte Schichten-Architektur teilt die Software in funktionale Bereiche wie z. B. Präsentation, Eingabe, Verarbeitung, Ausgabe, Persistenz (je nach Anzahl der Schichten) und adressiert damit auch die Entkopplung. Ihre Schwäche ist jedoch, dass es zur Einwanderung von fachlichen Aspekten in die technischen Code-Einheiten kommen kann. Die Folge davon ist, dass Businesslogik nicht nur in Domänen-Objekten (Entitäten, Werte-Objekte) sondern auch in Controllern, Services oder Repositories implementiert wird.

Zu besserem Design führt der Ansatz "Hexagonale Architektur" (Alistair Cockburn, 2005). "Hexagonale Architektur" stellt eine spezielle Art von Schichten-Architektur dar. EntwicklerInnen bekommen bei der Einhaltung dieses Prinzips mehr Orientierung in Hinsicht auf Verortung des Codes in die passenden Module/Packages/Klassen. Die Implementierung erfolgt  Use-Case zentriert. Der Vortrag erklärt die "Hexagonalen Architektur" und stellt die These auf, dass sie insbesondere in Verbindung mit "Domain Driven Design" oder z. B. bei der Realisierung von Microservices aber auch bei der Bewältigung von Legacy-Code die bessere Variante sein kann. 


CV:

Artur Tomas studierte Informatik u. a. mit dem Schwerpunkt Parserbau an der Universität Bremen und entwickelte seit dem 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. Mit ein paar Arbeitskollegen von neuland ist er Koautor des Projekts Jade4J - Portierung der Jade-Templatesprache für Java.