
Handbuch moderner Softwarearchitektur
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Persons
Content
- Intro
- Inhalt
- Vorwort
- Vorwort zur zweiten Auflage
- Vorwort zur ersten Auflage
- Konventionen in diesem Buch
- Codebeispiele verwenden
- Danksagungen
- Kapitel 1: Einleitung
- Softwarearchitektur definieren
- Gesetze der Softwarearchitektur
- Erwartungen an Architekten
- Architekturentscheidungen treffen
- Kontinuierliche Analyse der Architektur
- Bei aktuellen Trends auf dem Laufenden bleiben
- Sicherstellen, dass Entscheidungen eingehalten werden
- Vielfältige Technologien verstehen
- Die Fachdomäne kennen
- Fähigkeiten im zwischenmenschlichen Umgang
- Politik verstehen und sich in dieser Sphäre bewegen können
- Wegweiser für das Buch
- Teil I: Grundlagen
- Kapitel 2: Architektonisches Denken
- Architektur und Design im Vergleich
- Strategische und taktische Entscheidungen
- Aufwand
- Die Signifikanz von Kompromissen
- Technische Breite
- Die 20-Minuten-Regel
- Ein persönliches Radar entwickeln
- Vor- und Nachteile analysieren
- Geschäftliche Faktoren verstehen
- Die Balance zwischen Architektur und tatsächlichem Programmieren
- Architektonisches Denken ist noch mehr
- Kapitel 3: Modularität
- Modularität und Granularität
- Definition von Modularität
- Modularität messen
- Kohäsion
- Kopplung
- Zentrale Metriken
- Entfernung von der Hauptsequenz
- Konnaszenz
- Von Modulen zu Komponenten
- Kapitel 4: Definition architektonischer Eigenschaften
- Architektonische Eigenschaften und Systemdesign
- Architektonische Eigenschaften, eine (unvollständige) Liste
- Betriebsrelevante architektonische Eigenschaften
- Strukturelle architektonische Eigenschaften
- Cloud-Eigenschaften
- Bereichsübergreifende architektonische Eigenschaften
- Kompromisse und am wenigsten schlechte Architektur
- Kapitel 5: Architektonische Eigenschaften ermitteln
- Architektonische Eigenschaften aus domänenspezifischen Anforderungen ableiten
- Zusammengesetzte architektonische Eigenschaften
- Architektonische Eigenschaften ableiten
- Mit Katas arbeiten
- Kata: Silicon Sandwiches
- Explizite Eigenschaften
- Implizite Eigenschaften
- Architektonische Eigenschaften begrenzen und priorisieren
- Kapitel 6: Messung und Governance von architektonischen Eigenschaften
- Architektonische Eigenschaften messen
- Betriebsrelevante Metriken
- Strukturelle Metriken
- Prozessbasierte Metriken
- Governance und Fitnessfunktionen
- Governance für architektonische Eigenschaften
- Fitnessfunktionen
- Kapitel 7: Anwendungsbereich architektonischer Eigenschaften
- Architektonische Quanten und Granularität
- Synchrone Kommunikation
- Der Einfluss des Scopings
- Scoping und Architekturstile
- Kata: Going Green
- Scoping und die Cloud
- Kapitel 8: Komponentenbasiertes Denken
- Logische Komponenten definieren
- Logische und physische Architektur
- Eine logische Architektur erstellen
- Die zentralen Komponenten identifizieren
- Den Komponenten User Stories zuweisen
- Rollen und Zuständigkeiten analysieren
- Architektonische Eigenschaften analysieren
- Komponenten restrukturieren
- Kopplung von Komponenten
- Statische Kopplung
- Temporale Kopplung
- Das Gesetz von Demeter
- Fallstudie: Going, Going, Gone: Komponenten ermitteln
- Teil II: Architekturstile
- Kapitel 9: Grundlagen
- Stile versus Patterns
- Grundmuster
- Big Ball of Mud (der »große Matschklumpen«)
- Eingliedrige Architektur
- Client/Server
- Architektonisches Unterteilen
- Kata: Silicon Sandwiches: Unterteilung
- Monolithische und verteilte Architekturen
- Irrtum Nr. 1: Das Netzwerk ist verlässlich
- Irrtum Nr. 2: Die Latenz ist gleich null
- Irrtum Nr. 3: Die Bandbreite ist unendlich
- Irrtum Nr. 4: Das Netzwerk ist sicher
- Irrtum Nr. 5: Die Topologie ändert sich nie
- Irrtum Nr. 6: Es gibt nur einen Administrator
- Irrtum Nr. 7: Die Transportkosten sind gleich null
- Irrtum Nr. 8: Das Netzwerk ist homogen
- Die anderen Irrtümer
- Team-Topologien und Architektur
- Zu den spezifischen Stilen
- Kapitel 10: Schichtbasierter Architekturstil
- Topologie
- Stil-Spezifika
- Voneinander isolierte Schichten
- Schichten hinzufügen
- Datentopologien
- Überlegungen zur Cloud
- Häufige Risiken
- Governance
- Überlegungen zur Team-Topologie
- Stil-Eigenschaften
- Wann man ihn einsetzt
- Wann man ihn nicht einsetzt
- Beispiele und Anwendungsfälle
- Kapitel 11: Der modulare Monolith
- Topologie
- Stil-Spezifika
- Monolithische Struktur
- Modulare Struktur
- Modulkommunikation
- Datentopologien
- Cloud-Überlegungen
- Häufige Risiken
- Governance
- Überlegungen zur Team-Topologie
- Stil-Eigenschaften
- Wann man ihn einsetzt
- Wann man ihn nicht einsetzt
- Beispiele und Anwendungsfälle
- Kapitel 12: Pipeline-Architekturstil
- Topologie
- Stil-Spezifika
- Filter
- Pipes
- Datentopologien
- Cloud-Überlegungen
- Häufige Risiken
- Governance
- Überlegungen zur Team-Topologie
- Stil-Eigenschaften
- Wann man ihn einsetzt
- Wann man ihn nicht einsetzt
- Beispiele und Anwendungsfälle
- Kapitel 13: Microkernel-Architekturstil
- Topologie
- Stil-Spezifika
- Das Kernsystem
- Plug-in-Komponenten
- Das Spektrum der »Microkernabilität«
- Registry
- Kontrakte
- Datentopologien
- Cloud-Überlegungen
- Häufige Risiken
- Volatiler Kern
- Plug-in-Abhängigkeiten
- Governance
- Überlegungen zur Team-Topologie
- Bewertung der architektonischen Eigenschaften
- Beispiele und Anwendungsfälle
- Kapitel 14: Servicebasierter Architekturstil
- Topologie
- Stil-Spezifika
- Servicedesign und Granularität
- Optionen bei der Benutzeroberfläche
- Optionen für API-Gateways
- Datentopologien
- Cloud-Überlegungen
- Häufige Risiken
- Governance
- Überlegungen zur Team-Topologie
- Stil-Eigenschaften
- Beispiele und Anwendungsfälle
- Kapitel 15: Eventbasierter Architekturstil
- Topologie
- Stil-Spezifika
- Events versus Messages
- Abgeleitete Events
- Erweiterbare Events auslösen
- Asynchrone Fähigkeiten
- Broadcast-Fähigkeiten
- Event Payloads
- Das Mückenschwarm-Antipattern
- Fehlerbehandlung
- Datenverlust verhindern
- Request-Reply
- Mediator-Event-basierte-Architektur
- Datentopologien
- Monolithische Datenbanktopologie
- Domänendatenbanktopologie
- Dedizierte Datentopologie
- Cloud-Überlegungen
- Häufige Risiken
- Governance
- Überlegungen zur Team-Topologie
- Stil-Eigenschaften
- Request- oder eventbasiert?
- Beispiele und Anwendungsfälle
- Kapitel 16: »Space-based«-Architekturstil
- Topologie
- Stil-Spezifika
- Verarbeitungseinheit
- Virtualisierte Middleware
- Messaging Grid
- Data Grid
- Verarbeitungs-Grid
- Deployment-Manager
- Data Pumps
- Data Writers
- Data Readers
- Datentopologien
- Cloud-Überlegungen
- Häufige Risiken
- Häufiges Lesen von der Datenbank
- Datensynchronisation und Datenkonsistenz
- Hohe Datenvolumen
- Datenkollisionen
- Governance
- Überlegungen zur Team-Topologie
- Stil-Eigenschaften
- Beispiele und Anwendungsfälle
- System zum Verkauf von Veranstaltungstickets
- Onlineauktionssysteme
- Kapitel 17: Orchestrierter serviceorientierter Architekturstil (SOA)
- Topologie
- Stil-Spezifika
- Taxonomie
- Wiederverwendbarkeit und Kopplung
- Datentopologien
- Cloud-Überlegungen
- Häufige Risiken
- Governance
- Überlegungen zur Team-Topologie
- Stil-Eigenschaften
- Beispiele und Anwendungsfälle
- Kapitel 18: Microservices-Architekturstil
- Topologie
- Stil-Spezifika
- Bounded Context
- Granularität
- Datenisolation
- API-Schicht
- Betriebliche Wiederverwendung (Operational Reuse)
- Frontends
- Kommunikation
- Choreografie und Orchestrierung
- Transaktionen und Sagas
- Datentopologien
- Cloud-Überlegungen
- Häufige Risiken
- Governance
- Überlegungen zur Team-Topologie
- Stil-Eigenschaften
- Beispiele und Anwendungsfälle
- Kapitel 19: Den richtigen Architekturstil auswählen
- Architekturstile als »Modeerscheinungen«
- Entscheidungskriterien
- Monolith-Fallstudie: Silicon Sandwiches
- Modularer Monolith
- Microkernel
- Verteilte Architektur, Fallstudie: Going, Going, Gone
- Kapitel 20: Architektur-Patterns
- Reuse
- Domänen- und operationale Kopplung trennen
- Kommunikation
- Orchestrierung versus Choreografie
- CQRS
- Infrastruktur
- Broker-Domain-Pattern
- Teil III: Techniken und Soft Skills
- Kapitel 21: Architekturentscheidungen
- Antipatterns für Architekturentscheidungen
- Antipattern: Covering Your Assets
- Antipattern: Groundhog Day
- Antipattern: Email-Driven Architecture
- Architektonisch wichtig
- Architecture Decision Records (ADRs)
- Grundstruktur
- Beispiel
- ADRs speichern
- ADRs als Dokumentation
- ADRs für Standards verwenden
- ADRs für bestehende Systeme einsetzen
- Generative KI und LLMs bei architektonischen Entscheidungen einsetzen
- Kapitel 22: Architektonische Risiken analysieren
- Matrix zur Risikobewertung
- Risikobewertung
- Risk Storming
- Phase 1: Identifizierung
- Phase 2: Konsens
- Phase 3: Risikoverringerung
- Risikoanalyse von User Stories
- Anwendungsfall für das Risk Storming
- Verfügbarkeit
- Elastizität
- Sicherheit
- Zusammenfassung
- Kapitel 23: Architektur in Diagrammen visualisieren
- Diagramme
- Werkzeuge
- Standards für Diagramme: UML, C4 und ArchiMate
- Richtlinien für die Erstellung von Diagrammen
- Zusammenfassung
- Kapitel 24: Effektive Teams schaffen
- Zusammenarbeit
- Der richtige Rahmen
- Architektenpersönlichkeiten
- Der Kontrollfreak
- Der Sofa-Architekt
- Der effektive Architekt
- Wie viel Kontrolle?
- Warnsignale des Teams
- Prozessverlust
- Pluralistische Ignoranz
- Checklisten einsetzen
- Entwickler-Checkliste für die Codefertigstellung
- Checkliste für Unit- und funktionales Testing
- Software-Release-Checkliste
- Orientierung bieten
- Zusammenfassung
- Kapitel 25: Verhandlungsgeschick und Führungsqualitäten
- Verhandlung und Moderation
- Mit geschäftlichen Entscheidungsträgern verhandeln
- Mit anderen Architekten verhandeln
- Mit Entwicklern verhandeln
- Der Softwarearchitekt als Führungskraft
- Die 4 Ks der Architektur
- Seien Sie pragmatisch, aber visionär
- Teams mit gutem Beispiel vorangehen
- Abstimmung mit dem Entwicklungsteam
- Zusammenfassung
- Kapitel 26: Architektonische Überschneidungen
- Architektur und Implementierung
- Operationale Aspekte
- Strukturelle Integrität
- Architektonische Beschränkungen
- Architektur und Infrastruktur
- Architektur und Datentopologien
- Datenbanktopologie
- Architektonische Eigenschaften
- Datenstrukturen
- Read/Write-Priorität
- Architektur und Entwicklungspraktiken
- Architekturen und Team-Topologien
- Architektur und Systemintegration
- Architektur und Unternehmen
- Architektur und die geschäftliche Umgebung
- Architektur und generative KI
- Generative KI in die Architektur einbinden
- Generative KI als Assistent des Architekten
- Zusammenfassung
- Kapitel 27: Die Gesetze der Softwarearchitektur - überarbeitet
- Erstes Gesetz: Alles in der Softwarearchitektur ist ein Kompromiss
- Shared Library versus Shared Service
- Synchrones versus asynchrones Messaging
- Erstes Korollar: fehlende Kompromisse
- Zweites Korollar: Es reicht nicht, es einmal zu machen
- Zweites Gesetz: Warum ist wichtiger als Wie
- Out-of-Context-Antipattern
- Das Spektrum zwischen Extremen
- Abschließende Worte der Weisheit
- Kapitel 1: Einleitung
- Kapitel 2: Architektonisches Denken
- Kapitel 3: Modularität
- Kapitel 4: Definition architektonischer Eigenschaften
- Kapitel 5: Architektonische Eigenschaften ermitteln
- Kapitel 6: Messung und Governance von architektonischen Eigenschaften
- Kapitel 7: Anwendungsbereich architektonischer Eigenschaften
- Kapitel 8: Komponentenbasiertes Denken
- Kapitel 9: Architekturstile - Grundlagen
- Kapitel 10: Schichtbasierter Architekturstil
- Kapitel 11: Der modulare Monolith
- Kapitel 12: Pipeline-Architekturstil
- Kapitel 13: Microkernel-Architekturstil
- Kapitel 14: Servicebasierter Architekturstil
- Kapitel 15: Eventbasierter Architekturstil
- Kapitel 16: »Space-based«-Architekturstil
- Kapitel 17: Orchestrierter serviceorientierter Architekturstil (SOA)
- Kapitel 18: Microservices-Architekturstil
- Kapitel 19: Den richtigen Architekturstil auswählen
- Kapitel 20: Architektur-Patterns
- Kapitel 21: Architekturentscheidungen
- Kapitel 22: Architektonische Risiken analysieren
- Kapitel 23: Architektur in Diagrammen visualisieren
- Kapitel 24: Effektive Teams schaffen
- Kapitel 25: Verhandlungsgeschick und Führungsqualitäten
- Kapitel 26: Architektonische Überschneidungen
- Kapitel 27: Die Gesetze der Softwarearchitektur - überarbeitet
- Anhang: Fragen zur Selbstbeurteilung
- Kapitel 1: Einleitung
- Kapitel 2: Architektonisches Denken
- Kapitel 3: Modularität
- Kapitel 4: Definition architektonischer Eigenschaften
- Kapitel 5: Architektonische Eigenschaften ermitteln
- Kapitel 6: Messung und Governance von architektonischen Eigenschaften
- Kapitel 7: Anwendungsbereich architektonischer Eigenschaften
- Kapitel 8: Komponentenbasiertes Denken
- Kapitel 9: Architekturstile - Grundlagen
- Kapitel 10: Schichtbasierter Architekturstil
- Kapitel 11: Der modulare Monolith
- Kapitel 12: Pipeline-Architekturstil
- Kapitel 13: Microkernel-Architekturstil
- Kapitel 14: Servicebasierter Architekturstil
- Kapitel 15: Eventbasierter Architekturstil
- Kapitel 16: »Space-based«-Architekturstil
- Kapitel 17: Orchestrierter serviceorientierter Architekturstil (SOA)
- Kapitel 18: Microservices-Architekturstil
- Kapitel 19: Den richtigen Architekturstil auswählen
- Kapitel 20: Architektur-Patterns
- Kapitel 21: Architekturentscheidungen
- Kapitel 22: Architektonische Risiken analysieren
- Kapitel 23: Architektur in Diagrammen visualisieren
- Kapitel 24: Effektive Teams schaffen
- Kapitel 25: Verhandlungsgeschick und Führungsqualitäten
- Kapitel 26: Architektonische Überschneidungen
- Kapitel 27: Die Gesetze der Softwarearchitektur - überarbeitet
- Index
- Über den Autor
- Kolophon
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.