Reactive Framework

Wir besitzen umfangreiche Erfahrungen in der Entwicklung mit Reactive Frameworks / Extensions

Das Reactive Framework oder auch die Reactive Extensions für Microsoft .NET – kurz Rx, ist eine Erweiterung von LINQ und implementiert das Beobachter-Entwurfmuster. Die Reactive Extensions (Rx) ermöglichen eine ereignisgesteuerte Programmierung ohne Rückruffunktionen.

Rx = Observables + LINQ + Schedulers

Ziel bei der Entwicklung von Rx war es Systeme und Software zu erstellen die responsive, obust, skalierbar und inputgetrieben sind. Hierdurch passt man die Entwicklung den sich stark veränderten Anforderungen an Software an. Während zuvor eine große Applikation mehrere Server, eine hohe Antwortzeit, stundenlange Offlinewartung und viele Gigabytes an Daten beinhaltete, werden moderne Anwendungen überwiegend auf mobilen und cloudbasierenden Systemen ausgeführt. Die Anwender erwarten hierbei eine Antwortzeit in Echtzeit (wenige Millisekunden) und eine Uptime von nahezu 100 %. Gleichzeitig fallen nicht mehr Gigabytes, sondern Petabytes an Daten an. Daher sind die Anforderungen nicht mehr mit den klassischen Softwarearchitekturen zufriedenstellend zu erledigen.

Reactive Systems sind signifikant toleranter gegenüber möglichen Fehlern und selbst wenn Fehler auftreten sollten, ist das Handling dieser Fehler wesentlich eleganter und endet nicht mehr in eingefrorenen Bildschirmen oder Abstürzen. Rx wird idealerweise zusammen mit funktionalen Ansätzen verwendet. Dies trifft besonders auf ein Multithread Umfeld zu, da Eigenschaften und Felder von Objekten in den allermeisten Fällen nicht thread-safe sind.

Der funktionale Ansatz sorgt dafür, dass nicht mehr auf Objekteigenschaften zugegriffen wird, und somit keine Race Conditions oder Deadlocks auftreten können.

Unsere Entwickler bei euris setzen sich täglich mit den neusten und modernsten Technologien auseinander, um unseren Kunden stets die aktuellsten Softwarelösungen anbieten zu können. Daher haben wir bereits umfangreiche Erfahrungen in der Entwicklung mit Reactive Frameworks / Extensions.

Gerne unterstützen wir Sie bei Ihrem Vorhaben und erstellen gemeinsam mit Ihnen ein individuelles Konzept für ihre eigene Software.

Gründe für Rx

  • Selbsterklärend und funktional – LINQ erlaubt es den Code als eine Deklaration der Verwendung des Codes zu lesen und überlässt die Frage der Implementation dem Anwender
  • Integriert LINQ ist Bestandteil der C# Programmiersprache
  • Zusammensetzbar Die reibungslose API von LINQ stellt umfangreiche Methoden und Syntax zur Verfügung
  • Vereinheitlicht Rx verhählt sich wie ein „LINQ to events“
  • Transformativ Queries können ihren Datentypen zu einem anderen Typen transformieren.

Asynchrone Datenströme

Reactive Programming beschreibt die Programmierung mit asynchronen Datenströmen. Darüber hinaus hat man Zugriff auf eine umfangreiche Auswahl an verschiedenen Funktionen, um diese Datenströme zu erstellen, kombinieren und zu filtern.

Vorteile

  • Reaktiv und Funktional / Deklarativ
  • Mächtige Funktionalität
  • Thread-safe, bei korrekter Anwendungsweise
  • Effizient
  • Einfacheres Beseitigen von Memory Leaks

Anwendungsbeispiele

  • Erstellen von UI Events wie „mouse move“ oder „button click“
  • Domain Events wie veränderte Eigenschaften oder „Registration accepted“
  • Infrastruktur Events wie File Watcher oder System- und WMI Events

Ihr Ansprechpartner für diesen Bereich:

Roland Lütke Volksbeck
roland.luetke-volksbeck@euris.de
0231 54 50 40 – 20