iSAQB CPSA-Advanced Flexible Architekturmodelle Microservices (FLEX) - Java - Webinar von Albion Academy GmbH

Inhalte

Die sich immer schneller ändernden Anforderungen an Software erfordern eine hohe Flexibilität der Architekturen, um Wirtschaftlichkeit und Effizienz in der Softwareentwicklung zu gewährleisten. Das iSAQB Advanced Modul FLEX vermittelt moderne Ansätze für flexible Softwarearchitekturen wie Microservices und Self-contained Systems und setzt sich dabei unter anderem mit den besonderen Herausforderungen und Vorteilen, aber auch Kritikpunkten dieser Konzepte auseinander.

Wir zeigen, wie ein monolithisches System durch Strukturierung und Komponentenbildung schrittweise in ein modulares System überführt wird. Dazu orientieren wir uns an fachlichen Anforderungen sowie an Qualitätsanforderungen. Für die Modularisierung und Zerlegung setzen wir auf den Prinzipien von Domain-driven Design sowie von Clean Architektur / Onion-Architektur auf. Bei einer Verteilung der Anwendung in ein verteiltes System beachten wir kritische übergreifende Themen, v.a. Integration, Sicherheit und Betriebsaspekte wie Monitoring und Logging.

Passend zu einer solchen SW-Architektur besprechen wir passende Methodik: Automatisierte und kontinuierliche Integration und Auslieferung. Effizienter Betrieb mit DevOps. Überwachung und Fehleranalyse verteilter Systeme. Entwicklung unter Beachtung von Team-Skalierbarkeit und -Autonomie. Denn nur so kann eine flexible Architektur effektiv und effizient erreicht werden.

Wie können große Systeme, deren Entwicklung große Teams erfordern, flexibel so entworfen werden, dass Funktionalität trotzdem schnell und in hoher Qualität entsteht?

Diese Schulung führt in effektive Lösungsstrategien ein:

  • Grundlegend ist die Aufteilung eines Systems in kleinere, unabhängige Komponenten.
  • Die Aufteilung erfolgt entlang der Fachlichkeit. Dazu führen wir in Methoden des Domain-Driven Designs (DDD) ein.
  • Ein monolithisches System wird so zu einem Modulithen (Onion-Architektur, Microservices und Self-contained Systems).
  • Diese Aufteilung kann in eigenständige Services verteilt werden. Wir erläutern dazu die Konzepte von Self-Contained Systems und Microservices. Wir gehen auf die Herausforderungen ein, die durch die Verteilung entstehen.
  • Jeder Service kann von einem eigenständigen Team entwickelt werden.
  • Er kann separat und unabhängig von den anderen Systemen getestet ausgeliefert werden.
  • Der Auslieferungsprozess wird automatisiert.

Die Strategien ermöglichen eigenständige Arbeit der Teams und häufige Auslieferung, was wiederum zu schneller Umsetzung neuer Anforderungen und hoher Qualität führt.

Sie bringen aber auch eine Reihe von Herausforderungen mit sich, die wir in der Schulung behandeln werden, z.B.:

  • Wie findet man die richtigen Grenzen für die Aufteilung?
  • Wie bringt man die neue Architektur mit der bestehenden Organisation in Einklang?
  • Wie regelt man Kommunikation zwischen Systemen und Services?
  • Welche Kosten stehen dem Nutzen einer Verteilung gegenüber?
  • Wie integriert man die Einzelteile zu einem Ganz – sei es als Modulith oder als verteiltes System?
  • Wie testet man – unabhängig bzw. integrativ und integriert?
  • Wie automatisiert man die Auslieferung?
  • Was muss man im Entwicklungs-, Test- und Auslieferungsprozess beachten?
  • Wie überwacht man den Betrieb eines solchen Systems?
  • Wie erkennt und findet man Fehler in einem solchen System?

Die Schulung ist Teil des iSAQB CPSA-Advanced-Level der Zertifizierung für Software-Architekten und richtet sich nach dem aktuellen iSAQB Lehrplan.

Durchgängige Case Study mit Java/Spring-Boot

Wir präsentieren nicht einfach nur Wissen am Whiteboard, sondern vertiefen das Gelernte in ausführlichen Übungen. Wir nutzen dazu durchgehend unser Case-Study-Beispiel, das in Java und Spring-Boot komplett ausimplementiert ist.

Diese Case-Study dient den Teilnehmern dazu, um diese Schritte nachzuvollziehen:

  • Wir starten mit dem implementierten Monolithen.
  • Wir migrieren den Monolithen in zwei Einzelschritten hin zu einem Modulithen, der technische (Onion-Architektur) wie auch fachliche Strukturen aufweist.
  • Wir trennen die Einzelteile in verschiedene Services, die miteinander interagieren. Zur Kommunikation nutzen wir Messaging mit Apache Kafka.

In unserer Case Study zeigen wir also die Evolution von Monolith über Modulith hin zu einem verteilten (service-orientierten, event-basierten) System mit allen Zwischenvarianten. Die Architektur wird dabei immer flexibler, adressiert also nötige Qualitätsanforderungen wie z.B. Skalierbarkeit. Gleichzeitig begegnen wir aber bei der Verteilung einigen Herausforderungen (v.a. Verteilung/Integration und Security).

Nach der Schulung haben Sie konkrete Implementierungsbeispiele und ein Blueprint auf Basis des nachfolgenden Technologiestacks an der Hand, die Sie als Vorlage für Ihre Projekten verwenden können: Java 17, Spring Boot 2.7 (Web, REST), PostgreSQL, Apache Kafka, Maven, Junit, AssertJ, ArchUnit, FindSecBugs, Spotbugs, Jackson, Apache POI.

Die Teilnehmer sollten in der Lage sein, Java-Code zu lesen (jedoch nicht zu programmieren), da wir den Code der Case Study für die Übungen zeigen und verwenden werden. Alle gezeigten Architektur-Prinzipien sind dabei nicht Java-spezifisch, sondern lassen sich gut auch auf andere, insbesondere objektorientierte Programmiersprachen wie C#, C++ o.Ä. übertragen.

Wir unterstützen Sie gerne beim Aufsetzen der Umgebung für den Sourcecode der Case Study mit IDE und Maven-Buildsystem, um die verschiedenen Varianten der Case Study durchführen zu können. Vor dem Kurs bieten wir dazu – optional – ein (Remote-)Webinar an.

Die sich immer schneller ändernden Anforderungen an Software erfordern eine hohe Flexibilität der Architekturen, um Wirtschaftlichkeit und Effizienz in der Softwareentwicklung zu gewährleisten. Das ...

Mehr Informationen >>

Zielgruppen

Dieser Kurs richtet sich an Software-Entwickler und -Architekten – die sowohl die grundlegenden Architekturkonzepte als auch konkrete Implementierungen mit Java verstehen wollen.

Voraussetzungen

  • Empfehlenswert sind Erfahrungen in der Software-Entwicklung sowie ein grundlegendes Verständnis von Softwarearchitektur, wie es zum Beispiel im Seminar iSAQB CPSA-Foundation vermittelt wird.
  • Ein Teilnehmer sollte in der Lage sein, Java-Code zu lesen. Wir programmieren in der Schulung nicht, aber Java-Code wird in der Schulung benutzt, um theoretischen Konzepte mit konkreten Implementierungsbeispielen zu hinterlegen.
  • Ein Teilnehmer sollte möglichst einen Laptop mit einer Java-IDE (IDEA IntelliJ, Community Edition reicht, oder Eclipse) mitbringen, um den Code sehen und analysieren zu können. Sollte das nicht möglich sein, dann bitte vorher melden: Wir werden das bei der Gruppenbildung entsprechend berücksichtigen.

Dieser Kurs richtet sich an Software-Entwickler und -Architekten – die sowohl die grundlegenden Architekturkonzepte als auch konkrete Implementierungen mit Java verstehen wollen.

Voraussetzungen

  • Em ...
Mehr Informationen >>

Termine und Orte

Datum Uhrzeit Dauer Preis
Webinar
11.11.2024 - 13.11.2024 09:00 - 17:15 Uhr 8.25 h Mehr Informationen > Jetzt buchen ›

SG-Seminar-Nr.: 6890031

Termine

  • 11.11.2024 - 13.11.2024

    Webinar

Seminare mit Termin haben Plätze verfügbar. Rechnung erfolgt durch Veranstalter. Für MwSt. Angabe auf den Termin klicken.

Jetzt buchen ›
Seminar merken ›

Semigator berücksichtigt

  • Frühbucher-Preise
  • Last-Minute-Preise
  • Gruppenkonditionen

und verfügt über Sonderkonditionen mit einigen Anbietern.

Der Anbieter ist für den Inhalt verantwortlich.

Veranstaltungsinformation

  • Webinar
  • Deutsch
    • Teilnahmebestätigung
  • 8.25 h
  •  
  • Anbieterbewertung (8)

Ihre Vorteile mehr erfahren

  • Anbietervergleich von über 1.500 Seminaranbietern
  • Vollständige Veranstaltungsinformationen
  • Schnellbuchung
  • Persönlicher Service
Datum Uhrzeit Dauer Preis
Webinar
11.11.2024 - 13.11.2024 09:00 - 17:15 Uhr 8.25 h Mehr Informationen > Jetzt buchen ›