Hinweis: Die aktuelle OOP-Konferenz finden Sie hier!

Konferenzprogramm

Unsere Empfehlung: Die Virtual Deep Dives

Mehr als 30 Jahre OOP-Erfahrung trifft auf moderne Innovation: Taucht mit uns tief in die wichtigsten Themen gegenwärtiger Software-Architektur ein – auf den "Virtual Deep Dives | powered by OOP".

Diese Konferenz versteht sich als Online-Ergänzung zur OOP München und bietet die Möglichkeit, sich intensiv und interaktiv mit den neuesten Trends und Best Practices in der Software-Architektur auseinanderzusetzen. Unsere Expert:innen und Branchenführer werden tiefe Einblicke in ihre Arbeitsweise geben und wertvolles Wissen teilen, das Sie direkt in Ihre Projekte integrieren können.

» Zu den Virtual Deep Dives

Rückblick auf das Programm der OOP München 2024

Die im Konferenzprogramm der OOP 2024 angegebenen Uhrzeiten entsprechen der Central European Time (CET).

Wie fit ist deine Architektur? Automatisierte Architekturtests & statische Codeanalyse mit ArchUnit

Im Architektur-Entwurf treffen wir ständig Architekturentscheidungen, die im besten Fall explizit, dokumentiert und verstanden sind. Aber wie praktisch wäre es, wenn man kontinuierlich prüfen könnte, ob diese Richtlinien auch eingehalten werden? Hier helfen Architecture Fitness Functions. Wir zeigen, wie man mit ArchUnit solche Fitness Functions schreibt, die die Struktur unseres Codes überprüfen, und wie man diese in den Entwicklungsprozess integriert. Außerdem zeigen wir, wie man mit der API von ArchUnit statische Codeanalysen durchführt.

Zielpublikum: Architekt:innen, Entwickler:innen
Voraussetzungen: Basis-Kenntnisse Java
Schwierigkeitsgrad: Fortgeschritten

Extended Abstract:
Architekturentscheidungen zu treffen und zu dokumentieren, ist aufwändig und mühsam, mit der Folge, dass Entscheidungen oft nur implizit getroffen werden und dann in Vergessenheit geraten, geschweige denn im Lauf der ständigen Weiterentwicklung eingehalten werden.
Architecture Fitness Functions dienen dazu, Architekturentscheidungen im besten Fall automatisiert zu überprüfen. So bekommt das Entwicklungsteam jederzeit Feedback, ob die Architektur noch den festgelegten Regeln entspricht.
Manche Entscheidungen wie Namenskonventionen lassen sich schon lange über altbekannte Tools wie Checkstyle abtesten. Komplexere Entscheidungen aber lassen sich nicht immer einfach prüfen – oder sie erfordern ein komplexes Metamodell, das aufwändig zu erstellen und zu pflegen ist. Hier kommt ArchUnit ins Spiel.
In unserem Talk stellen wir anhand konkreter Fragestellungen vor, wie man mit ArchUnit automatisiert Architekturentscheidungen überprüft und in einen Standard-Testzyklus einbindet. Dazu bringt ArchUnit von Haus aus eine ganze Reihe von Standard-Hilfsmitteln mit. Besser noch: Eigene Architekturregeln lassen sich leicht in Form von Tests definieren und so im automatisierten Build überprüfen. Zugleich sind die Architekturregeln über die Tests dokumentiert.
Beispiele: Sind Abhängigkeiten zwischen Komponenten richtig definiert? Sind Strukturen innerhalb einer Komponente richtig modelliert, z.B. als Onion-Architektur?
Dieselbe API von ArchUnit kann man aber auch für statische Codeanalyse einsetzen, deren Output nicht in einem Test, sondern als Input in weitere Tools eingeht. Damit lassen sich einfach kleine Helferlein schreiben, um gezielt über statische Code-Analyse Handlungsbedarf identifizieren und analysieren zu können.
ArchUnit lässt sich demnach für kleine, mittlere und komplexe Fragestellungen einsetzen. Das skaliert gut und ermöglicht eine leichtgewichtige und automatisierte Absicherung von Architekturentscheidungen.
Wir zeigen zahlreiche Beispiele direkt im Code und geben damit einen ausführlichen Überblick über die Benutzung der ArchUnit-API.

Dr. Kristine Schaal ist als Software-Architektin seit fast 25 Jahren in der Software-Entwicklung tätig. In der Individualentwicklung arbeitet sie für Kunden verschiedener Branchen, überwiegend im Java-Umfeld.

Kristine Schaal

Vortrag Teilen