reaktive anwendungen mit rxjava - jug saxony day · reactivex basiert auf dem observable-pattern...
TRANSCRIPT
![Page 1: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/1.jpg)
Senacor Technologies AG
Reaktive Anwendungen mit RxJava Dr. Michael Menzel
JUG Saxony Day, 02. Oktober 2015
![Page 2: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/2.jpg)
Senacor Technologies AG
Worum soll es gehen?
Reaktive Architekturen
Wie können skalierbare und hoch-interaktive Systeme
gebaut werden, die unter hoher Last und
hohem Datenvolumen operieren?
REAKTIVE ANWENDUNGEN - ÜBERSICHT
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015 2
![Page 3: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/3.jpg)
Senacor Technologies AG
Worum soll es gehen?
REAKTIVE ANWENDUNGEN - ÜBERSICHT
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
Bibliothek zur Verarbeitung
asynchroner Events als Streams
Nicht-blockierende API
Asynchronität
Message-driven
Technologien?
3
![Page 4: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/4.jpg)
Senacor Technologies AG Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
Wie sollte eine
Anwendung nicht
entworfen werden?
4
![Page 5: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/5.jpg)
Senacor Technologies AG
REAKTIVE ANWENDUNGEN - NEGATIVBEISPIEL
Negativbeispiel: Berater-Frontend
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
Keine Fehlertoleranz
Keine Fehlertoleranz
5
![Page 6: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/6.jpg)
Senacor Technologies AG
REAKTIVE ANWENDUNGEN - NEGATIVBEISPIEL
Datenaktualisierungen müssen sich im Frontend reflektieren
1 weiterer Benutzer bearbeitet aktuellen Kunden
autoupdate
autoupdate
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
Streaming
autoupdate
6
![Page 7: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/7.jpg)
Senacor Technologies AG
REAKTIVE ANWENDUNGEN - NEGATIVBEISPIEL
Performanceprobleme durch Service-Schnitt
Service
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
Service Service
Service Service
7
![Page 8: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/8.jpg)
Senacor Technologies AG
Clientseitige Servicekompositionen führen zu Kommunikationsoverhead
REAKTIVE ANWENDUNGEN - NEGATIVBEISPIEL
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
100 ms
Browser
200 ms 300 ms 400 ms 500 ms 600 ms
Services
8
![Page 9: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/9.jpg)
Senacor Technologies AG
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
Mehr Hardware ???
9
![Page 10: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/10.jpg)
Senacor Technologies AG
REAKTIVE ANWENDUNGEN - ARCHITEKTURBETRACHTUNG
Kein Problem für unternehmensinterne Applikationen ?!?
Customer Service
Account Service
Transaction Service
Legacy User Service
Browser
Services Clients
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015 10
![Page 11: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/11.jpg)
Senacor Technologies AG
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015 11
Wie können Mobile- Clients effizient
unterstützt werden?
![Page 12: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/12.jpg)
Senacor Technologies AG
REAKTIVE ANWENDUNGEN - ARCHITEKTURBETRACHTUNG
Clientseitige Dienstkomposition:
Schlechtes Pattern für Mobile-Devices
Customer Service
Account Service
Transaction Service
Legacy User Service
Browser
Services Clients
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015 12
![Page 13: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/13.jpg)
Senacor Technologies AG
REAKTIVE ANWENDUNGEN - ARCHITEKTURBETRACHTUNG
Besser: Serverseitige Dienstkomposition für Mobile-Devices
Customer Service
Account Service
Transaction Service
Legacy User Service
Browser
Services Clients
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015 13
![Page 14: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/14.jpg)
Senacor Technologies AG Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
Nachteil: Serverseitige
Dienstkompositionen führen zu
Abhängigkeiten
14
![Page 15: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/15.jpg)
Senacor Technologies AG
REAKTIVE ANWENDUNGEN - ARCHITEKTURBETRACHTUNG
Bereitstellung client-spezifischer Dienstkompositionen
über API-Gateway
Customer Service
Account Service
Transaction Service
Legacy User Service
Browser
Services Clients
API
Gateway
PUSH
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015 15
![Page 16: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/16.jpg)
Senacor Technologies AG
REAKTIVE ANWENDUNGEN - ARCHITEKTURBETRACHTUNG
Reactive Manifesto definiert Grundprinzipien …
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
Responsivness
Elasticity Resilience
Transparente Skalierung
Dynamische Bereitstellung von Ressourcen
Retry & Failover Replikation Isolation & Error
Propagation
Direktes Feedback Push von Model-
aktualisierungen
16
![Page 17: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/17.jpg)
Senacor Technologies AG
REAKTIVE ANWENDUNGEN - ARCHITEKTURBETRACHTUNG
Differenzierendes Merkmal im Manifest: Message-driven
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
Responsivness
Elasticity Resilience
Transparente Skalierung
Dynamische Bereitstellung von Ressourcen
Retry & Failover Replikation Isolation & Error
Propagation
Direktes Feedback Push von Model-
aktualisierungen
Message-driven
17
![Page 18: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/18.jpg)
Senacor Technologies AG
REAKTIVE ANWENDUNGEN - ARCHITEKTURBETRACHTUNG
Grundlage für ein schnelles Nutzerfeedback:
Asynchrone, nicht-blockierende Datenverarbeitung
Customer Service
Account Service
Transaction Service
Legacy User Service
API
Gateway
Asynchrone, nicht-blockierende Verarbeitung
Nachrichten-Bus
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
Responsivness
18
![Page 19: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/19.jpg)
Senacor Technologies AG
REAKTIVE ANWENDUNGEN - UMSETZUNG
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
Polyglot
Sehr einfaches
Nebenläufigkeitsmodell
Eventbus-basierte Kommunikation
Modulsystem mit öffentlichen
Repository
Framework für Serverapplikationen
Einsatz im Projekt: VERT.X
19
![Page 20: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/20.jpg)
Senacor Technologies AG
Services
REAKTIVE ANWENDUNGEN - UMSETZUNG
Herausforderung: API zur asynchronen Servicekomposition
Customer Service
Account Service
Transaction Service
Legacy User Service
API
Gateway
API ???
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015 20
![Page 21: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/21.jpg)
Senacor Technologies AG
Wie lässt sich die API gestallten?
REAKTIVE ANWENDUNGEN - UMSETZUNG
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
Einzelner Datensatz
Mehrfache Datensätze
Synchron Objekt Iterable
Stream
Asynchron
Callback
Future
CompletableFuture
Observable
21
![Page 22: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/22.jpg)
Senacor Technologies AG
REAKTIVE ANWENDUNGEN - UMSETZUNG
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015 22
Beispiel Sortenbestellung
1. Wechselkurse abfragen
2. Auftrag laden
3. Auftrag mit aktuellem
Wechselkurs aktualisieren
4. Auftragssumme berechnen
![Page 23: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/23.jpg)
Senacor Technologies AG
Synchrone Berechnung
REAKTIVE ANWENDUNGEN - UMSETZUNG
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015 23
![Page 24: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/24.jpg)
Senacor Technologies AG
Callback-Hell …
REAKTIVE ANWENDUNGEN - UMSETZUNG
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
Kombinierbarkeit sequentieller Aufrufe erfordert Schachtelung
Kombination paralleler Aufrufe erfordert Datensynchronisation
24
![Page 25: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/25.jpg)
Senacor Technologies AG
Promises/Futures erleichtern die asynchrone Datenverarbeitung,
die Datenabfrage von Java 1.5 Futures ist blockierend
REAKTIVE ANWENDUNGEN - UMSETZUNG
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015 25
![Page 26: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/26.jpg)
Senacor Technologies AG
Wie lässt sich die API gestallten?
REAKTIVE ANWENDUNGEN - UMSETZUNG
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
Einzelner Datensatz
Mehrfache Datensätze
Synchron Objekt Iterable
Stream
Asynchron
Callback
Future
CompletableFuture
Observable
26
![Page 27: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/27.jpg)
Senacor Technologies AG
REAKTIVE ANWENDUNGEN - RXJAVA
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
The Reactive Extensions (Rx) is a library
for composing asynchronous and event-
based programs using observable
sequences and LINQ-style query
operators https://rx.codeplex.com
27
![Page 28: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/28.jpg)
Senacor Technologies AG
ReactiveX basiert auf dem Observable-Pattern
REAKTIVE ANWENDUNGEN - RXJAVA
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
Observable Observer register
onNext(T) onError(Throwable t) onCompleted()
28
![Page 29: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/29.jpg)
Senacor Technologies AG
RxJava ist eine Umsetzung von Rx.Net auf Basis der JVM
REAKTIVE ANWENDUNGEN - RXJAVA
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
LINQ, .NET Framework 3.5
Spracherweiterung zur Abfrage und
Transformation von Daten
19.11.2007
RxJS, Rx for JavaScript
17.03.2010
Rx.NET, .NET Framework 3.5 / 4
Rx = Observables + LINQ + Schedulers
Asynchrone, Push-basierte
Datenverarbeitung
17.11.2009
RxJava,
Reactive Extensions for
the JVM, started by Netflix
02.2013
29
![Page 30: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/30.jpg)
Senacor Technologies AG
Erzeugung eines Observables aus einem Array
REAKTIVE ANWENDUNGEN - RXJAVA
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015 30
![Page 31: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/31.jpg)
Senacor Technologies AG
Events in Streams können gefiltert und transformiert werden
REAKTIVE ANWENDUNGEN - RXJAVA
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015 31
![Page 32: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/32.jpg)
Senacor Technologies AG
Streams können kombiniert werden
REAKTIVE ANWENDUNGEN - RXJAVA
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015 32
![Page 33: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/33.jpg)
Senacor Technologies AG
FAZIT
Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02. Oktober 2015
asynchrone / parallele /
nicht-blockierende
Serviceaufrufe
Stream-Support:
Server zu Client Push,
Modellaktualisierung und
partielle Ergebnisse
Funktionen zur Datenfilterung,
Transformation und
Fehlerbehandlung
Fluent API/
Kombinierbarkeit von
asynchronen Aufrufen
33
![Page 34: Reaktive Anwendungen mit RxJava - JUG Saxony Day · ReactiveX basiert auf dem Observable-Pattern REAKTIVE ANWENDUNGEN - RXJAVA Reaktive Anwendungen mit RxJava, JUG Saxony Day, 02](https://reader034.vdocuments.net/reader034/viewer/2022042411/5f28e397dcca1838d13e1e73/html5/thumbnails/34.jpg)
Senacor Technologies AG
Reaktive Anwendungen mit RxJava Dr. Michael Menzel
JUG Saxony Day, 02. Oktober 2015