Thomas Bayer
Du bist Softwarearchitekt oder ambitionierter Entwickler? In dieser Schulung kannst du tiefer in die Softwarearchitektur einsteigen und dein Wissen erweitern.
Dich erwarten zwei vollgepackte Tage mit interessanten Ideen und fortgeschrittenen Konzepten. Du lernst Schlüsseltechnologien kennen und erfährst, wie diese in einer Architektur zusammenspielen.
Nach dem Grundlagenteil erwarten dich Fallbeispiele und Übungen: Architekturen werden entwickelt und kritisch diskutiert.
Das Seminar wird in kleinen Gruppen durchgeführt, sodass der Trainer Inhalte und Schwierigkeitsgrad auf die Teilnehmer anpassen kann. Falls dich Themen besonders interessieren, teile uns das gerne über das Anmeldeformular, per Mail oder Telefon mit.
Inhalt
Grundlagen
- Was ist Softwarearchitektur und was macht ein Softwarearchitekt?
- Anforderungen und Randbedingungen: Besonderheiten in Branchen und Unternehmen
- Bestandteile einer Softwarearchitektur
- Diagramme und Notationen
Kommunikation
- Synchrone und/oder asynchrone Kommunikation
- REST, GraphQL oder RPC?
- Kommunikationsmuster
Daten
- Die Rolle der Daten in der Softwarearchitektur
- Formate: JSON, YAML, XML, ...
- Transaktionen und Konsistenz
- SQL- oder NoSQL?
- Document-, Big Table-, Key/Value- und Graphen-Datenbanken
Programmierung
- Funktionale- und objektorientierte-Programmierung
- Code Qualität, Refactoring und Entwurfsmuster
Komponenten & Frameworks
- Module und Abhängigkeiten
- SOLID Prinzipien: Single Responsibility, Open-Closed, Dependency Injection, Dependency Inversion, ...
- Praxisbeispiel: Spring Framework
Code Architektur
- Hexagonal-, Onion- und Clean-Architecture
- Vertical Slice Architecture
Cloud, Container & Co.
- Laufzeitumgebungen: Docker, Kubernetes und/oder Public Cloud?
- Cloud-Dienste
- Wie geht Softwarearchitektur für die Cloud?
Microservices-Architektur
- Vor- und Nachteile eines Monolith
- Der Schnitt, wie zerlegt man einen Monolithen?
- Wie klein sollte ein Microservice sein?
- Wann macht eine Microservices-Architektur Sinn und wann nicht?
Der Modulith
- Was ist ein Modul?
- Vom Monolith zum Modulith
- Beispiel: Spring Modulith
- Architektur erzwingen mit ArchUnit
Service-Orientierung
- Was ist ein Service?
- Lessons learned from SOA
Sicherheit
- Sichere Softwarearchitektur
Fallbeispiele
- Stammdatenverteilung im Großkonzern
- Plattform für ein Startup
- Massenverarbeitung von großen Datenmengen: Connected Car, Logistik oder Einzelhandel
- Synchronisation von offline Daten
Performance und Tuning
- Ursachen für langsame Systeme
- Optimierung, Tuning und Caches
Softwarearchitektur als Prozess
- Agile Zusammenarbeit im Team
- Durchführung von Architektur Reviews
Dauer
2 Tage
Zielgruppe
Erfahrene und angehende Softwarearchitekten, Senior Entwickler
Vorkenntnisse
Mindestens 5 Jahre Erfahrung in der Softwareentwicklung
Ziele
- Kennenlernen von Prinzipien und Architekturmustern
- Lernen wie eine passende Architektur entwickelt wird
- Erfahren, wie verbreitete Fehler bei der Softwarearchitektur vermieden werden
- Vertiefung der technologischen Grundlagen
Kursunterlage
Handouts aller im Kurs präsentierten Folien
Termin | Ort | Trainer | Preis | |
---|---|---|---|---|
27. - 28. 3. | online | Thomas Bayer | 1.370,- €** | |
19. - 20. 5. | Bonn | Thomas Bayer | 1.480,- €* |
* Gesamtpreis pro Teilnehmer inkl. Kursmaterial und Tagesverpflegung zzgl. Mehrwertsteuer
** Gesamtpreis pro Teilnehmer inkl. Kursmaterial zzgl. Mehrwertsteuer