Reaktywne rozszerzenie frameworka Spring

Cel szkolenia

Celem szkolenia jest zapoznanie jego uczestników z technikami programowania reaktywnego, zarówno ogólnie, jak też w języku Java (Reactive Streams i Reactor). Ponadto uczestnicy dowiadują się jak wykorzystać zdobytą wiedzę do tworzenia reaktywnych aplikacji webowych z użyciem frameworka Spring WebFlux.

Mocne strony szkolenia

Zapoznanie się zarówno z samą reaktywnością, jak też jej praktycznym wykorzystaniem - wszystko w ramach jednej platformy

Adresaci szkolenia

Szkolenie adresowane do programistów Java, pragnących rozszerzyć swoją wiedzę o zagadnienia z programowania reaktywnego i jego zastosowań tworzeniu aplikacji

Wymagania dla uczestników

Od uczestników szkolenia wymagana jest praktyczna umiejętność programowania w języku Java, a także podstawowa znajomość mechanizmów związanych z wielowątkowością, strumieniami i aplikacjami webowymi

Parametry szkolenia

3*8 godzin (3*7 godzin netto) wykładów i warsztatów (z wyraźną przewagą warsztatów).

Program szkolenia

  1. Wstęp do programowania reaktywnego na platformie Java (0.5h)
    • Koncepcja reaktywności (leniwa ewaluacja, brak blokowania, backpressure)
    • Reactive Streams - standard reaktywności na platformie JVM
  2. Podstawy biblioteki Reactor (1h)
    • Mono i Flux jako bazowe strumienie
    • tworzenie Mono i Flux za pomocą gotowych funkcji
    • tworzenie Mono i Flux programowo
    • subskrypcja do strumieni
    • event handlery (doOn...)
    • backpressure
  3. Operatory (2h)
    • transformacje synchroniczne i asynchroniczne
    • łączenie strumieni
    • grupowanie
    • kombinowanie
    • zależności czasowe
  4. Wielowątkowość a reaktywność (0.5h)
    • schedulery
    • subscribeOn
    • publishOn
  5. Testowanie (1h)
    • StepVerifier
    • wirtualny czas
    • TestPublisher
  6. Debugowanie (0.5h)
    • hook onDebug
  7. Zagadnienia zaawansowane platformy Reactor (1h)
    • procesory
    • kontekst
  8. Warsztat I (4h)
    • Jednoosobowa reaktywna wersja gry planszowej
  9. Podstawy frameworka Spring WebFlux (0.5h)
    • porównanie z klasycznym WebMvc
  10. Reaktywny serwer REST API (1h)
    • adnotowane kontrolery
    • endpointy w stylu funkcyjnym
  11. Reaktywny klient REST API (0.5h)
    • WebClient
  12. Reaktywne WebSockety (0.5h)
    • sposoby dwustronnej komunikacji klient - serwer w aplikacjach webowych
    • WebSocketHandler
  13. RSocket - nowy pomysł na reaktywną dwustronną komunikację sieciową (1h)
    • Koncepcja ogólna
    • Porównanie z gRPC i ProtoBuf
    • Integracja ze Springiem
  14. Testowanie reaktywnych aplikacji webowych (1h)
    • WebTestClient
  15. Warsztat II (4h)
    • Dwuosobowa wersja gry planszowej z komunikacją po sieci
  16. Reaktywny dostęp do relacyjnych baz danych (2h)
    • Dlaczego JDBC nie pasuje do reaktywności
    • Nowe sterowniki ADBA oraz R2DBC - opis i porówanie możliwości
  17. Typowe pułapki programowania reaktywnego (2h)
    • Blokujące operacje podczas przetwarzania strumieni
    • Ręczne konstruowanie strumieni zamiast użycia gotowych operatorów
    • Brak subskrypcji do strumienia
    • Nadużywanie operatorów

Pytania?

* Wymagane.


Konsultant on-line
Skorzystaj z usług naszego konsultanta on-line.
Naciśnij przycisk ‘Skorzystaj’ aby przejść do okienka czatu
Kontakt
ul. Nowogrodzka 62c
02-002 Warszawa
Telefon +48 22 2035600
Fax +48 22 2035601
Email