Themenabend „Java 11, 21 und die Zukunft“


Details
Agenda:
Begrüßung und Vortrag „Dependencyanalyse als Basis für das Architekturmanagement in der TK“ (Frank Schlüter und Sven Grand)
Pause
Vortrag „Daten-orientierte Programmierung in Java (21)“ (Nicolai Parlog)
Kurze Pause
Remote-Session „Java Language Q&A“ (Brian Goetz)
Ende
-------------------------------------------------------------------------------------------------
Session 1: „Dependencyanalyse als Basis für das Architekturmanagement in der TK“
Abstract:
TKeasy ist die seit über 25 Jahren gewachsene Kernanwendung der Techniker Krankenkasse mit über 30 Mio Lines of Code aufgeteilt in ca. 1500 Artefakte. Das Architekturmanagement für diesen Monolithen stellt uns vor große Herausforderungen. Zur Unterstützung der weiteren Modularisierung haben wir in der TK ein Tool zur Visualisierung von Abhängigkeiten basierend auf statischer Codeanalyse entwickelt. Der Dependency-Browser besteht aus folgenden Komponenten:
- JDT basierter Sourcecodeparser
- Neo4J basierte Graphdatenbank zum Management des normaliserten Abhängigkeitsmodells
- Eclipse RAP basierte Visualisierung der Abhängigkeiten als Webanwendung
Mit Hilfe des Toolings unterstützen wir die Modularisierung mit dem Ziel der Minimierung der Abhängigkeiten durch:
- Visualisierung der aktuell genutzten API-Schnittstellen von Produkten als Basis zur Erstellung von expliziten API-Bundles
- Schnelle Analysemöglichkeiten der API-Nutzung als Basis fachlicher Refactorings
- Visualisierung der realen Abhängigkeiten als Basis für die Pflege der Architekturregeln und zur Ermittlung einer Zielarchitektur
- Analyse der Nutzung von externen Bibliotheken
Nach einem Überblick über unsere Architektur und die Herausforderungen schauen wir uns unser Tool live an.
Bios:
Frank Schlüter ist als Softwareentwickler seit 24 Jahren für den Persistenzdienst in TKeasy zuständig und in dem Umfeld auch für das Monitoring der produktiven Umgebung. Durch die Einführung des OSGi-Modulsystems hat sich Frank intensiv mit dem Thema toolunterstützer Modularisierung beschäftigt. Auf der JAX 2010 hat er damals über die OSGi-Migration von TKeasy berichtet.
Sven Grand ist IT-Architekt bei der Techniker Krankenkasse mit Schwerpunkt Software Architektur und technische Exzellenz in der Softwareentwicklung. Er ist fast 30 Jahre professionell in der Softwareentwicklung tätig und hat auch schon mal Artikel im OBJEKTspektrum und im MSDN Magazin veröffentlicht.
Session 2: „Daten-orientierte Programmierung in Java (21)“
Abstract:
In Daten-orientierter Programmierung (DOP) modellieren wir Daten als Daten und implementieren polymorphes Verhalten mit Pattern Matching. Dieser Vortrag führt das Konzept von DOP und seine vier Leitprinzipien ein:
- Modelliere die Daten, die ganzen Daten und nichts als die Daten
- Daten sind unveränderlich
- Validiere an der Grenze
- Mache illegale Zustände unrepräsentierbar
Wir werden außerdem erkunden wie Pattern Matching als sicherer, mächtiger und wartbarer Mechanismus für ad-hoc Polymorphismus eingesetzt werden kann und uns erlaubt vielfältige Operationen auf diesen Typen zu implementieren ohne sie mit Funktionalität zu überladen. Der Vortrag endet mit einer Gegenüberstellung mit Objekt-orientierter Programmierung, so dass wir nicht nur sehen wie man DOP einsetzt sondern auch wann (nicht).
Bio:
Nicolai Parlog (aka nipafx) ist ein Java-Enthusiast mit Fokus auf Sprachfeatures und APIs, der leidenschaftlich gerne lernt und lehrt. Das macht er in Blog Posts, Newslettern und Büchern; in Tweets, Videos und Streams; in Demo Repositories und auf Konferenzen - mehr dazu auf nipafx.dev. Er ist Java Developer Advocate bei Oracle und Organisator von Accento. Davon abgesehen kennt man ihn für seine Frisur.
Session 3: „Java Language Q&A“
Abstract:
Java 21 has now arrived. This release builds on the continuous innovation momentum since Java 10. It introduces advancements in Project Amber, Project Loom, Project Panama, and many more areas. And the coming releases will see more changes from these and other projects. Bring your questions about all of this and address them to the Java Language Architect Brian Goetz in a remote Q&A.
Bio:
Brian Goetz is the Java Language Architect at Oracle and was the specification lead for JSR-335 (Lambda Expressions for the Java Programming Language). He is the author of Java Concurrency in Practice and over 75 articles about Java development.

Themenabend „Java 11, 21 und die Zukunft“