Formation Architecture Découplée avec RxJava

sous-titre

sablier-violet  Durée : 2 jours

Référence : RX 01

Réservez votre session











Objectifs

Découvrir RxJava et les concepts associés
Écrire des applications Java utilisant RxJava
Concevoir et mettre en place une architecture découplée avec RxJava

Public

Développeurs, Architectes

Pré-requis

Connaissance du langage Java

Méthodes pédagogiques

50 % théorie / 50 % pratique

Modalités d’évaluation

modalites_d_evaluation

Nos intervenants

nos_intervenants

Description

Auparavant, les applications se connectaient à une seule base de données. Aujourd’hui, elles doivent communiquer avec un ensemble de bases de données et composer avec des services web distants. Ce ne sont plus des blocs monolithiques, mais distribués sur différents serveurs, sur différentes zones géographiques. Elles sont “scalables” mais elles doivent désormais attendre les réponses d’autres applications.

Comment profiter de ces temps d’attente ? Comment casser ce couplage temporel ? Comment transformer un couplage applicatif fort en couplage lâche ?

Cette formation permettra de réaliser un tour d’horizon de RxJava, d’appréhender la mise en place cette bibliothèque sur un projet et dans une équipe. Egalement, nous y aborderons la façon d’utiliser ces bibliothèques pour découpler votre architecture.

Programme

Couplage

•    Définition
•    Différent type de couplage
•    Différent moyen de découplage

 

RxJava

•    Historique
•    Concept

 

Observable

•    Nature d‘un observable
•    Représentation d’un observable
•    Type d’observable
•    Création d’observable
•    Manipulation observable
•    Concept de monade
•    Méthode create
•    Programmation fonctionnelle
•    Effet de bord

 

Observer

•    Contrat RxJava
•    onNext / onError / onCompleted
•    Subscriber

 

Opérateurs

•    Opérateur map
•    Opérateur flatmap
•    Opérateurs de compositions (merge zip…)
•    Opérateurs de filtre
•    Création d’un opérateur

 

Asynchronisme

•    Concept de Scheduleur
•    ObserveOn
•    ScheduleOn
•    Quel scheduleur pour quel usage
•    Test scheduleur
•    Écrire son scheduleur

 

Pratique de RxJava

•    Composition de web service
•    Utilisation avec un brocker de message
•    Gestion des erreurs
•    Test applicatif
•    Utilisation de Single
•    Utilisation de Completable

 

Nature d’Observable

•    Hot Observable
•    Cold Observable

 

Abonnement

•    Concept d’abonnement
•    Désabonnement

 

Pression arrière

•    Concept
•    Utilisation
•    Implémentation

 

Aller plus loin

•    Intégration avec Hystrix
•    Intégration dans un contexte Java EE
•    Intégration dans un contexte microservices
•    Intégration dans une application Android