Intensivkurs Softwarearchitektur: Paradigmen, Technik und Praxis

Schulung / Webinar

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

TerminOrtTrainerPreis
27. - 28. 3.onlineThomas Bayer1.370,- €**
19. - 20. 5.BonnThomas Bayer1.480,- €*

* Gesamtpreis pro Teilnehmer inkl. Kursmaterial und Tagesverpflegung zzgl. Mehrwertsteuer

** Gesamtpreis pro Teilnehmer inkl. Kursmaterial zzgl. Mehrwertsteuer

Unser Trainer auf YouTube
Dein Trainer
Image

Thomas Bayer
Thomas macht seit mehr als 25 Jahren Beratungen zur Softwarearchitektur. Sein Wissen gibt er auf Workshops, Konferenzen und YouTube weiter.