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.

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).