Nicht aus der Schweiz? Besuchen Sie lehmanns.de
Handbuch moderner Softwarearchitektur -  MARK RICHARDS,  Neal Ford

Handbuch moderner Softwarearchitektur (eBook)

Architekturstile, Patterns und Best Practices
eBook Download: PDF
2020 | 1. Auflage
432 Seiten
O'Reilly Verlag
978-3-96010-429-2 (ISBN)
Systemvoraussetzungen
42,90 inkl. MwSt
(CHF 41,90)
Der eBook-Verkauf erfolgt durch die Lehmanns Media GmbH (Berlin) zum Preis in Euro inkl. MwSt.
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

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, Microservices u.v.m. und ihre architektonischen Eigenschaften
  • Softwarearchitektur als Engineering-Disziplin: mit wiederhol- und messbaren Ergebnissen zu stabilen Architekturen

Mark Richards und Neal Ford - Praktiker mit Erfahrung aus erster Hand, die seit Jahren das Thema Softwarearchitektur unterrichten -, betrachten Softwarearchitektur vor dem Hintergrund der Entwicklungen, Innovationen und Herausforderungen des letzten Jahrzehnts. Sie konzentrieren sich auf Architekturprinzipien, die für alle Technologie-Stacks gelten.
Angehende und erfahrene Architekten finden in diesem Buch umfassende Informationen zu architektonischen Merkmalen und Architekturstilen, zur Bestimmung von Komponenten, zur Diagrammerstellung und Präsentation, zu evolutionärer Architektur und vielen weiteren Themen.
Die Autoren verstehen Softwarearchitektur als Engineering-Disziplin: mit wiederhol- und messbaren Ergebnissen und konkreten Kennzahlen für stabile Softwarearchitekturen.



Mark Richards ist ein erfahrener Softwarearchitekt, der sich mit Architektur, Design und Implementierung von Microservices-Architekturen, Event-getriebenen Architekturen und anderen verteilten Systemen beschäftigt. Neal Ford ist Direktor, Softwarearchitekt und Meme-Ritter bei ThoughtWorks, einem weltweit tätigen IT-Beratungsunternehmen mit dem Fokus auf Ende-zu-Ende-Sofwareentwicklung und -bereitstellung. Neal war außerdem Chief Technology Officer bei der DSW Group.

Mark Richards ist ein erfahrener Softwarearchitekt, der sich mit Architektur, Design und Implementierung von Microservices-Architekturen, Event-getriebenen Architekturen und anderen verteilten Systemen beschäftigt. Neal Ford ist Direktor, Softwarearchitekt und Meme-Ritter bei ThoughtWorks, einem weltweit tätigen IT-Beratungsunternehmen mit dem Fokus auf Ende-zu-Ende-Sofwareentwicklung und -bereitstellung. Neal war außerdem Chief Technology Officer bei der DSW Group.

Inhalt 6
Vorwort: Axiome infrage stellen 14
Kapitel 1: Einleitung 20
Softwarearchitektur definieren 22
Erwartungen an Architekten 26
Architekturentscheidungen treffen 27
Kontinuierliche Analyse der Architektur 28
Bei aktuellen Trends auf dem Laufenden bleiben 28
Sicherstellen, dass Entscheidungen eingehalten werden 29
Vielfältige Kenntnisse und Erfahrungen 29
Wissen in der Fachdomäne des Problems 30
Fähigkeiten im zwischenmenschlichen Umgang 30
Politik verstehen und sich in dieser Sqhäre bewegen können 31
Überschneidungen von Architektur und … 32
Engineering-Praktiken 33
Technischer Betrieb/DevOps 36
Prozess 37
Daten 38
Gesetze der Softwarearchitektur 38
Teil I: Grundlagen 40
Kapitel 2: Architektonisches Denken 42
Architektur und Design im Vergleich 43
Technische Breite 45
Vor- und Nachteile analysieren 49
Geschäftliche Faktoren verstehen 52
Die Balance zwischen Architektur und tatsächlichem Programmieren 53
Kapitel 3: Modularität 56
Definition 57
Modularität messen 59
Kohäsion 59
Kopplung 63
Abstraktheit, Instabilität und Entfernung von der Hauptsequenz 64
Entfernung von der Hauptsequenz 65
Konnaszenz 67
Kopplungs- und Konnaszenzmetriken vereinheitlichen 71
Von Modulen zu Komponenten 73
Kapitel 4: Definition architektonischer Eigenschaften 74
Architektonische Eigenschaften, eine (unvollständige) Liste 77
Betriebsrelevante architektonische Eigenschaften 77
Strukturelle architektonische Eigenschaften 78
Bereichsübergreifende architektonische Eigenschaften 79
Kompromisse und am wenigsten schlechte Architektur 83
Kapitel 5: Architektonische Eigenschaften ermitteln 86
Architektonische Eigenschaften aus domänenspezifischen Anforderungen ableiten 86
Architektonische Eigenschaften aus funktionalen Anforderungen ableiten 89
Fallstudie: Silicon Sandwiches 90
Explizite Eigenschaften 91
Implizite Eigenschaften 95
Kapitel 6: Messung und Governance von architektonischen Eigenschaften 98
Architektonische Eigenschaften messen 98
Betriebsrelevante Metriken 99
Strukturelle Metriken 100
Prozessbasierte Metriken 102
Governance und Fitnessfunktionen 103
Governance für architektonische Eigenschaften 103
Fitnessfunktionen 104
Kapitel 7: Anwendungsbereich architektonischer Eigenschaften 112
Kopplung und Konnaszenz 113
Architektonische Quanten und Granularität 113
Fallstudie: Going, Going, Gone (»Zum Ersten, zum Zweiten und zum Dritten«) 116
Kapitel 8: Komponentenbasiertes Denken 122
Anwendungsbereiche für Komponenten 122
Die Rolle des Architekten 124
Architektonische Partitionierung 124
Fallstudie: Partitionierung für Silicon Sandwiches 128
Die Rolle des Entwicklers 131
Arbeitsablauf zur Ermittlung der Komponenten 131
Anfängliche Komponenten ermitteln 131
Anforderungen auf Komponenten abbilden 132
Rollen und Verantwortlichkeiten analysieren 132
Architektonische Eigenschaften analysieren 132
Komponenten restrukturieren 133
Komponentengranularität 133
Komponentendesign 133
Sinnvolle Komponentenaufteilung ermitteln 133
Fallstudie: Going, Going, Gone: Komponenten ermitteln 136
Rückblick auf das architektonische Quantum: Die Wahl zwischen monolithischen und verteilten Architekturen 139
Teil II: Architekturstile 142
Kapitel 9: Architekturstile 144
Grundmuster 144
Big Ball of Mud (Der »große Matschklumpen«) 145
Eingliedrige Architektur 146
Client/Server 146
Monolithische und verteilte Architekturen 148
Irrtum Nr. 1: Das Netzwerk ist verlässlich 149
Irrtum Nr. 2: Die Latenz ist gleich null 149
Irrtum Nr. 3: Die Bandbreite ist unendlich 150
Irrtum Nr. 4: Das Netzwerk ist sicher 152
Irrtum Nr. 5: Die Topologie ändert sich nie 152
Irrtum Nr. 6: Es gibt nur einen Administrator 153
Irrtum Nr. 7: Die Transportkosten sind gleich null 154
Irrtum Nr. 8: Das Netzwerk ist homogen 154
Weitere Überlegungen zum verteilten Rechnen 155
Kapitel 10: Der schichtbasierte Architekturstil 158
Topologie 158
Voneinander isolierte Schichten 160
Schichten hinzufügen 162
Zusätzliche Überlegungen 163
Gründe für den schichtbasierten Architekturstil 164
Bewertung der architektonischen Eigenschaften 165
Kapitel 11: Pipeline-Architekturstil 168
Topologie 168
Pipes 169
Filter 169
Beispiel 170
Bewertung der architektonischen Eigenschaften 171
Kapitel 12: Microkernel-Architekturstil 174
Topologie 174
Kernsystem 175
Plug-in-Komponenten 178
Registry 181
Kontrakte 182
Beispiele und Anwendungsfälle 183
Bewertung der architektonischen Eigenschaften 184
Kapitel 13: Servicebasierter Architekturstil 186
Topologie 186
Topologische Varianten 187
Servicedesign und Granularität 190
Datenbank-Partitionierung 192
Beispielarchitektur 195
Bewertung der architektonischen Eigenschaften 196
Wann man diesen Architekturstil verwenden sollte 199
Kapitel 14: Eventbasierter Architekturstil 202
Topologie 203
Broker-Topologie 203
Mediator-Topologie 208
Asynchrone Fähigkeiten 219
Fehlerbehandlung 221
Datenverlust verhindern 224
Broadcast-Fähigkeiten 226
Request-Reply 227
Request- oder eventbasiert? 230
Hybride eventbasierte Architekturen 230
Bewertung der architektonischen Eigenschaften 231
Kapitel 15: »Space-based«-Architekturstil 234
Allgemeine Topologie 235
Verarbeitungseinheit 236
Virtualisierte Middleware 237
Data Pumps 242
Data Writer 244
Data Reader 245
Datenkollisionen 247
Cloudbasierte und On-Premises-Implementierungen im Vergleich 250
Repliziertes Caching im Vergleich mit verteiltem Caching 251
Überlegungen zu Near-Cache 254
Implementierungsbeispiele 255
System zum Verkauf von Veranstaltungstickets 255
Online-Auktionssysteme 256
Bewertung der architektonischen Eigenschaften 256
Kapitel 16: Orchestrierter serviceorientierter Architekturstil (SOA) 260
Geschichte und Philosophie 260
Topologie 261
Taxonomie 261
Dienste für die Geschäftslogik 262
Unternehmensdienste 262
Applikationsdienste 262
Infrastrukturdienste 263
Orchestrierungs-Engine 263
Nachrichtenfluss 263
Wiederverwendbarkeit und Kopplung 264
Bewertung der architektonische Eigenschaften 266
Kapitel 17: Microservices-Architekturstil 270
Geschichte 270
Topologie 271
Verteilt 272
Bounded Context 272
Granularität 273
Datenisolation 274
API-Schicht 274
Betriebliche Wiederverwendung (Operational Reuse) 275
Frontends 277
Kommunikation 279
Choreografie und Orchestrierung 280
Transaktionen und Sagas 284
Bewertung der architektonischen Eigenschaften 286
Weiterführende Referenzen 288
Kapitel 18: Den richtigen Architekturstil auswählen 290
Architekturstile als »Modeerscheinungen« 290
Entscheidungskriterien 292
Monolith-Fallstudie: Silicon Sandwiches 294
Modularer Monolith 294
Microkernel 296
Verteilte Architektur, Fallstudie: Going, Going, Gone 297
Teil III: Techniken und Soft Skills 302
Kapitel 19: Architekturentscheidungen 304
Antipatterns für Architekturentscheidungen 304
Antipattern: Covering your Assets 304
Antipattern: Groundhog Day 305
Antipattern: Email-Driven Architecture 306
Architektonisch wichtig 307
Architecture Decision Records (ADR) 308
Grundstruktur 309
ADRs speichern 315
ADRs als Dokumentation 317
ADRs für Standards verwenden 317
Beispiel 318
Kapitel 20: Architektonische Risiken analysieren 320
Matrix zur Risikobewertung 320
Risikobewertung 321
Risk Storming 324
Identifizierung 326
Konsens 327
Risikoanalyse von Agile Stories 330
Risk-Storming-Beispiele 331
Verfügbarkeit 332
Elastizität 334
Sicherheit 336
Kapitel 21: Architektur in Diagrammen und Präsentationen visualisieren 338
Diagramme 339
Werkzeuge 339
Standards für Diagramme: UML, C4 und ArchiMate 341
Richtlinien für die Erstellung von Diagrammen 342
Präsentieren 344
Zeit manipulieren 345
Inkrementeller Aufbau 345
Infodecks im Vergleich mit Präsentationen 348
Folien sind nur die Hälfte des Vortrags 348
Unsichtbarkeit 348
Kapitel 22: Effektive Teams schaffen 350
Teams den richtigen Rahmen vorgeben 350
Architekten-Persönlichkeiten 351
Der Kontrollfreak 351
Der Sofa-Architekt 353
Der effektive Architekt 355
Wie viel Kontrolle? 355
Warnsignale des Teams 360
Checklisten einsetzen 362
Entwickler-Checkliste für die Codefertigstellung 365
Checkliste für Unit- und funktionales Testing 366
Software-Release-Checkliste 367
Orientierung bieten 367
Zusammenfassung 370
Kapitel 23: Verhandlungsgeschick und Führungsqualitäten 372
Verhandlung und Moderation 372
Mit geschäftlichen Entscheidungsträgern verhandeln 373
Mit anderen Architekten verhandeln 375
Mit Enwicklern verhandeln 376
Der Softwarearchitekt als Führungskraft 378
Die vier Ks der Architektur 378
Seien Sie pragmatisch, aber visionär 380
Teams mit gutem Beispiel vorangehen 382
Abstimmung mit dem Entwicklungsteam 386
Zusammenfassung 389
Kapitel 24: Eine berufliche Laufbahn entwickeln 390
Die 20-Minuten-Regel 390
Ein persönliches Radar entwickeln 392
Das ThoughtWorks Technology Radar 392
Open-Source-Visualisierungen 396
Soziale Medien verwenden 396
Rat zum Abschied 397
Anhang A: Fragen zur Selbstbeurteilung 400
Index 410

Erscheint lt. Verlag 15.12.2020
Verlagsort Heidelberg
Sprache deutsch
Themenwelt Informatik Software Entwicklung Software Architektur
Schlagworte Architekturstile • Diagrammerstellung • Kohäsion • Kopplung • microkernel • Microservices • Patterns • SOA • Software-Engineering • Softwareentwicklung • Softwaretechnik
ISBN-10 3-96010-429-4 / 3960104294
ISBN-13 978-3-96010-429-2 / 9783960104292
Haben Sie eine Frage zum Produkt?
PDFPDF (Wasserzeichen)
Größe: 12,4 MB

DRM: Digitales Wasserzeichen
Dieses eBook enthält ein digitales Wasser­zeichen und ist damit für Sie persona­lisiert. Bei einer missbräuch­lichen Weiter­gabe des eBooks an Dritte ist eine Rück­ver­folgung an die Quelle möglich.

Dateiformat: PDF (Portable Document Format)
Mit einem festen Seiten­layout eignet sich die PDF besonders für Fach­bücher mit Spalten, Tabellen und Abbild­ungen. Eine PDF kann auf fast allen Geräten ange­zeigt werden, ist aber für kleine Displays (Smart­phone, eReader) nur einge­schränkt geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür einen PDF-Viewer - z.B. den Adobe Reader oder Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür einen PDF-Viewer - z.B. die kostenlose Adobe Digital Editions-App.

Zusätzliches Feature: Online Lesen
Dieses eBook können Sie zusätzlich zum Download auch online im Webbrowser lesen.

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Nachhaltiger Entwurf durch Microservices, Modulithen und SOA 2.0

von Herbert Dowalil

eBook Download (2020)
Carl Hanser Verlag GmbH & Co. KG
CHF 34,15
Nachhaltiger Entwurf durch Microservices, Modulithen und SOA 2.0

von Herbert Dowalil

eBook Download (2020)
Carl Hanser Verlag GmbH & Co. KG
CHF 34,15