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:
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.:
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:
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 >>Dieser Kurs richtet sich an Software-Entwickler und -Architekten – die sowohl die grundlegenden Architekturkonzepte als auch konkrete Implementierungen mit Java verstehen wollen.
Voraussetzungen
Dieser Kurs richtet sich an Software-Entwickler und -Architekten – die sowohl die grundlegenden Architekturkonzepte als auch konkrete Implementierungen mit Java verstehen wollen.
Voraussetzungen
Datum | Uhrzeit | Dauer | Preis | ||
---|---|---|---|---|---|
Webinar | |||||
11.11.2024 - 13.11.2024 | 09:00 - 17:15 Uhr | 8.25 h | Mehr Informationen > | Jetzt buchen › |
Datum | Uhrzeit | Dauer | Preis | ||
---|---|---|---|---|---|
Webinar | |||||
11.11.2024 - 13.11.2024 | 09:00 - 17:15 Uhr | 8.25 h | Mehr Informationen > | Jetzt buchen › |