Reactive Spring

Termin

Dieser Workshop findet am 24. August 2018 von 10:00 - 17:00 Uhr bei der Firma OIO Orientation in Objects GmbH in der Weinheimer Str. 68 in Mannheim statt (Anfahrtsbeschreibung).

Die Teilnehmerzahl ist begrenzt. Anmeldungen bitte per E-Mail an info@oio.de.

Vielen Dank an die Firma OIO Orientation in Objects GmbH, die uns ihre Räumlichkeiten zur Verfügung stellt und auch für das leibliche Wohl sorgen wird.

Abstract

Spring Framework 5 und Spring Boot 2 sind da! Eine der herausstechenden Neuerungen ist die Unterstützung für reaktive Programmierung, um mit Project Reactor nachrichten-orientierte, elastische und robuste Services zu entwickeln. Spring Framework 5 unterstützt mit netty, Undertow und Jetty die Ausführung von reaktive Web-Webanwendungen.

In diesem Workshop gehen wir auf reaktive Programmierung ein und erklären, wie Spring mit seinem Programmiermodell reaktive Systementwicklung unterstützt. Wir werden uns das neue Spring WebFlux Modul und reaktiven Datenzugriff mit Spring Data Kay anschauen und wir werden die natürlichste Art des Datenzugriffs anwenden, indem wir selbst reaktiven Code schreiben.

Du bist Entwickler und möchtest Daten auf eine funktional-reaktive Art konsumieren? Das ist Deine Chance um zu lernen, wie auch Deine Anwendung vom neuen Spring Framework Release profitieren kann.

Bring für diesen Workshop Deinen Computer mit. Idealerweise hast du bereits Maven, Git und eine IDE installiert. Für WLAN ist gesorgt.

Die Teilnahme ist frei, es gibt aber nur eine begrenzte Anzahl an Plätzen.

Bio

Mark Paluch ist Software Craftsman und arbeitet als Spring Data Engineer bei Pivotal. Er betreut die Module MongoDB, Redis und Apache Cassandra und Entwickelt den Lettuce Redis Treiber. Er ist regelmäßiger Sprecher auf deutschen und internationalen Konferenzen sowie Autor von Fachartikeln.

Kubernetes Basics - am Beispiel einer Spring Boot App

Registration

Wir freuen uns über Eure Anmeldung (optional und unverbindlich) auf unserer Meetup-Seite.

Termin

Der Vortrag findet am 23.08.2018 um 19:00 Uhr in der Uni Mannheim A5, 6 im Raum C013 statt (Anfahrtsbeschreibung).

Abstract

Kubernetes ist eines der bekanntesten und am stärksten wachsenden Frameworks zur Container-Orchestrierung. Einige der meistbeworbenen Features sind die einfache Automatisierbarkeit, Selbstheilung, Load-balancing, Configuration-Management und Skalierbarkeit.

Viele Entwickler stellen sich allerdings die Fragen: Brauche ich das überhaupt? Wie kommt meine App da jetzt eigentlich rein? Wie stelle ich sicher, dass die nötigen Abhängigkeiten und Resourcen für meine Applikation bereitgestellt werden?

Am Beispiel einer Spring Boot App wollen wir zusammen die schöne neue Welt erkunden und hoffentlich viele offene Fragen beantworten.

Bio

Christian Kühn ist Senior Systementwickler bei synyx und ist in den Bereichen Softwareentwicklung und Systemadministration tätig. Derzeit beschäftigt er sich in einem Projekt bei Filiadata (DM Drogeriemarkt) im eCommerce-Bereich mit Microservices und DevOps-Themen. Nebenher ist er Mitorganisator beim DevOps Meetup Karlsruhe.

Shenandoah - ultra-low pause time garbage collector

Registration

Wir freuen uns über Eure Anmeldung (optional und unverbindlich) auf unserer Meetup-Seite.

Abstract

Mit OpenJDK werden mehrere Garbage Collectoren mitgeliefert. Dazu gehoert Parallel/SerialGC, CMS und G1. Abgesehen davon gibt es noch weitere mit OpenJDK nicht mitgelieferte GCs. Das sind Shenandoah (JEP 189) und ZGC. Dazu kommt noch ein GC, der eigentlich keiner ist: EpsilonGC (JEP 318).

Dieser Vortrag wird alle gaengigen GCs bescheiben und vergleichen. Es wir besprochen, warum es so viele davon gibt und ob es wirklich notwendig ist, so viele zu haben. Ebenso wird die Funktionsweise erlaeutert. Dadurch wird klar welchen GC man fuer welchen Zweck einsetzen sollte.

Desweiteren wird Shenandoah, ein sich noch in der Entwicklung befindlicher GC herausgepickt und in der Tiefe besprochen. Die Funktionsweise wird detailliert dargestellt. Es werden Herausforderungen und Loesungen der Implementierung erlaeutert, die waehrend der Entwicklung aufgekommen sind.

Es werden keine GC Kenntnisse vorausgesetzt. Dieser Talk wird nach und nach aufgebaut. Daher ist er fuer jeden Java Entwickler geeignet. GCs ausserhalb von OpenJDK (z.B. C4 oder OpenJ9 GC) werden nicht besprochen.

Bio

Walery Strauch ist Freiberuflicher Softwareentwickler. Seit 2007 beschäftigt er sich intensiv mit Projekten in den Bereichen Java, Web und Cloud. Als Mitbegründer und CEO einer Softwarefirma im Jahre 2010 konnte er sein Wissen auch im Business über Jahre erfolgreich anwenden. Sein Know-how hat er dabei nicht nur als unternehmensinterner Coach geteilt, sondern auch in Java-Vorlesungen an der Hochschule Heidelberg weitergegeben. Er ist ebenfalls einer der Organisatoren der MAJUG (Mannheim Java User Group).

It's all about the domain, honey – Domain-Driven Design als Basis für Microservices in Java

Registration

Wir freuen uns über Eure Anmeldung (optional und unverbindlich) auf unserer Meetup-Seite.

Termin

Der Vortrag findet am 19.06.2018 um 19:00 Uhr bei LivePerson in P3 1-3, Mannheim statt.

Abstract

Vielen Dank an LivePerson für Getränke und Essen.

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.

Bio

Henning liebt Programmieren in hoher Qualität. Diese Leidenschaft lebt er als Software-Architekt, Berater und Entwickler bei der WPS – Workplace Solutions aus. Seine Projekte sind Domain-Driven, agil und in Programmiersprachen wie Java und C# aber auch ABAP. Ihn interessieren Menschen, langlebige Softwarearchitekturen, große Refactorings und die Evolution von Programmiersprachen. Gerade hat er »Domain-Driven Design kompakt« von Vaughn Vernon ins Deutsche übersetzt.

Besser leben durch Rebasing: Geschönte Entwicklungshistorie leicht gemacht dank Git

Registration

Wir freuen uns über Eure Anmeldung (optional und unverbindlich) auf unserer Meetup-Seite.

Termin

Der Vortrag (Ersatztermin für den ausgefallenen Termin im März) findet am 23.05.2018 um 19:00 Uhr in der Uni Mannheim A5, 6 im Raum C013 statt (Anfahrtsbeschreibung).

Abstract

Eine der ersten und wichtigsten Regeln, die jedem Git-Neuling eingetrichtert werden, ist, dass geteilte Zweige nicht durch Rebasing verändert werden dürfen. Andererseits wird jeder, der einmal ein Rudel Merge Diamonds gesehen hat, bestätigen, dass eine gut lesbare Projekthistorie anders aussieht.

Der Vortrag zeigt, wie durch sinnvolle Kombination von (interaktivem) Rebasing und Merging geteilter Entwicklungszweige eine gut gegliederte und leicht lesbare Versionshistorie inklusive Branches entstehen kann, ohne dass man zu viel seiner eigenen Vergangenheit vergisst.

Skills

Grundlegende Kenntnisse in Git sind von Vorteil.

Lernziele

  • Verstehen der grundsätzlichen Fragestellungen bei der (Re-)Integration von Git Branches (Merge vs. Rebase, Merge Commit vs. Fast-Forward Merge)
  • Kennenlernen der möglichen Vorteile und Risiken beim Einsatz von Rebasing
  • Erfahren, wie sich eine einfach lesbare und gut verständliche Versionshistorie in Git trotz Branches erzeugen lässt

Bio

Steffen Schluff ist der Leiter der Software Factory der OIO Orientation in Objects GmbH und verantwortlich für die in der Entwicklung eingesetzten Werkzeuge und Verfahren, wobei sein besonderes Interesse dem Thema Continuous Delivery gilt.