von Herbert Dowalil

Buchtipp: Grundlagen des modularen Softwareentwurfs

Johannes Dienst

In seinen „Grundlagen des modularen Softwareentwurfs“ stellt Autor Herbert Dowalil die neue Schule der Softwarearchitektur vor und überträgt die Prinzipien des Softwaredesigns auf Makro- und Enterprise-Architekturen. Ein Leser erwartet von einem solchen Grundlagenbuch eine Einführung in alle relevanten Themen, dessen Lektüre ein profundes Verständnis für die Kernpunkte der betreffenden Themengebiete schafft.

Autor

Herbert Dowalil

Titel

Grundlagen des modularen Softwareentwurfs

Untertitel

Der Bau langlebiger Mikro- und Makro-Architekturen wie Microservices und SOA 2.0

Seiten

224

Preis

34,00 €

Verlag

Carl Hanser

Jahr

2018

ISBN

978-3-446-45509-2

Die ersten beiden Kapitel widmen sich grundlegenden Definitionen. Nach einer einführenden Erläuterung zum Begriff der Softwarearchitektur geht Dowalil auf die Prinzipien des Softwareentwurfs und der Mikroarchitektur ein. Dabei behandelt er größtenteils die Kernideen des Clean Codings und entsprechende Designpatterns. Nach einem kurzen Ausflug ins Land des Domain-driven Designs (DDD) fährt das Werk mit den gängigen Enterprise-Architecture-Integration-Patterns (EAIP) fort. Hierauf folgt eine Sammlung von Patterns und Antipatterns, die in Makroarchitekturen zu finden sind. Der für mich interessanteste Teil des Buchs startet mit verteilten Systemen. Zu Beginn räumt Dowalil mit einigen Irrtümern über Monolithen auf, um anschließend die Bedeutung von REST-Schnittstellen zu behandeln. Danach geht es um verschiedene Konsistenzansätze, die in verteilten Systemen anzutreffen sind, beispielsweise Eventual Consistency.

Die Abneigung des Autors gegen das ursprüngliche SOA untermauert er im nächsten Kapitel mit schlüssigen Argumenten. Microservices bieten an dieser Stelle flexiblere Ansätze. Entweder mit API-Gateway und Service Discovery oder über die Integration mittels UI. Wenn man ausschließlich von den Vorteilen von Microservices profitieren und auf die Nachteile verzichten möchte, eignet sich die modulare SOA mit Self-contained Systems. Diese können einen gröberen Schnitt in Subsystemen darstellen. Das nun folgende Kapitel über Metriken ist als Sammlung von Messgrößen zur Bewertung von Softwaredesign und Modularisierung zu verstehen. Es eignet sich als Nachschlagereferenz.

Der vorletzte Teil des Werks zeigt in einem Beispiel die Migration einer gewachsenen Systemlandschaft in einzelne Subdomänen. Zum Einsatz kommt dabei unter anderem die Technik des Anti-Corruption-Layers, auch eine auf dem API-First-Prinzip basierende Strategie kommt zur Sprache. Außerdem präsentiert Dowalil eine ganze Reihe von Fallstricken, die eine solche Migration mit sich bringt – auch auf organisatorischer Ebene. Das letzte Kapitel zum Thema Umsetzung wirkt kurz. Es enthält in knappen Abschnitten Techniken zur Datenreplikation in Subdomänen, Consumer-driven Contract Testing und modularem Design mit JavaScript, TypeScript, Java und OSGi. In zwei Absätzen stellt es die Werkzeuge ArchUnit und Sonargraph zur Sicherung von Architekturrichtlinien vor.

Das rund 200 Seiten starke Werk enthält trotz des recht geringen Umfangs alles, was die moderne Softwarearchitektur ausmacht. Dabei geht es zwar nicht immer in die Tiefe, aber deshalb ist es ja ein Grundlagenbuch. Viele Abbildungen unterstreichen die besprochenen Konzepte. Keine Frage: Dowalil vertritt seine Meinungen dezidiert, aber immer auf eine fundierte und undogmatische Art und Weise. Für ein Grundlagenbuch ist das Werk flüssig geschrieben und logisch aufgebaut und lädt dazu ein, in wenigen Tagen durchgelesen zu werden.

Geschrieben von
Johannes Dienst
Johannes Dienst
Johannes Dienst ist Clean Coder aus Leidenschaft bei der DB Systel GmbH. Seine Tätigkeitsschwerpunkte sind die Wartung und Gestaltung von serverseitigen Java- und JavaScript-basierten Applikationen. Twitter: @JohannesDienst
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: