Archiv der Kategorie: Software

JavaLand 2019 – ein kurzes Review von 2 interessanten Tagen

Von Entwicklern für Entwickler

Autoren: Dr. Bernd Wichern, Dr. Mike Nemec und Sascha Zur

Vom 18. - 21. März haben wir – drei Kollegen aus der Software Entwicklung: Sascha Zur, Mike Nemec und Bernd Wichern – die diesjährige JavaLand im Brühler Phantasialand besucht. Zum sechsten Mal fand die JavaLand in dieser Form stand. Mit gut 2000 Teilnehmern gehört sie zu den größeren Entwickler-Konferenzen in Deutschland.

Nicht nur die Achterbahnen machen einen Besuch lohnenswert!
An zwei Tagen gab es ein prall gefülltes Konferenz-Programm (https://programm.javaland.eu/2019/#/schedule/2019-03-19) zur Auswahl. Das Themenspektrum war dabei sehr breit: Neben der eigentlichen Java-Entwicklung gab es viele Vorträge zur Architektur und zum Design, zu DevOps sowie zu den verschiedensten, aktuellen Frameworks. Parallel zu den Konferenz-Verträgen und gab es verschiedene „Hacker“-Slots aus der Java Community. Die Auswahl der Themen ist uns nicht immer leicht gefallen – es gab so viel Interessantes gleichzeitig...

Als weiteres Highlight haben die Wagemutigen unter uns die Karussells schon einmal vor der offiziellen Park-Eröffnung getestet.

Die folgend kurze Übersicht zeigt eine Auswahl der Vorträge, die wir gehört haben:

  1. ArchUnit: ein schönes Tool zum Überwachen der Architektur bzw. der Abhängigkeiten zwischen den Komponenten einer Software. Der Vortrag wurde vom Macher von ArchUnit gehalten (Talk und Präsentation)
  2. Integrationstests mit Docker und Testcontainern: es wurde Möglichkeiten vorgestellt, wie Integrationstests performant gelingen können. Basis dabei sind Docker und Testcontainer, die beim Testing gestartet werden und dabei angeblich deutlich schneller sind als die Verwendung von "echten" Datenbanken.
  3. Spring Data JDBC und DDD: Spring Data JDBC ist ein recht junger Spross der Spring-Familie und verspricht eine einfache Datenschicht, die nicht auf JPA basiert. Zentrales Konzept ist hierbei das Domain Driven Design Konzept des Aggregates und des Aggregate-Root. Dabei wird auf Objekt-Referenzen zwischen Aggregaten komplett verzichtet; lediglich die IDs anderer Aggregate Roots werden gehalten. Das "Wiring" innerhalb eines Aggregates wird von Spring erledigt.(Talk und Präsentation)
  4. Continous Integation Extreme: ein Plädoyer für konsequentes Continous Integration. Jeder Entwickler committet mehrmals täglich direkt auf dem Head (wird auch "Trunc-based-develoment" genannt) und jeder Commit wird zwingend komplett automatisiert getestet. (Talk und Präsentation)
  5. Microservice Architektur: ein Vortrag über die Vorteile und Herausforderungen einer Microservice Architektur und dem Zusammenhang zum DDD. Im Vordergrund steht dabei die fachliche und nicht die technische Strukturierung der Anwendung. Es ist besser einen fachlich sauber strukturierten Monolithen zu haben, als einen verteilten "Ball of Mud".
  6. Erfolgreiche Teams: ein Vortrag von Altlassian über die Frage, was unterscheidet erfolgreiche von nicht erfolgreichen Teams. Kurze Antwort: sie sind Cross Funktional (umfassen also alle Rollen) und reden miteinander. Weitere Dinge, die ein erfolgreiches Team fördern: Team Rituale, Getting Shit Done Days, Willkommenskultur, gemeinsames Video-Schauen von Konferenz Talks, ...
  7. Data Science: in großen Software Projekten entstehen neben Code jede Menge weiterer Daten (Commit-Historie, Jira-Issues, Bug-Statistiken, ...). Im Vortrag wurde gezeigt, wie sich diese analysieren und visulisieren lassen und dass sich daraus Erkenntnisse für Verbesserungen / Umbauten der Software gewinnen lassen.
    (Talk und Pärsentation)
  8. Keykloak: Vorträge über ein verbreitetes Produkt zur Umsetzung von Single Sign On. Das Tool nimmt dem Entwickler diverse Standardaufgaben im Bereich IAM ab und bietet verschiedene Möglichkeiten, eigene "Spezialitäten" einzubauen. (Talk und Präsentation)
  9. Warum ist mein Code schlecht? Ein Vortrag über die sanfte Einführung von SonarQube in einem Unternehmen. Ein Punkt dabei war die Nutzung von Gamification, um die Akzeptanz von SonarQube im Team zu erhöhen. Genutzt wurde dazu das Tool Sonarquest. (Talk und Präsentation)
  10. APIs bauen: Eine Betrachtung der 2 Seiten von APIs: Der Ersteller einer API hat oft einen anderen Kontext als ein Nutzer, weshalb es zu Problemen kommen kann. Daher ist eine gute Gestaltung und Dokumentation einer API sehr wichtig. Als Tool wurde OpenAPI (ehemals Swagger) vorgestellt. (Talk und Präsentation)

Fazit: Absolut empfehlenswert! Die JavaLand gibt viele Einblicke in aktuelle Themen und begeistert durch eine große Auswahl an Möglichkeiten. Wir sind im nächsten Jahr wieder dabei – vielleicht dann auch als Aussteller und Redner.