Get in touch


We use HubSpot CRM to process and manage contact and information requests. Please accept the "Functional Cookies" and reload the page to load the contact form.

Services / Softwareentwicklung & Architektur

Strategische Softwarearchitektur

0,5 - 1 Tage Remote
Inquire now

Herausforderungen

Das Design von verteilten Anwendungen muss sorgfältig durchgeführt werden. Während sich Domain-Driven Design auf das taktische Design einer Anwendung in einem begrenzten Kontext (engl.: bounded context) konzentriert, behandelt die strategische Softwarearchitektur das high-level Design von verteilten, groß angelegten Anwendungen und Enterprise-Architekturen.

Es handelt sich um eine Musterfamilie, die darauf abzielt, begrenzte Kontexte zu verwenden, zu definieren und explizit über die verschiedenen Beziehungsmuster und die erforderliche "Übersetzung" ähnlicher "Konzepte" zwischen den begrenzten Kontexten nachzudenken. Es ist hilfreich, eine gute strategische Architektur zu finden, die mit den Anforderungen und der Domäne (engl.: domain) übereinstimmt und das Gesetz von Conway berücksichtigt. Eine Kontextkarte (engl.: context map) und ein gemeinsamer konzeptioneller Kern helfen, das Gesamtbild der Strategie zu verstehen und zu verbessern. Besonders bei einer Microservice-Architektur ist es wichtig, Services zu definieren und zu verbinden, indem man sich an den Low Coupling / High Cohesion-Prinzipien orientiert und passende begrenzte Kontexte identifiziert.

Ziel

Dieses Training bietet einen High Level-Überblick über Muster und Strategien in der Enterprise-Softwarearchitektur und -entwicklung:

  • Entwicklung verteilter (Microservice-orientierter) Software
  • Entwicklung einer Unternehmensarchitektur
  • Überlegungen dazu, wie man den "Elefanten zerschneidet" und nützliche begrenzte Kontexte für die eigene Softwarelösung findet

Zielgruppe

  • Softwareentwickler:innen
  • Softwarearchitekt:innen
  • QA-Engineers
  • Product Owner:innen

Feedback von Teilnehmer:innen auf die Frage, wer von dem Training profitieren kann:

  • "Jede:r, der oder die in einem Software-Projekt arbeitet."
  • "Tatsächlich sollte jede:r Entwickler:in, Tester:in und Product Owner:in dieses Training besucht haben."
  • "Jede:r, der oder die in der Softwareentwicklung tätig ist und keine Vorkenntnisse in der Softwarearchitektur hat."

Der nächste Termin steht fest

Unser nächstes Domain-driven Design-Training findet am 14. März 2024 statt.

Jetzt Trainingsplatz sichern

Inhalt

1. Einführung

  • Was ist "gute Architektur"?
  • Strategisch vs. taktisch

2. Basics der Softwarearchitektur

  • Für Menschen designen (Kognitive Psychologie)
  • Organisation vs. Teamstruktur (Gesetz von Conway)
  • Qualitätsmerkmale von Software ("ilities")
  • Daraus resultierende gemeinsame Grundsätze für die Architektur

3. Strategisches Domain-driven Design

  • DDD <-> SDDD
  • Begrenzte Kontexte
  • Muster von Beziehungen (engl.: relationship patterns)
  • Flughöhen und Abbildung von Kontext (engl.: context mapping)

4. Arten von Architekturen

  • Architektur von Unternehmensanwendungen
  • Mehrschichtige Architektur / "Pace Layered" Architektur
  • SOA-Style
  • Microservices / in sich geschlossene Systeme
  • Fallstricke und Schlussfolgerung

5. Muster für die Integration

  • Kurze Geschichte der Integrationstechniken
  • Vor- und Nachteile
    • Dateien
    • Gemeinsame DB
    • RPC
    • Ereignisgesteuert (Messaging)

6. Verteilte Systeme und Resilienz-Muster

  • Verteilte Systeme
  • CAP-Theorem
  • Resilienz-Muster

7. Dokumentation der Architektur

  • ADRs
  • Visualisierungen
  • arc42-Vorlage

8. Zusammenfassung

Organisatorische Infos

  • Dauer: 1 Tag
  • Sprache: Deutsch oder Englisch, nach Bedarf
  • Ort: Online oder vor Ort, nach Bedarf
  • Gruppengröße: min. 5 bis max. 10 Personen
  • Nächster Trainingstermin: 14. März 2024
Christian Rathemacher

Christian Rathemacher

CEO / weltenbauer. SE
"Was ist eigentlich Strategische Softwarearchitektur?" Die Antwort haben uns Daniel Pötzinger und Stefan Rotsch in einem exzellenten Workshop in der AOE Academy erklärt. Das Training sei jedem ans Herz gelegt, der mehr zu Domain-Driven Design, dem Gesetz von Conway oder der Kupplung von Software-Modulen wissen will.

Dazu passt...

Für eine Einführung in taktische Muster der Software-Entwicklung/-architektur besuche bitte auch das Training "Taktische Softwarearchitektur: Domain Driven Design" (in keiner bestimmten Reihenfolge)

Zum Training

Daniel Pötzinger

Unser Trainer: Daniel Pötzinger

Daniel Pötzinger verfügt über langjährige Erfahrung in der Entwicklung und Architektur von Enterprise Web Applications. Er hat mit vielen großartigen selbst-organisierten Agile-Teams zusammengearbeitet und weiß, wie Zusammenarbeit und gegenseitige Inspiration – zusammen mit den richtigen Technologien und Patterns – Softwareprojekte zum Erfolg führen und das Lösen von Herausforderungen zum Vergnügen machen können. Außerdem verfügt Daniel über umfassendes Wissen darüber, wie man DevOps und Continuous Delivery Praktiken in IT-Organisationen einführt.

Bei AOE stellt Daniel sein umfangreiches Beratungs-Know-how zur Verfügung und hat mittlerweile mehr als 100 Enterprise-Projekte für Kunden wie Deutsche Telekom, congstar, Rovio und Cisco Webex begleitet. Darüber hinaus betreut er weiterhin die Entwicklung von AOE Produkten wie Searchperience, einer hochentwickelten Enterprise-Such- und Recommendation-Engine und Flamingo, einem skalierbaren Frontend-Framework für Headless Microservice-Architekturen und moderne Commerce-Anwendungen.

Stefan Rotsch

Unser Trainer: Stefan Rotsch

Stefan Rotsch verfügt über langjährige Expertise in der Entwicklung und Architektur komplexer Webapplikationen. Als Solution Architect bei AOE GmbH analysiert und entwirft er Softwareprojekte im Telekommunikationsbereich und begleitet Kund:innen und Entwicklungsteams von der Konzeption bis zum erfolgreichen Go-Live. Er teilt seine Erfahrungen im Bereich der agilen Softwareentwicklung mit großem Erfolg in diversen Vorträgen auf Konferenzen und Bar Camps.