JAX 23 – das Follow-Up

JAX 23 - das Follow-Up

Ein ganzer Tag mit den Top-Sessions der JAX 23

Aufzeichnung verfügbar bis zum 06. September 2023

Jax23-das Follow-Up Störer

JAX 23 -
das Follow-Up

Ein ganzer Tag mit den
Top-Sessions der JAX 23

Aufzeichnung verfügbar bis zum 06. September 2023

Live-Event startet in:

TAGE

STUNDEN

MINUTEN

SEKUNDEN

Erlebe die Top-Sessions des beliebtesten Konferenztages

Wenige Wochen nach unserer fulminanten JAX 23 präsentieren wir zum ersten Mal ein ganz besonderes Highlight: das JAX 23 Follow-Up! Erlebe die Top-Sessions des beliebtesten Konferenztages noch einmal live – stelle Fragen und diskutiere mit den Experten!

Lehne dich zurück und genieße den JAX-Tag mit Sessions zu aktuellen Java-Trends, Spring Boot, Kubernetes, Software-Architektur und Test-Strategien. Erfahre, wie du die GraalVM gewinnbringend für dich einsetzen kannst, warum Software-Architekturen den Menschen in den Mittelpunkt stellen sollten, welche Kubernetes-Patterns performante CloudAnwendungen ermöglichen und vieles mehr!   

Sei live und exklusiv dabei, wenn wir die JAX 23 erstmals um einen vollen Tag verlängern!

Jax23-das Follow-Up Störer

Das erwartet dich

Herzlich Willkommen beim JAX 23 Follow-Up! Erlebe die Top-Sessions des beliebtesten Konferenztages

Softwarearchitektur ist nur scheinbar ein technisches Thema. Software muss zwar Technologien und Strukturen haben, aber im Mittelpunkt der Architektur muss der Mensch stehen. Schließlich ist die Kernherausforderung der Softwareentwicklung und Softwarearchitektur, dass die entworfenen Systeme zu komplex sind, als dass eine Mensch sie verstehen kann. Die Organisation und der Umgang mit Menschen können aber auch Probleme im Umfeld von Softwarearchitekturen lösen. Daher zeigt der Vortrag die wechselseitigen Abhängigkeiten zwischen Architektur, Menschen und Organisation auf – und wie man sie nutzen kann, um erfolgreicher Software zu entwickeln.

Dieser Talk geht davon aus, dass wir Kubernetes schon verwenden. Hier möchte ich erklären, wie nun genau Requests und Limits für CPU, Memory und Ephemeral Storage funktionieren und warum viele Deployments wegen schlechter oder gar falscher Konfiguration instabil (s. Eviction) laufen. Selbstredend werden wir etwas ausholen und auch schöne Anekdoten haben.

Beim Bauen von Software werden tolle Technologien, Programmiersprachen und Tools eingesetzt. Das ist gut und richtig. Aber leider wird dabei oft aus den Augen verloren, dass das Entscheidende für den Projekterfolg nicht die Technik, sondern die *Fachlichkeit* ist. Um die Fachlichkeit (=Domäne) verstehen zu können, brauchen wir eine gemeinsame Sprache mit den Fachexperten. Außerdem: wenn wir in der Software und ihrer Architektur nicht das fachliche Modell abbilden, dann wird sie unseren Anwendern nicht bei Ihrer Arbeit helfen. Davor schützt uns keine Technologie der Welt. 

Als Informatiker kann man leicht in die Falle tappen, sich auf Technologie statt auf Fachlichkeit zu fokussieren. Um das zu verhindern, zeige ich in diesem Vortrag, wie man mit Domain-Driven Design (DDD) das Wissen um die Fachlichkeit lernen und in eine Ubiquitous Language übertragen kann. Dazu werden Techniken wie Interviews, Domain Storytelling und Event Storming eingesetzt. 

In der Praxis ist es schwierig zu erkennen, wie wir unsere Domäne schneiden und daraus Microservices entwickeln können. Hierbei kann uns das Prinzip der Bounded Contexts aus DDD helfen. Es gibt uns Hilfestellung wo vertikale Schnitte sinnvoll sind.

Setzt man diese Techniken gemeinsam ein, dann kann man die Architektur von Software-Systemen so bauen, dass sie die Fachlichkeit darstellt und unsere Anwender glücklich macht.

Die GraalVM ist eine universelle Virtuelle Maschine (VM) für Anwendungen, die in JavaScript, Python, Ruby, R oder mit den JVM-basierten Programmiersprachen Java, Scala, Kotlin, Clojure und LLVM-basierten Sprachen C/C++ geschrieben wurden. Im April 2023 wurde die GraalVM 23.0.0 freigegeben, mit Performance-Verbesserungen und polyglotter Unterstützung für verschiedene Programmiersprachen und sie ermöglicht damit die Interoperabilität in einer gemeinsamen Laufzeitumgebung. GraalVM kann eigenständig oder im Kontext von OpenJDK, Node.js und Datenbanken betrieben werden. Mit GraalVM Ahead-of-Time-Fähigkeit kompilierte Native Images verfügen über eine optimierte Startup-Zeit und sie verringern den Memory-Verbrauch von JVM-basierten Applikationen. Die GraalVM kann wahlweise als Open Source Community Edition (CE) oder als Enterprise Edition (EE) mit OTN Lizenz innerhalb der Java SE Subscription verwendet werden. Im Vortrag wird die GraalVM-Architektur im Java Eco System dargestellt und die Einsatzgebiete werden erläutert, beispielsweise der in Java entwickelte C2 JIT Compiler oder die Verwendung von GraalVM Native Images. GraalVM kann für Spring Boot und Microservices-Frameworks verwendet werden.

 

Architektur und Code driften immer weiter auseinander? Die Umsetzung von nichtfunktionalen Anforderungen und Querschnittsaspekten wird häufig vergessen? Zu viel Spaghetticode durch zyklische Abhängigkeiten? Solche Dinge kommen leider viel zu häufig vor und führen irgendwann zu einer unwartbaren Codebasis. Im Java-Umfeld ist die Bibliothek ArchUnit eine mögliche Lösung für diese Situation. Wir schauen, wie wir mit ArchUnit unsere Architektur innerhalb von Unit-Tests testen können und endlich wieder Struktur ins System bekommen. Außerdem schauen wir uns darauf aufbauend jMolecules an, mit dem wir Architekturkonzepte direkt im Code abbilden können.

Manche Softwareentwicklungsteams sind agiler als andere, aus den unterschiedlichsten Gründen. Bei meiner Arbeit mit zahlreichen Teams habe ich während der letzten Dekade ein wiederkehrendes Muster beobachtet: Teams mit guter, schneller Testautomatisierung liefern oftmals bessere Lösungen kontinuierlicher ab – und besitzen dabei auch noch einen besseren Team-Spirit. 

Aber warum erreiche manche Teams eine gute Testautomatisierung, während sich andere damit über Jahre abmühen? Meiner Erfahrung nach hängt dies davon ab, ob der Code einfach testbar ist. Oft denkt man dann sofort an Programmierpraktiken wie Test-Driven Development (TDD), durch die ein besseres – besser testbares! – Codedesign entsteht. Aber es gibt auch einige Architekturstile bzw. -muster, die ein einfacheres Testen mit schnelleren Feedback-Schleifen ermöglichen. 

Wir schauen uns in dieser Session an, was es bedeutet, Geschäftslogik von Integrationscode zu trennen, welche unterschiedlichen Codedesigns und Architekturmuster es gibt, um dieses Ziel zu erreichen – und warum damit kleinere und schnellere automatisierte Tests möglich sind. Es geht dabei um die absoluten Grundlagen von testbarem Code und testbarer Architektur. Wer sich nicht täglich mit diesen Themen beschäftigt, wird Anregungen und Tipps bekommen, wie man sofort morgen im eigenen Projekt die ersten Verbesserungen vornehmen kann. Die Session wird eine ausgewogene Mischung sein aus Folien und Live-Coding.

Die Speaker im Überblick

So kannst du teilnehmen:

Du hast bereits Fullstack?

Schnapp dir was zu schreiben und lehne dich zurück. Komme hier direkt zum Live-Event  und profitiere vom wegweisenden Wissen unserer Experten. 

Du hast noch kein Fullstack?

Fullstack-Abonnent:innen haben kostenlosen Zugriff auf das Live-Event. Zusätzlich haben Fullstack-Abonnent:innen für drei Monate Zugriff auf die Aufzeichnung des Live-Events. Schließe jetzt dein Fullstack ab und profiteire von diesem und weiteren wegweisenden Fullstack Live-Events.

Fullstack-Abo abschließen und am Fullstack Live-Event teilnehmen

Fullstack Logo
Fullstack-Abo

198,80 € / Jahr – jetzt 40 € sparen –
12 Monate lang Zugriff, 10 Monate zahlen!

  • Interaktive Live-Events exklusiv auf der Plattform
  • Step-by-Step-Tutorials zu aktuellen Themen
  • Über 10.000 Fachbeiträge, Magazine, E-Books, Artikelserien und Kolumnen sowie ein umfassendes Archiv

Ab 72 € im Jahr pro Nutzer

  • Rabatte für bis zu 3 Bestellungen von Teilnahmen deines Teams an unseren Konferenzen und Trainings
    3-Nutzer-Lizenz: 150 €
    5-Nutzer-Lizenz: 200 €
    10-Nutzer-Lizenz: 250 €
    15-Nutzer-Lizenz: 300 €
  • 6 Monate Zugriff auf die Video-Aufzeichnungen von teilgenommenen Konferenzen und Trainings
  • Wir belohnen Ihre Treue: Sonderpreis für Printabonnenten! Sie sparen bis zu 10 € monatlich

Wir finden für jedes Team das passende Angebot!

  • Umfangreiche Rabatte an für die Teilnahme an unseren Konferenzen und Trainings
  • 6 Monate Zugriff auf die Video-Aufzeichnungen von teilgenommenen Konferenzen und Trainings
  • Unkomplizierter Zugriff per IP-Adresse
  • Firmenweiter Zugang über E-Mail-Domain
  • Kein Administrationsaufwand

198,80 € / Jahr – jetzt 40 € sparen –
12 Monate lang Zugriff, 10 Monate zahlen!

  • Interaktive Live-Events exklusiv auf der Plattform
  • Step-by-Step-Tutorials zu aktuellen Themen
  • Über 10.000 Fachbeiträge, Magazine, E-Books, Artikelserien und Kolumnen sowie ein umfassendes Archiv

Ab 72 € im Jahr pro Nutzer

  • Rabatte für bis zu 3 Bestellungen von Teilnahmen deines Teams an unseren Konferenzen und Trainings
    3-Nutzer-Lizenz: 150 €
    5-Nutzer-Lizenz: 200 €
    10-Nutzer-Lizenz: 250 €
    15-Nutzer-Lizenz: 300 €
  • 6 Monate Zugriff auf die Video-Aufzeichnungen von teilgenommenen Konferenzen und Trainings
  • Wir belohnen Ihre Treue: Sonderpreis für Printabonnenten! Sie sparen bis zu 10 € monatlich

Wir finden für jedes Team das passende Angebot!

  • Umfangreiche Rabatte an für die Teilnahme an unseren Konferenzen und Trainings
  • 6 Monate Zugriff auf die Video-Aufzeichnungen von teilgenommenen Konferenzen und Trainings
  • Unkomplizierter Zugriff per IP-Adresse
  • Firmenweiter Zugang über E-Mail-Domain
  • Kein Administrationsaufwand