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.
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 asynchrone Kommunikation
- REST, OpenAPI, GraphQL und RPC
- Messaging
- Streaming am Beispiel von Apache Kafka
- Kommunikationsmuster
Daten
- SQL- oder NoSQL?
- Document-, Big Table-, Key/Value- und Graphen-Datenbanken
- Transaktionen und Konsistenz
- Formate: JSON, YAML, ...
Programmierung
- Funktionale- und objektorientierte-Programmierung
- Code Qualität, Refactoring und Entwurfsmuster
Komponenten & Frameworks
- Abhängigkeiten
- SOLID Prinzipien: Single Responsibility, Open-Closed, Dependency Injection, Dependeny Inversion, ...
- Praxisbeispiel: Spring Framework
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?
- Was kommt nach den Microservices?
Service-Orientierung
- Was ist ein Service?
- Lessons learned from SOA
Sicherheit
- Wie berücksichtigt man Sicherheit in der Softwarearchitektur?
Fallbeispiele
- Stammdatenverteilung im Großkonzern
- Plattform für ein Startup
- Massenverarbeitung von großen Datenmengen: Connected Car, Logistik oder Einzelhandel
- ...
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 | |
---|---|---|---|---|
16. - 17. 11. | online | Thomas Bayer | 1.280,- €** | |
18. - 19. 3. | online | Thomas Bayer | 1.280,- €** |
* Gesamtpreis pro Teilnehmer inkl. Kursmaterial und Tagesverpflegung zzgl. Mehrwertsteuer
** Gesamtpreis pro Teilnehmer inkl. Kursmaterial zzgl. Mehrwertsteuer