Reactive Programming mit Java 8
Einführung, Grundlagen, Praxis & mehr

Während Benutzer immer kürzere Antwortzeiten erwarten, müssen immer größere Datenmengen verarbeitet werden. Reaktive Systeme richten sich zur Erfüllung dieser Anforderungen gleichzeitige an vier Qualitäten aus: Sie müssen stets antwortbereit (responsive), widerstandsfähig (resilient), elastisch (elastic) und nachrichtenorientiert (message driven) sein.

Reactive Programming basiert daher auf Datenflüssen und der Weitergabe von Veränderungen in Form von Events. Es ist eine natürliche Weiterentwicklung des Observer-Patterns und ermöglicht es robuste und anpassungsfähige Anwendungen zu erstellen.

Durch Kombination der in Java 8 vorhandenen Grundlagen für funktionale Programmierung mit Bibliotheken für Reactive Programming wie RxJava oder Reactor lassen sich auf der JVM reaktive Anwendungen entwickeln ohne eine neue Sprache zu lernen.

Schulungsziel

In diesem Seminar lernen Sie Grundlagen von reactive Programming kennen. Anhand vieler Beispiele und Übungen setzen Sie die erlernten Muster mit den Bibliotheken RxJava oder Reactor um. Sie entwickeln eigene, reactive Microservices und verbinden diese mit Konsumenten.

Die erworbenen Kenntnisse erlauben Ihnen nach dem Seminar eigene Anwendungen reaktiv zu entwickeln und von der Skalierbarkeit und Robustheit des Ansatzes zu profitieren.

Zielgruppe

Java-Programmierer, die die Grundlagen von Reactive Programming kennenlernen möchten.

Vorkenntnisse

Java Grundlagen, Web Grundlagen

Dauer

3 Tage

Themen

Folgende Themen werden in dieser Schulung behandelt:

  • Hintergründe

    • Das Reaktive Manifest

    • Eigenschaften reaktiver Systeme

  • Einführung in Reactive Programming

  • Bibliotheken für Java

    • RxJava

    • Reactor

    • Reactive Streams und Java 9

  • Observables, Observers und Subjects

    • Observables erzeugen

    • Subscribing und Unsubscribing

    • Hot und cold Observables

    • Subjects

  • Operationen auf einem Datenstrom

    • Transformationen mit map und flatMap

    • Elemente gruppieren

    • Filtern von Datenströmen

    • Daten akkumulieren

  • Zusammenführen von Datenströmen

    • Die Operationen zip, merge, concat und combineLatest

    • Bedingtes Zusammenführen mit amb, takeUntil, takeWhile, skipUntil und skipWhile

    • Defaultwerte verwenden

  • Fehlerbehandlung

    • Konzepte der Fehlerbehandlung

    • Return und resume

    • Wiederholungen

  • Concurrency

    • Scheduler

    • Parallele Verarbeitung von Datenströmen

    • Buffering, Throttling und Debouncing

    • Backpressure

  • Testen reaktiver Anwendungen

  • Reaktive Microservices

    • RxJava Microservice

    • Spring 5

  • Reactive Programming im Frontend

    • Web / Angular

Unsere Schulungen bieten wir auch als Inhouse Schulung an. Damit haben Sie die Möglichkeit die Schwerpunkte der Schulung zu beeinflussen und die Gruppenzusammensetzung für Ihren Schulungsbedarf zu optimieren.
Nehmen Sie Kontakt mit uns auf und stimmen den für Sie passenden Zeitraum ab.

Für spezielle Fragestellungen oder gezielte Unterstützung bieten wir sowohl Workshops als auch Beratung an - senden Sie uns einfach eine Anfrage und schildern Sie Ihren Bedarf.

Los geht's!

Bitte teilen Sie uns mit, wie wir Sie am besten erreichen können.