
Handbuch moderner Softwarearchitektur
Beschreibung
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Weitere Details
Weitere Ausgaben
Andere Ausgaben

Personen
Inhalt
- 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
Systemvoraussetzungen
Dateiformat: PDF
Kopierschutz: Wasserzeichen-DRM (Digital Rights Management)
Systemvoraussetzungen:
- Computer (Windows; MacOS X; Linux): Verwenden Sie zum Lesen die kostenlose Software Adobe Reader, Adobe Digital Editions oder einen anderen PDF-Viewer Ihrer Wahl (siehe E-Book Hilfe).
- Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions oder die App PocketBook (siehe E-Book Hilfe).
- E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m.
Das Dateiformat PDF zeigt auf jeder Hardware eine Buchseite stets identisch an. Daher ist eine PDF auch für ein komplexes Layout geeignet, wie es bei Lehr- und Fachbüchern verwendet wird (Bilder, Tabellen, Spalten, Fußnoten). Bei kleinen Displays von E-Readern oder Smartphones sind PDF leider eher nervig, weil zu viel Scrollen notwendig ist. Mit Wasserzeichen-DRM wird hier ein „weicher” Kopierschutz verwendet. Daher ist technisch zwar alles möglich – sogar eine unzulässige Weitergabe. Aber an sichtbaren und unsichtbaren Stellen wird der Käufer des E-Books als Wasserzeichen hinterlegt, sodass im Falle eines Missbrauchs die Spur zurückverfolgt werden kann.
Weitere Informationen finden Sie in unserer E-Book Hilfe.