Skip to content

Instantly share code, notes, and snippets.

@tobnee
Forked from NEOZOfrank/comment_mwa.md
Last active December 26, 2015 07:49
Show Gist options
  • Save tobnee/7117683 to your computer and use it in GitHub Desktop.
Save tobnee/7117683 to your computer and use it in GitHub Desktop.

####Kommentar zu M. Nygard - Maneuverable Web Architecture:

Was kann man mitnehmen aus einem Talk von M. Nygard? Viel, aber nie das was man erwartet. Zugegeben ist die Analogie zu den Kampfpiloten recht weit hergeholt und hat in erster Linie wenig mit Architekturen zu tun. Nygard hat aber genauer hingeschaut und anschaulich erklärt, wie sich Kampfpiloten physikalische Kräfte zu nutzen machen um ihre Dogfights in den Lüften zu gewinnen. Das zielgerichtete Freisetzen und Aufnehmen von Impulsen, um sich in dem Raum der physikalischen Gesetze optimal zu bewegen, verbindet Nygard mit dem Schlüsselwort der Manövrierfähigkeit.

Die Architektur eines IT-Systems bewegt sich ebenfalls in einem Raum. Oftmals in einem turbulenten Projektgeschäft mit ständig wechselnden Anforderungen. Nygard forciert hier das Ziel: eine Architektur so zu gestallten, dass sie Impulse steuern kann. Es geht dabei um Kontrolle von Tempo, Anpassung und Wachstum.

Diese Ideen sind nicht völlig neu, wenn auch anschaulich dargestellt. Als Entwickler haben wir in unseren ersten Projekten gelernt, dass wir früh Designentscheidungen treffen müssen. Wir haben auch gelernt, dass wir uns mit diesen nur dann nicht in eine Sackgasse manövrieren, wenn wir Testfälle schreiben. Testfälle, die uns ermöglichen zu refaktorisieren.

Auch wenn sich die Beispiele in Nygards Talk im Wesentlichen auf Web Architekturen beziehen ­– sind doch die meisten Ideen genereller Natur und lassen sich auf andere Architekturen in der IT übertragen. Dabei standen zwei Punkte für mich im Vordergrund:

  • Break monoliths
  • Use URIs with abandon

Ich habe erlebt wie monolithische Systeme die IT ausgebremst und dadurch die Kunden/Auftraggeber/Nutzer frustriert haben. Lange Durchlaufzeiten, unverhältnismäßig hohe Kosten bei geringen Änderungswünschen, fehlende Integrationsfähigkeit und der Verlust von Releasefähigkeit waren die Folge. Im schlimmsten Fall fehlte sogar die Möglichkeit die Systeme an neue rechtliche Vorgaben und Gesetze anzupassen.

Im Gegensatz dazu konnte ich erleben, wie eine modularisierte feingranulare Architektur, welche über standardisierte Web APIs auf URI Basis realisiert wurde, genau diese Probleme nicht aufwies. Daumen hoch für Nygards Analogie.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment