Der Trend von Reactive Programming 

Die Anforderungen an Software steigen ständig. Verbraucher erwarten, dass ein lokaler Onlineshop genauso gut funktioniert wie Amazon oder Zalando. Das Nutzererlebnis, das Tech-Giganten wie Spotify und Facebook bieten, sollte dem in nichts nachstehen. Alles muss schnell, reibungslos und einfach sein. 

Komplex

Die Folge ist immer komplexere Software. Vor allem im E-Commerce, wo Bestellsysteme und das Backend perfekt miteinander verbunden sein müssen, wird die Verarbeitung riesiger Datenmengen (fast) in Echtzeit immer mehr zu einer Anforderung. Die Verwaltung gleichzeitiger Änderungen zwischen Modulen wird zu einer großen Herausforderung. 

Trend: Reactive Programming 

Ein Trend in der Softwareentwicklung, der darauf reagiert, ist das "reaktive Programmieren". Spilberg sieht eine steigende Nachfrage nach Software Developern, die mit dieser Art der Softwarearchitektur vertraut sind. Was ist reaktives Programmieren, was sind reaktive Streams, warum ist diese Denkweise auf dem Vormarsch? Und wie funktioniert dieses deklarative Programmierparadigma? 

Nicolas Fränkel, Developer-Beauftragter bei Hazelcast, war bereit, dieses neue Programmierkonzept für Spilberg zu erklären. Der Schweizer Berater/Trainer/Buchautor veranstaltete ein Webinar mit großem  "Praxisanteil". Denn: er will kein "reaktiver" Guru sein, der nur die Vorteile aufzählt und die Grenzen ausblendet. 

Anstatt einen langen, theoretischen Vortrag zu halten, zeigte Fränkel, wie reaktives Programmieren konkret funktioniert. Developer konnten Schritt für Schritt sehen, wie er eine App auf das "reaktive Modell" umstellte. Dabei wählte er eine traditionelle Spring Boot-Anwendung, ein Open Source Java-basiertes Framework für Microservices. Ein Spring Boot enthält umfassende Infrastrukturunterstützung. Damit lassen sich unternehmenstaugliche Anwendungen entwickeln. 

Was ist Reactive Prorgamming? 

Reaktives Programmieren meint ein Programmierkonzept oder Denkmuster, das von Ereignissen gesteuert wird. Normalerweise treten diese Ereignisse mit der Zeit in einer bestimmten Reihenfolge auf. Diese Art der Softwarearchitektur befasst sich mit diesen Data Streams und dreht sich um die "Weitergabe" von Änderungen. Data Streams bilden das Rückgrat der Anwendung. Events, Nachrichten, Aufrufe und sogar Ausfälle werden über einen Datenstrom übertragen. 

Beim reaktiven Programmieren beobachtest du diese Streams und reagierst, wenn ein Wert übertragen wird. Ein solches System reagiert schnell, wenn möglich zeitnah. Ein weiteres Merkmal ist die Ausfallsicherheit. Selbst wenn etwas schiefgeht, bleibt die Reaktionsfähigkeit erhalten. Auch bei einer stark steigenden Arbeitsbelastung funktioniert alles weiterhin einwandfrei. Und nicht zuletzt arbeitet das System nach dem "Akteursmodell" und wird durch Nachrichten "gesteuert". Dieser Nachrichtenfluss ist asynchron. Das Developer-Modell ist ganz auf asynchrone Datenflüsse ausgerichtet. 

Der Nebeneffekt ist, dass die Anwendung durch und durch asynchron wird. Der Zweck solcher "reaktiven Streams" ist es, einen Standard für die Verarbeitung asynchroner Streams mit nicht-blockierendem "Gegendruck" zu schaffen. 

Die Vorteile von Reactive Programming 

Die wichtigsten Vorteile des reaktiven Programmierens sind ihre enorme Skalierbarkeit und ihre Eignung für die Cloud. Die Ressourcenauslastung ist optimal. Und das spart Geld. Der Nachteil ist, dass ein solches Konzept komplex sein kann. Du musst also umdenken. Außerdem sind Bugs schwerer aus dem System herauszubekommen. Und: Es werden spezielle APIs benötigt. Nicht zuletzt bedeutet ein einziger "blockierender Aufruf" in der "Aufrufkette", dass das System nicht mehr reaktiv ist. 

Für Unternehmen

Auf der Suche nach IT Development & Testing Professionals? Dank unseres starken Netzwerks an Expert:innen hilft Spilberg weiter. Erfahre mehr über IT-Personaldienstleistungen für Unternehmen.

Für Mitarbeiter

Gib deiner Karriere einen Boost! Spilberg ist der Partner an deiner Seite bei deiner Suche nach einem neuen Job oder Auftrag. Erfahre mehr über die Möglichkeiten und finde dein Match.