Why Reactive: Reaktive Architekturen und ihre Geschichte

Seite 6: Ausblick und Fazit

Inhaltsverzeichnis

Es gibt nicht „die eine reaktive Architektur“: Jeder der betrachten Architekturstile erfüllt mehr oder weniger gut die Anforderungen aus dem Reactive Manifesto. Somit ist auch eine Cloud-native Architektur reaktiv. Aus der historischen Entwicklung der Architekturstile heraus lässt sich ein interessanter Trend ableiten: Die Anforderungen an Elastizität, Resilienz und Antwortbereitschaft der Anwendungen steigen stetig. Das zwingt die heutigen und zukünftigen Softwarearchitekten, das Potenzial von der Server- bis zur Netzwerkebene besser auszunutzen. Beispielsweise muss der Einsatz von Threads stetig effizienter werden, um die Parallelisierung weiter zu steigern. Um das Potenzial besser ausnutzen zu können, müssen die Dinge offensichtlich immer kleinteiliger werden. Vom Server zu Containern, vom Monolith zu den Microservices, vom Prozess zu den Threads. Diese Entwicklung führt zu zunehmend komplexeren Architekturen.

Die Anwendungsfälle für reaktive Architekturen nehmen zu. Beispielsweise müssen Automobilhersteller ihre Autos vor Cyberangriffen schützen. Dazu senden die Autos alle möglichen Anomalien an einen Server, der diese dann auswertet, mögliche Angriffe identifiziert und die Fahrer warnt. Das ist nur mit reaktiven Architekturen möglich. Da IoT-, Big-Data-, Media-Streaming- und Webanwendungen wachsen, werden die reaktiven Anwendungsfälle in allen Branchen weiter zunehmen.

Das ist auch an der Entwicklung von Programmiersprachen, Frameworks und Middleware-Produkten zu erkennen: Sprachen wie JavaScript, die reaktive Modelle wie die asynchrone und funktionale Programmierung unterstützen, setzen sich stärker durch. Programmiersprachen wie Java nehmen die neuen Programmiermodelle in ihren Sprachumfang auf. Spring Project Reactor, Akka oder Vert.x sind Frameworks, die die Aspekte der reaktiven Programmierung unterstützen und heute zunehmend häufiger anzutreffen sind. Alle bekannten Middleware-Produkte für Datenbanken und Message-Broker bieten bereits reaktive Treiber an. Die Entwicklung reaktiver Systeme erfordert allerdings neue Kompetenzen in vielen Disziplinen der Software-Entwicklung.

Michael Schäfer

ist Principal IT Consultant bei msg. Sein Themenbereich sind Systems of Engagement, sowohl deren technische Umsetzung als auch ihre marktwirtschaftliche Relevanz. Zudem ist er in der Welt von Java und dem Spring-Ökosystem zu Hause.

[1] Geoffrey Moore; System of Engagement and the Future of Enterprise IT; Whitepaper, 2011

[2] Mark Weiser; The Computer for the 21st Century, The Scientific American 9, 1991. Onlineversion: https://ics.uci.edu/~corps/phaseii/Weiser-Computer21stCentury-SciAm.pdf

Update-Hinweis der Redaktion [13.01.2021]:
In der ersten Version des Artikels wurde das Reactive Manifesto den Unternehmen Netflix, Pivotal und Red Hat zugeschrieben. Einige in Reactive Streams involvierte Entwickler haben zwar durchaus diesen Firmenhintergrund, das Manifest stammt jedoch ursprünglich aus dem Scala-Umfeld und der Feder von vier Autoren: Jonas Bonér (Erfinder der Akka-Bibliothek und CTO des Scala-Unternehmens Typesafe), Dave Farley, Roland Kuhn und Martin Thompson.

(sih)