Vom 04. bis 06. Dezember 2023 findet in Berlin der Modularisierung, API Design und Domain-Driven Design (kurz MAD) Summit statt. Während des dreitägigen Summits wähle und mixe dir deinen eigenen Lernplan aus vier Themenschwerpunkten: Fundamentals für Einsteigende, Architektur, Domain-driven Design und Cloudnative & Devops. Lars Röwekamp, Arne Limburg und Ina Einemann haben als Program Chairs ein buntes Programm zusammengestellt.
Jetzt Ticket sichern und dabei sein. Zur Event-Website.
Zu Beginn des Summits starten wir gleich interkativ!
Nach einer kurzen Begrüßung vom Veranstalter sowie unseren Program Chairs, die das fantastische Programm zusammengestellt haben, beginnen wir den Summit mit interaktiven Session.
Bei verschiedensten Fragen lernen Sie die anderen Teilnehmenden besser kennen, entdecken die ersten Gemeinsamkeiten und diskutieren über ein relevantes Thema in der Software Architektur.
Event Storming ist eine Methode aus dem Domain-Driven Design, die es ermöglicht, sich gemeinsam die Fachlichkeit einer Anwendung zu erarbeiten. Richtig angewendet und bis zum Ende durchgeführt, bietet Event Storming aber noch mehr. Das Ergebnis kann nämlich sehr gut verwendet werden, um darauf basierend Bounded Contexte zu identifizieren.
Diese zeichnet dabei aus, dass wenig Kommunikation über Kontext-Grenzen hinweg passiert und das diese Kommunikation insbesondere robust ist.
In der Session stellen wir die Methode Event Storming vor und zeigen, wie man über die Methode Bounded Contexts ermitteln kann und diese so gestalten kann, dass sie lose gekoppelt sind, so dass es auch nicht problematisch ist, wenn ein Service temporär ausfällt.
Künstliche Intelligenz ist auf dem Vormarsch. Egal ob Qualitätssicherung in der Produktion, Retourenmanagement im Online-Handel oder Customer-Support via Chatbot: KI eröffnet bisher noch nicht dagewesene Möglichkeiten, die eigenen Prozesse und Geschäftsmodelle deutlich zu verbessern. Aber wie lässt sich KI in die eigene Software-Architektur integrieren? Wer befindet über das richtige Modell und den richtigen Algorithmus? Und wie wird über die hinreichende Quantität/Qualität von Daten entschieden? Die Rolle des KI-Architekten scheint geboren.
Der Workshop veranschaulicht die verschiedenen Herausforderungen, die sich durch das Einbinden von KI für die eigene Software-Entwicklung ergeben können, und zeigt dafür passende, pragmatische Lösungsansätze auf.
Angefangen bei der fachlichen und qualitativen Analyse der vorliegenden Daten, über die eigentliche Modellierung und das Training der KI, bis hin zur Bereitstellung in Produktion in Form eines Web-Service, zeige ich Schritt für Schritt an einem durchgehenden Beispiel, wie KI in bestehende Software-Landschaften integriert werden kann.
Das Ergebnis eines Design-Level Event Stormings inkl. detailiertem Process Modelling ist ein buntes Bild aus Events, Commands, Aggregates, Read Models, Policies, External Systems und im Idealfall auch Bounded Contexts.
Wie bekommt man es aber hin, aus dieser Sammlung bunter Zettel eine lauffähige Software zu modellieren, bei der neben der Modellierung von Aggregates, Entities und Value Objects auch auf Dinge wie Verfügbarkeit, Fehlertoleranz, Unabhängigkeit der verschiedenen Teams und Abwärtskompatibilität von Schnittstellen, geachtet werden muss.
Dieser Workshop setzt auf dem Ergebnis des Event Storming Workshops von Ina Einemann auf und realisiert einen Teil der Fachlichkeit exemplarisch. Da das Event-Storming-Ergebnis initial diskutiert wird, kann am Workshop auch ohne einen Besuch des vorherigen Workshop teilgenommen werden.
Eine auf Microservices basierende Architektur konsequent umzusetzen bedeutet, dass auch die Datenhaltung, also in der Regel die Datenbank, auf die verschiedenen Services verteilt werden muss. Nur so kann die angestrebte Unabhängigkeit der Services zur Entwicklungs- und Laufzeit erreicht werden.
Ohne diesen Schritt würde sich hingegen das Problem der starren Kopplung und der damit einhergehenden Abhängigkeiten einer monolithischen Architektur lediglich um eine Schicht nach unten, in die Datenbank, verlagern.
Was aber bedeutet das konsequente Einhalten des Database-per-Service Patterns und einer damit einhergehenden Verteilung der Datenhaltung in der Praxis? Und welche neuen Herausforderungen sind damit verbunden? Was ist zum Beispiel, wenn Daten einer Entität - vollständig oder in Teilen - in mehreren Services benötigt werden? Oder wie wird referenzielle Integrität über die Daten mehrerer Services hinweg realisiert? Und wie lassen sich Service-übergreifende Transaktionen realisieren – wenn überhaupt?
Dies sind nur einige von vielen Fragen, die wir im Rahmen des Workshops gemeinsam anhand praktischer Beispiele angehen wollen. Soviel sei vorab verraten: Ein Umdenken ist gefragt.
API-Gateways dienen als Einstiegspunkt in die verschiedenen Microservices. Sie kümmern sich dabei um Aspekte wie Security, Routing und Traffic Management. Unsere Experten stellen Ihnen vor, wie Service Meshes eingesetzt werden. Sie dienen dabei als Layer zur Inter-Service-Kommunikation. Dieser Layer kümmert sich etwa um Fault Tolerance und Verschlüsselung. Ob die Services stabil laufen und falls nicht, an welcher Stelle die Probleme auftreten, lässt sich mittels Monitoring tracken. Hier lernen Sie das gängige Vorgehen anhand des Graphana-Stacks.
Damit Sie als Entwickler sinnvoll in einer Microservice-Umgebung arbeiten können, sollten Sie wissen, welche Services es gibt, welche APIs diese haben und bei welchem Team die jeweilige Verantwortung liegt. Unsere Experten stellen Ihnen daher backstage.io vor, das mittels openAPI oder asyncAPI die Dokumentation erleichtert. In dem Zusammenhang geht es auch darum, wie man APIs weiterentwickeln kann und wie sich Clients verhalten müssen, damit sie die APIs auch nach der Weiterentwicklung reibungslos verwenden können.
Die heutige Softwareentwicklung erfordert Agilität, Schnelligkeit und kontinuierliche Anpassung, um den ständig wachsenden Anforderungen des Marktes gerecht zu werden. Die meisten Unternehmen setzen dafür auf Scrum um diesen Herausforderungen Herr zu werden. Allerdings fokussiert sich Scrum sehr auf die Delievery Phase. In diesem Workshop tauchen wir tief in die Discovery Phase ein – eine essentielle Etappe im Softwareentwicklungsprozess, um zügig marktfähige Produkte zu gestalten, Mehrwert zu generieren und kostspielige Misserfolge zu vermeiden.
Wir stellen euch in diesem Workshop agiler Verfahren und Praktiken, wie Produktvision, Personas und Story Mapping vor, um richtig gutes Anforderungsmanagement zu machen.
Die Teilnehmer werden am Ende des Workshops in der Lage sein:
- Die Bedeutung der Discovery Phase im Entwicklungsprozess zu verstehen.
- Agile Prinzipien in das Anforderungsmanagement zu integrieren.
- Eine klare Produktvision zu erstellen und zu kommunizieren.
- Personas zu entwickeln und einzusetzen.
- Story Mapping als Werkzeug zur Planung und Visualisierung einzusetzen.
Enterprise-Projekte bzw. die sich daraus ergebenen Herausforderungen sind per Definition komplex. Wie kann man ein solches System beherrschen und gleichzeitig kurze „Time-to-Market“-Zyklen realisieren, ohne sich dabei Regressionsfehler einzuhandeln? Dies geht seit jeher nur durch eine umfangreiche automatisierte Testsuite, in die kontinuierlich auflaufende Fehler zurückfließen.
Bewegt man sich in einer Microservices-Landschaft, wird es noch schwieriger. Ein Service muss nicht nur für sich alleine funktionieren, sondern auch im Zusammenspiel mit den anderen Services auf der jeweiligen Stage. Da jedes Team unabhängig deployen kann, kann man sich darüber hinaus niemals sicher sein, welche Versionen der anderen Services gerade auf der konkreten Stage deployt sind.
Erschwerend kommt hinzu, dass sich dadurch der Zustand des Gesamtsystems kontinuierlich verändert, sodass vollständige manuelle Abnahmetests desselben nicht mehr sinnvoll durchführbar sind.
Der Workshop zeigt anhand von lauffähigen Beispielen den Aufbau praktikabler Tests für Java-Enterprise-Projekte. Dabei werden alle Ebenen vom einfachen Unit-Tests über Datenbanktests und Schnittstellentests bis hin zum Testen ganzer Microservices-Landschaften mit Consumer-driven Contract-Tests gezeigt.
Jetzt Ticket sichern und dabei sein. Zur Event-Website.