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...

Descripción completa

Detalles Bibliográficos
Autor principal: Richards, Mark (-)
Otros Autores: Ford, Neal
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.