21.03.2024
Doppelvortrag: 'Endlich mit Struktur - Services mit Spring Modulith designen' und 'Immer nur objektorientiert - schon mal datenorientiert ausprobiert?'
Sebastian Lammering, Mechti Özdogan
Endlich mit Struktur - Services mit Spring Modulith designen
Microservices haben sich als Architekturmuster für die Realisierung von Softwareprojekten etabliert. Bei der Entwicklung kann es dabei leicht zu einer hohen Anzahl von Services kommen, was zu einer erhöhten Komplexität in der Infrastruktur führt. Mit Spring Modulith ist es möglich ein Microservice zu strukturieren und die Anzahl der Services zu reduzieren.
Anhand eines Beispiels erkläre ich die Application Modules von Spring Modulith. Im Vortrag zeige ich, wie du Module und Abhängigkeiten im Code definierst und Komponentendiagramme generierst.
Du wirst verstehen, wie du deine Services im Code in logische Module aufteilst, um so nach Domänen strukturierte Services zu erstellen. Anschließend schauen wir uns an, wie du diese Module isoliert testen kannst und wie dir Verifizierungen dabei helfen, dass du und dein Team von den definierten Abhängigkeiten profitieren.
Immer nur objektorientiert - schon mal datenorientiert ausprobiert?
Objektorientierte Programmierung ermutigt uns, komplexe Entitäten und Prozesse mit Hilfe von Objekten, welche Zustand und Verhalten kombinieren, zu modellieren. Die Datenorientierung geht einen anderen Weg, wir modellieren unveränderbare Datentypen und halten die Logik getrennt davon. Gerade bei einfacheren Anwendungsfällen führt dieser Ansatz zu besserer Les- sowie Wartbarkeit. Anhand praktischer Code-Beispiele diskutieren wir die wichtigsten Prinzipien dieses Paradigmas und untersuchen die in den letzten Jahren hinzugekommenen Features wie Records, Sealed Classes, Switch Expressions und das Pattern Matching. Dazu werfen wir auch einen Blick über den Tellerrand, wie datenorientierte Ansätze in anderen Programmiersprachen (Rust, Kotlin, …) umgesetzt sind. Ihr seht, wie modernes Java aussieht und könnt je nach Eurer verwendeten JDK-Version das Vorgestellte auch direkt auf Eure tägliche Arbeit übertragen.
Sprecher
Sebastian Lammering arbeitet als Software-Architekt und Consultant bei der CDI AG in Dortmund, die Teil der MT GmbH ist. Seit 2008 ist er in Enterprise Java Projekten tätig und immer auf der Suche nach pragmatischen Lösungen. Er hat sich das Ziel gesetzt, sein Wissen nicht nur im Kundeneinsatz, sondern auch in der Community zu teilen. Mit seinem Vortrag auf der JavaLand macht er nun den ersten Schritt und debütiert als Speaker. In seiner Freizeit ist er gerne auf einem seiner Fahrräder unterwegs.
Mechti Özdogan arbeitet als Entwickler bei Exxeta. Seit 2016 ist er in Java Projekten tätig. Er bildet nicht nur sich selbst gern weiter, sondern möchte sein Wissen über die Grenzen seines Arbeitgebers hinaus weitergeben. Seine Vorlieben sind neue Paradigmen, um dadurch neue Ansichtsweisen und Lösungswege zu finden.
Sponsors
Andrena stellt uns die Räumlichkeiten zur Verfügung und sorgt für unser leibliches Wohl. Vielen Dank dafür. Der übliche Abstecher in den Hotzenplotz nach dem Vortrag entfällt somit - wir bleiben einfach vor Ort!