In diesem Buch dreht sich alles um eine Frage: Wie zerlegt man eine Software sinnvoll in einzelne Komponenten? Damit ist auch bereits die wichtigste Aufgabe eines Software-Architekten umrissen. Wichtigstes Prinzip ist es, die Komponenten möglichst lose miteinander zu koppeln. Der Autor verfolgt dieses Prinzip sehr konsequent. Und so rät er dringend von einigen häufig anzutreffenden Mustern ab. So führt z. B. der Einsatz eines Enterprise Service Bus (ESB) als zentraler Mediator meist dazu, dass relativ viel Logik in diese zentrale Komponente wandert, wodurch hohe gegenseitige Abhängigkeiten zwischen dem ESB und den verbundenen Komponenten führt. Besser ist der Ansatz der „Dumb Pipes and Smart Endpoints“, d. h. leichtgewichtige Kommunikationsstrukturen, bei denen die Logik in den angeschlossenen Komponenten verbleibt.
Software-Architektur
Qualitätsanforderungen webbasierter Geschäftssysteme erfüllen
Wer sich vom vorliegenden Buch eine Einführung in Architekturstile wie Serviceorientierte Architekturen oder Microservices erwartet, dürfte enttäuscht werden. Die Beschreibung dieser Architekturen umfasst – ebenso wie die des ebenfalls im Titel genannten Domänengetriebenen Entwurfs – nur einige Seiten im einleitenden ersten Kapitel. Schwerpunkt ist vielmehr die ausführliche Diskussion von Qualitätsmerkmalen und mit welchen Maßnahmen man die entsprechenden Qualitätsanforderungen erfüllen kann.
Das zugrunde gelegte Qualitätsmodell bezieht sich auf eine bestimmte Klasse von Softwaresystemen: webbasierte Geschäftssysteme. Der Autor versteht darunter
Effektive Software-Architekturen – Standardwerk in achter Auflage
Wer sich ernsthaft mit Softwarearchitektur beschäftigt, kommt im deutschsprachigen Raum kaum an den zahlreichen Veröffentlichungen von Gernot Starke vorbei. Jüngst ist die achte Auflage seines Standardwerks „Effektive Softwarearchitekturen“ erschienen. Gegenüber der erst zwei Jahre alten siebten Auflage gibt es wenig grundsätzliche Änderungen, doch wurden die Ausführungen sorgfältig überarbeitet und aktualisiert. Insbesondere bei Themen, die sich stark im Fluss befinden, wird auf den aktuellen Diskussionsstand der Fachwelt eingegangen. Dies wird beispielsweise in einem Kapitel über Microservices deutlich. Zudem wurde das Buch an den aktuellen Lehrplan zum „Certified Professional for Software Architecture“ des International Software Architecture Qualification Board angepasst.