Handbuch moderner Softwarearchitektur Architekturstile, Patterns und Best Practices
Long description: Softwarearchitektur zeitgemäß und pragmatisch geplant Architektonische Muster: Das technische Fundament für viele architektonische Entscheidungen Komponenten: Identifizierung, Kopplung, Kohäsion, Partitionierung und Granularität Architekturstile wie Microkernel, SOA, Mic...
Autor principal: | |
---|---|
Otros Autores: | |
Formato: | Libro electrónico |
Idioma: | Alemán |
Publicado: |
Heidelberg :
o'Reilly
2020.
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009630806306719 |
Tabla de Contenidos:
- Intro
- Inhalt
- Vorwort: Axiome infrage stellen
- Kapitel 1: Einleitung
- Softwarearchitektur definieren
- Erwartungen an Architekten
- Architekturentscheidungen treffen
- Kontinuierliche Analyse der Architektur
- Bei aktuellen Trends auf dem Laufenden bleiben
- Sicherstellen, dass Entscheidungen eingehalten werden
- Vielfältige Kenntnisse und Erfahrungen
- Wissen in der Fachdomäne des Problems
- Fähigkeiten im zwischenmenschlichen Umgang
- Politik verstehen und sich in dieser Sqhäre bewegen können
- Überschneidungen von Architektur und ...
- Engineering-Praktiken
- Technischer Betrieb/DevOps
- Prozess
- Daten
- Gesetze der Softwarearchitektur
- Teil I: Grundlagen
- Kapitel 2: Architektonisches Denken
- Architektur und Design im Vergleich
- Technische Breite
- Vor- und Nachteile analysieren
- Geschäftliche Faktoren verstehen
- Die Balance zwischen Architektur und tatsächlichem Programmieren
- Kapitel 3: Modularität
- Definition
- Modularität messen
- Kohäsion
- Kopplung
- Abstraktheit, Instabilität und Entfernung von der Hauptsequenz
- Entfernung von der Hauptsequenz
- Konnaszenz
- Kopplungs- und Konnaszenzmetriken vereinheitlichen
- Von Modulen zu Komponenten
- Kapitel 4: Definition architektonischer Eigenschaften
- Architektonische Eigenschaften, eine (unvollständige) Liste
- Betriebsrelevante architektonische Eigenschaften
- Strukturelle architektonische Eigenschaften
- Bereichsübergreifende architektonische Eigenschaften
- Kompromisse und am wenigsten schlechte Architektur
- Kapitel 5: Architektonische Eigenschaften ermitteln
- Architektonische Eigenschaften aus domänenspezifischen Anforderungen ableiten
- Architektonische Eigenschaften aus funktionalen Anforderungen ableiten
- Fallstudie: Silicon Sandwiches
- Explizite Eigenschaften
- Implizite Eigenschaften.
- 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
- Kopplung und Konnaszenz
- Architektonische Quanten und Granularität
- Fallstudie: Going, Going, Gone (»Zum Ersten, zum Zweiten und zum Dritten«)
- Kapitel 8: Komponentenbasiertes Denken
- Anwendungsbereiche für Komponenten
- Die Rolle des Architekten
- Architektonische Partitionierung
- Fallstudie: Partitionierung für Silicon Sandwiches
- Die Rolle des Entwicklers
- Arbeitsablauf zur Ermittlung der Komponenten
- Anfängliche Komponenten ermitteln
- Anforderungen auf Komponenten abbilden
- Rollen und Verantwortlichkeiten analysieren
- Architektonische Eigenschaften analysieren
- Komponenten restrukturieren
- Komponentengranularität
- Komponentendesign
- Sinnvolle Komponentenaufteilung ermitteln
- Fallstudie: Going, Going, Gone: Komponenten ermitteln
- Rückblick auf das architektonische Quantum: Die Wahl zwischen monolithischen und verteilten Architekturen
- Teil II: Architekturstile
- Kapitel 9: Architekturstile
- Grundmuster
- Big Ball of Mud (Der »große Matschklumpen«)
- Eingliedrige Architektur
- Client/Server
- 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
- Weitere Überlegungen zum verteilten Rechnen.
- Kapitel 10: Der schichtbasierte Architekturstil
- Topologie
- Voneinander isolierte Schichten
- Schichten hinzufügen
- Zusätzliche Überlegungen
- Gründe für den schichtbasierten Architekturstil
- Bewertung der architektonischen Eigenschaften
- Kapitel 11: Pipeline-Architekturstil
- Topologie
- Pipes
- Filter
- Beispiel
- Bewertung der architektonischen Eigenschaften
- Kapitel 12: Microkernel-Architekturstil
- Topologie
- Kernsystem
- Plug-in-Komponenten
- Registry
- Kontrakte
- Beispiele und Anwendungsfälle
- Bewertung der architektonischen Eigenschaften
- Kapitel 13: Servicebasierter Architekturstil
- Topologie
- Topologische Varianten
- Servicedesign und Granularität
- Datenbank-Partitionierung
- Beispielarchitektur
- Bewertung der architektonischen Eigenschaften
- Wann man diesen Architekturstil verwenden sollte
- Kapitel 14: Eventbasierter Architekturstil
- Topologie
- Broker-Topologie
- Mediator-Topologie
- Asynchrone Fähigkeiten
- Fehlerbehandlung
- Datenverlust verhindern
- Broadcast-Fähigkeiten
- Request-Reply
- Request- oder eventbasiert?
- Hybride eventbasierte Architekturen
- Bewertung der architektonischen Eigenschaften
- Kapitel 15: »Space-based«-Architekturstil
- Allgemeine Topologie
- Verarbeitungseinheit
- Virtualisierte Middleware
- Data Pumps
- Data Writer
- Data Reader
- Datenkollisionen
- Cloudbasierte und On-Premises-Implementierungen im Vergleich
- Repliziertes Caching im Vergleich mit verteiltem Caching
- Überlegungen zu Near-Cache
- Implementierungsbeispiele
- System zum Verkauf von Veranstaltungstickets
- Online-Auktionssysteme
- Bewertung der architektonischen Eigenschaften
- Kapitel 16: Orchestrierter serviceorientierter Architekturstil (SOA)
- Geschichte und Philosophie
- Topologie
- Taxonomie
- Dienste für die Geschäftslogik
- Unternehmensdienste.
- Applikationsdienste
- Infrastrukturdienste
- Orchestrierungs-Engine
- Nachrichtenfluss
- Wiederverwendbarkeit und Kopplung
- Bewertung der architektonische Eigenschaften
- Kapitel 17: Microservices-Architekturstil
- Geschichte
- Topologie
- Verteilt
- Bounded Context
- Granularität
- Datenisolation
- API-Schicht
- Betriebliche Wiederverwendung (Operational Reuse)
- Frontends
- Kommunikation
- Choreografie und Orchestrierung
- Transaktionen und Sagas
- Bewertung der architektonischen Eigenschaften
- Weiterführende Referenzen
- Kapitel 18: Den richtigen Architekturstil auswählen
- Architekturstile als »Modeerscheinungen«
- Entscheidungskriterien
- Monolith-Fallstudie: Silicon Sandwiches
- Modularer Monolith
- Microkernel
- Verteilte Architektur, Fallstudie: Going, Going, Gone
- Teil III: Techniken und Soft Skills
- Kapitel 19: Architekturentscheidungen
- Antipatterns für Architekturentscheidungen
- Antipattern: Covering your Assets
- Antipattern: Groundhog Day
- Antipattern: Email-Driven Architecture
- Architektonisch wichtig
- Architecture Decision Records (ADR)
- Grundstruktur
- ADRs speichern
- ADRs als Dokumentation
- ADRs für Standards verwenden
- Beispiel
- Kapitel 20: Architektonische Risiken analysieren
- Matrix zur Risikobewertung
- Risikobewertung
- Risk Storming
- Identifizierung
- Konsens
- Risikoanalyse von Agile Stories
- Risk-Storming-Beispiele
- Verfügbarkeit
- Elastizität
- Sicherheit
- Kapitel 21: Architektur in Diagrammen und Präsentationen visualisieren
- Diagramme
- Werkzeuge
- Standards für Diagramme: UML, C4 und ArchiMate
- Richtlinien für die Erstellung von Diagrammen
- Präsentieren
- Zeit manipulieren
- Inkrementeller Aufbau
- Infodecks im Vergleich mit Präsentationen
- Folien sind nur die Hälfte des Vortrags
- Unsichtbarkeit
- Kapitel 22: Effektive Teams schaffen.
- Teams den richtigen Rahmen vorgeben
- Architekten-Persönlichkeiten
- Der Kontrollfreak
- Der Sofa-Architekt
- Der effektive Architekt
- Wie viel Kontrolle?
- Warnsignale des Teams
- Checklisten einsetzen
- Entwickler-Checkliste für die Codefertigstellung
- Checkliste für Unit- und funktionales Testing
- Software-Release-Checkliste
- Orientierung bieten
- Zusammenfassung
- Kapitel 23: Verhandlungsgeschick und Führungsqualitäten
- Verhandlung und Moderation
- Mit geschäftlichen Entscheidungsträgern verhandeln
- Mit anderen Architekten verhandeln
- Mit Enwicklern verhandeln
- Der Softwarearchitekt als Führungskraft
- Die vier Ks der Architektur
- Seien Sie pragmatisch, aber visionär
- Teams mit gutem Beispiel vorangehen
- Abstimmung mit dem Entwicklungsteam
- Zusammenfassung
- Kapitel 24: Eine berufliche Laufbahn entwickeln
- Die 20-Minuten-Regel
- Ein persönliches Radar entwickeln
- Das ThoughtWorks Technology Radar
- Open-Source-Visualisierungen
- Soziale Medien verwenden
- Rat zum Abschied
- Anhang A: Fragen zur Selbstbeurteilung
- Index.