Workshops

Ein neues Thema, ein neues Projekt oder eine neue Technologie? Den Einstieg so schnell wie möglich und ohne Umschweife? Sie oder Ihr ganzes Team? Mit unseren Workshops stehen wir Ihnen hilfreich zur Seite.

Lasst uns einen Monolithen (z)erlegen!

Auch Inhouse möglich

Sie stehen vor der unlösbar erscheinenden Herausforderung, ein bestehendes monolithisches System zu restrukturieren und mittelfristig sogar in die neue Architekturwelt der Microservices zu überführen? In unserem zweitägigen Workshop stellen wir uns mit Ihnen dieser Herausforderung und spielen das Szenario auf Basis einer realen Java-basierten eCommerce-Lösung durch!

Herausfordernde Zeiten der Digitalisierung

Während im Zuge der Digitalisierung die Bedeutung leichtgewichtiger, skalierbarer und entwickelbarer Services zunimmt, um agil den Anforderungen folgen zu können, sind die meisten Unternehmen jedoch im Besitz eines langjährig gewachsenen, schwer wartbaren und nicht skalierbarem monolithischen Systems.

Keine Frage: Der Geschäftswert dieser Systeme lässt es meist nicht zu, ein neues System auf einer grünen Wiese zu starten. Klar ist aber auch, dass die angegrauten Systeme den Sprung in die neue Architekturwelt schaffen müssen, um in der Zukunft erfolgreich agieren zu können.

Eine Modernisierung ist häufig schnell beschlossen. Doch dann stellt sich die Frage „Wie und Wie viel?“. Welche Qualitätseigenschaften sind relevant? Welche Architektur-Constraints ergeben sich daraus? Wie können umfangreiche Refaktorisierungen geplant werden? Und: Wie kann der Monolith restrukturiert und in Microservices zerlegt werden?

Wir haben die Lösung - der AISE-Prozess

Damit Sie diesen Herausforderungen gewappnet sind, vermitteln wir Ihnen grundsätzliche Überlegungen zum Herangehen und nehmen Sie mit auf eine Reise durch einen iterativen Prozess, der aus den Schritten der Analyse, Isolation, Absicherung und Extraktion (siehe Grafik zum AISE-Modell) besteht. Sie lernen Methoden und Werkzeuge kennen, um den Zustand eines Systems zu erfassen, Schritte für Restrukturierungen zu planen, Aufwände abzuschätzen und Risiken zu erkennen. Wir diskutieren mit Ihnen typischerweise auftretende Design-Entscheidungen, die Themen wie Strukturierung, Schnittstellensemantik oder Infrastruktur umfassen.

Nach dem Workshop können Sie unter Berücksichtigung individueller Rahmenbedingungen bestehende Probleme identifizieren und bewerten. Auf dieser Grundlage werden Sie befähigt, geeignete Lösungsstrategien zu entwickeln und erfolgreich umzusetzen.

Das AISE-Modell

Zielgruppe

Architekten und Entwickler mit solidem Wissen über Java, Architektur und Design

Vorkenntnisse

  • Java
  • Erfahrung mit Spring oder Java EE
  • sicherer Umgang mit einer IDE, Git und Maven
  • Grundkenntnisse in Neo4j und Cypher (ein Online-Vorbereitungskurs im Umfang von ca. 4h wird zur Verfügung gestellt)

Kapazität

Max. 6 Teilnehmer möglich

Agenda

1. Einführung

Wir besprechen Treiber, Rahmenbedingungen und Risikofaktoren, die für die Zerlegung eines bestehenden, monolithischen Systems von Bedeutung sind. Zudem erhalten Sie einen Überblick über den iterativen Prozess zur Restrukturierung und Zerlegung monolithischer Anwendungen.

2. Analyse (Analyze)

Sie lernen, wie Sie eine Bestandsaufnahme des bestehenden Systems umsetzen und welche Tools diesen Prozess unterstützen können. Zusätzlich betrachten wir, wie Sie mit den erlangten Erkenntnissen Modernisierungsmaßnahmen planen und Risiken vorher erkennen können. Im Detail befassen wir uns mit folgenden Punkten:

  • Tools und Methoden im Rahmen von Software Analytics
  • Bestandsaufnahme bestehender Strukturen und Identifikation fachlicher Komponenten
  • Definition von Zielstrukturen anhand definierter Qualitätsziele
  • Planung der Restrukturierung und Aufwandsabschätzungen

3. Isolation (Isolate)

Den Weg vom unstrukturierten Monolithen zum fachlich strukturierten Modulithen durchlaufen Sie, ohne zusätzliche Infrastruktur aufbauen zu müssen. Das Qualitätsziel "Wartbarkeit" ist dann bereits erreicht. Dabei sind das Einführen von Schnittstellen sowie die Privatisierung der Datenmodelle im Sinne von DDD zentrale Aspekte. In diesem Teil zeigen wir Ihnen im Speziellen:

  • Überführung einer technischen in eine fachlich orientierte Struktur
  • Definition und Überarbeitung von Schnittstellenkontrakten
  • Herauslösen einer Komponente als Artefakt innerhalb des Monolithen

4. Absicherung (Secure)

Wir betrachten, wie die geschaffenen Strukturen tool-unterstützt und automatisiert dokumentiert sowie gegen eine erneute Erosion abgesichert werden können. Dabei nehmen wir folgende Punkte genauer unter die Lupe:

  • Automatisierte Validierung der Anwendungsstruktur
  • Verifikation von Abhängigkeiten und Überprüfung von Schnittstellenkontrakten

5. Extraktion (Extract)

Abschließend lösen wir eine fachliche Komponente als eigenständigen Microservice heraus. Wir diskutieren, wann Microservices notwendig sind und besprechen typische Herausforderungen sowie Lösungsstrategien. Zentral dabei ist der Aufbau notwendiger Infrastruktur und das Umsetzen von resilienter Kommunikation zwischen Services. Dabei schauen wir uns folgende Punkte im Detail an:

  • Umstellung der Schnittstellentechnologien
  • Strategien zur Replikation von Daten und zum Umgang mit Eventual Consistency
  • Auswahl geeigneter Technologien unter Berücksichtigung vorhandener Qualitätsziele
  • Herauslösen einer fachlichen Komponente als eigenständiger Microservice

Technische Anforderungen

Wir stellen Ihnen Schulungsrechner bereit. Auf Wunsch kann nach Absprache ein eigenes Notebook genutzt werden. In dem Fall benötigen Sie ein entwicklungsfähiges Notebook mit einer Installation von Virtual Box (6.0 oder neuer).

Ihr Ansprechpartner

Ihr Ansprechpartner

Stephan Pirnbaum

Telefon: +49 351 3209230
E-Mail: stephan.pirnbaum@buschmais.com