Formation Programmation Réactive avec Reactor

Formation Programmation Réactive avec Reactor

Notée : (52)*

Apprenez la programmation réactive en développant des applications robustes grâce aux Reactive Streams et Reactor lors de cette formation orientée pratique de 3 jours !

Prix (Formation inter-entreprise)

1800€ HT / personne

Durée

3 jours

Dates

Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)

Cette formation Programmation Réactive avec Reactor se concentre sur la programmation réactive en Java. Ce paradigme de programmation s'est démocratisé pour traiter de nombreuses problématiques rencontrées dans le développement d'applications modernes, telles que la tolérance à la panne, la montée en charge ou encore la vitesse de réponse du système.

La formation Programmation Réactive avec Reactor s'adresse à des développeur·se·s ayant des notions en programmation fonctionnelle qui souhaitent maîtriser la programmation réactive de bout en bout. Cela se fera par une approche essentiellement pratique en étudiant les flux réactifs (Reactive Streams).

Lors de cette formation, vous utiliserez la librairie Reactor pour savoir à son terme :

  • traiter des données dont le volume est non prédéterminé
  • augmenter la maintenabilité de votre application
  • avoir un code uniformisé, de la récupération de la donnée jusqu'à l'affichage

A l'issue de la formation, les participant·e·s repartiront avec les supports de formation ainsi que les corrigés des TPs.

Cette formation utilise la version 17 de Java, et la version 3 de Reactor.

Installations nécessaires sur votre machine : JDK 17

Envie d'aller plus loin ?

Découvrez nos formations de l'écosystème Java :
- la formation Java Spring Batch pour développer des batchs performants et robustes,
- la formation Java Spring Web pour comprendre et utiliser le framework Spring,
- et enfin la formation Apache Kafka pour mettre en œuvre le broker de message et la plate-forme d'event streaming Kafka.

Les objectifs

  • Comprendre l'intérêt de la programmation réactive
  • Connaître la spécification Reactive Stream et ses implémentations (Reactor, RxJava, Java 9 Flow)
  • Maîtriser la librairie Reactor
  • Traiter des problèmes de programmation concurrente
  • S'appuyer sur un modèle de communication asynchrone

Pré-requis

  • Avoir des notions en programmation fonctionnelle
  • Avoir des bases en Java et notamment connaître l'utilisation des lambdas
  • Connaître le fonctionnement des threads
  • Ordinateur portable à apporter

Le programme de la formation Programmation Réactive avec Reactor

Jour 1 : Découverte des Reactive Stream et prise en main de Reactor

Introduction
  • Intérêt de la programmation réactive
  • Historique de la programmation réactive
  • Tour d'horizon de l'écosystème
La spécification
  • Publisher et Subscriber
  • Flux d’événements asynchrone
  • Implémentation par l'API Flow
Sur quoi s'appuie Reactive Stream
  • La programmation fonctionnelle
  • Utilisation des lambdas
  • Pattern Observer
  • Les opérateurs
Reactor
  • Introduction
  • Abonnement avec subscribe()
  • Gestion de la contre-pression (backpressure)
  • Abstraction du threading model

Jour 2 : Concepts avancés

Debug, tests et observabilité
  • Écrire des scénarii de test
  • Effectuer des assertions
  • Émettre des événements et gérer le temps
  • Gérer ses métriques avec Micrometer
Threading
  • Notion de Scheduler
  • Différences entre subscribeOn() et publishOn()
  • Créer et choisir le bon Scheduler
Les Publishers de Reactor
  • "eager" / "lazy" : comparatifs entre just(), defer() et ses dérivés
  • "push" vs "pull" : stratégies de gestion de la contre-pression
  • "hot" vs "cold" : cas d'usage avec les processors
  • Comparatif avec RxJava
Zoom sur les opérateurs
  • Transformer et filtrer les événements
  • Combiner plusieurs sources
  • Écrire son propre opérateur

Jour 3 : Cas concrets et développement d'applications

Cas pratiques
  • Reactor et la concurrence
  • Traitement des erreurs
  • Gestion du contexte en environnement multi-threadé
  • Performance vs Résilience
Architecture
  • Communication Client / Server / Base de données
  • Gestion des batchs
  • Reactive Stream dans les microservices
  • Spring Webflux, Spring Data Reactive et R2DBC

Mises en pratique :

  • Manipulation des interfaces Subscriber et Publisher
  • Mise en place de la librairie Reactor
  • Utilisation des Schedulers
  • Écriture de tests unitaires avec StepVerifier
  • Utilisation de différents opérateurs
  • Création d'une application WEB réactive avec Spring Boot, MongoDB/PostgresSQL et RSocket
  • Utilisation du service Google PubSub dans une architecture réactive

Télécharger le programme

Le(s) formateur(s)

Guillaume DROUET

Guillaume DROUET

Guillaume est développeur depuis 10 ans et spécialisé dans le monde des APIs WEB. Il a travaillé en tant que consultant et formateur en ESN puis en startup dans la région Lilloise.

Aujourd'hui, il est freelance et intervient en tant que tech lead chez ses clients où il les conseille au quotidien sur des problématiques de qualité du code, d'architecture et de performance applicative.

Il aime partager et apprendre via différents axes, c'est pour cela que il donne des formations en parallèle de ses missions. A ce titre, il est également vacataire à l'Université depuis 2014.

Voir son profil détaillé

A propos de Human Coders

Human Coders c'est un centre de formation pour développeurs avec :

  • une certification Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
  • de nombreux clients qui nous font confiance depuis des années
  • un manifeste pour garantir des formations à taille humaine, des formateurs passionnés, de véritables workshops...
  • 153 formations au catalogue, 1629 sessions depuis nos débuts en 2012 avec une moyenne de satisfaction de 4,6/5
  • la possibilité de vous proposer un accompagnement personnalisé ou du conseil après la formation

19 témoignages

La formation et le formateur au top, le seul bémol est qu'une formation aussi pointue est toujours préférable en présentiel

La formation et le formateur au top, le seul bémol est qu'une formation aussi pointue est toujours préférable en présentiel

Formation généraliste qui m'a vite perdu. Pas assez de temps passé sur les tests et le debug

Formation généraliste qui m'a vite perdu. Pas assez de temps passé sur les tests et le debug

La formation s'est bien déroulée, malgré le format à distance, les supports étaient clairs et bien conçus. Le formateur était très pédagogue e...

La formation s'est bien déroulée, malgré le format à distance, les supports étaient clairs et bien conçus. Le formateur était très pédagogue et prenait le temps d'expliquer chaque notion en détails, les tps étaient bien structurés, ce qui permettait d'appliquer concrètement les connaissances acquises.

Voir plus

J'attendais beaucoup de cette formation Reactor car cela faisait quelques temps que je n'arrivais plus à progresser sur le sujet et cela me gê...

J'attendais beaucoup de cette formation Reactor car cela faisait quelques temps que je n'arrivais plus à progresser sur le sujet et cela me gênait dans mon travail hebdomadaire. Grâce à Guillaume, j'ai pu comprendre l'histoire de Reactor, son fonctionnement interne et toutes les possibilités que cette librairie permet. Je sors de cette formation avec plus d'assurance concernant l'utilisation de Reactor. Guillaume est vraiment très patient, pédagogue et il sait s'adapter au rythme de chacun. Et les différents TD permettent vraiment de mettre tout de suite en pratique ce qu'on a vu de manière théorique juste avant.

Voir plus

Excellente formation qui permet de bien comprend d'où part la programmation réactive pour bien manipuler reactor ensuite.

Excellente formation qui permet de bien comprend d'où part la programmation réactive pour bien manipuler reactor ensuite.

La programmation réactive est une approche de conception innovante qui nécessite une mécanique d'esprit bien différente de ce qui existait jus...

La programmation réactive est une approche de conception innovante qui nécessite une mécanique d'esprit bien différente de ce qui existait jusqu'à présent. Tout d'abord je tiens à souligner la qualité du formateur. Il est très compétents dans ce domaine et surtout passionné par le sujet, ce qui se ressent dans la manière d'aborder et de présenter le sujet. Les explications sont claires, précises et accompagnées de TP pour chaque parties. La formation est complète, couvrant les bases de la programmation réactives jusqu'aux notions les plus complexes. J'ai aimé le fait qu'elle alterne entre des sessions théoriques et des travaux pratiques. Je n'ai aucun doute sur le fait que cette formation m'aidera sur mes projets actuels et futurs. En conclusion, je recommande vivement cette formation sur la programmation réactive à tous ceux qui souhaitent approfondir leurs connaissances.

Voir plus

Très bonne formation, avec de la densité. Ca m'a fait beaucoup réfléchir sur mon usage actuel de reactor et des pratiques pas toujours maîtris...

Très bonne formation, avec de la densité. Ca m'a fait beaucoup réfléchir sur mon usage actuel de reactor et des pratiques pas toujours maîtrisées que j'avais. Je me sens à présent bien mieux armé et sûr de moi sur le sujet pour les prochains dev. Je recommande.

Voir plus

Formation et formateur au top. La programmation reactive devient de plus en plus répandue et une telle formation est nécessaire pour en appréh...

Formation et formateur au top. La programmation reactive devient de plus en plus répandue et une telle formation est nécessaire pour en appréhender les concepts

Voir plus

Formation riche sur des concepts pas toujours évidents. Bravo pour la pédagogie et la capacité à rendre le sujet clair. Bon équilibre entre t...

Formation riche sur des concepts pas toujours évidents. Bravo pour la pédagogie et la capacité à rendre le sujet clair. Bon équilibre entre théorie et travaux pratiques. Les TP sont bien pensés pour vraiment apprendre et comprendre et ne pas juste appliquer du copier-coller de support.

Voir plus

Cours très bien structuré et formateur en parfaite maîtrise de son sujet. Beaucoup d'aspects sont passés en revue, certaines leçons font écho ...

Cours très bien structuré et formateur en parfaite maîtrise de son sujet. Beaucoup d'aspects sont passés en revue, certaines leçons font écho à des précédentes pour assurer un rappel de ce qui a été vu, les TP sont parfaitement en phase avec l'étape en cours. Formation vraiment excellente !

Voir plus

Programme très complet et assez approfondi. Niveau de difficulté un peu élevé. Nécessite un bon niveau initial en Java.

Programme très complet et assez approfondi. Niveau de difficulté un peu élevé. Nécessite un bon niveau initial en Java.

La formation était très complète mais certains exercices étaient très difficiles.

La formation était très complète mais certains exercices étaient très difficiles.

Très bonne formation. Excellente communication.

Très bonne formation. Excellente communication.

Formation très intéressante, durée idéale pour bien appréhender tous les concepts.

Formation très intéressante, durée idéale pour bien appréhender tous les concepts.

il est très utile d'avoir pratiquer les streams (introduit en Java 8) et leur syntaxe

il est très utile d'avoir pratiquer les streams (introduit en Java 8) et leur syntaxe

Formation complète et très intéressante. Il est je pense nécessaire de maitriser parfaitement java et notamment la programmation fonctionnell...

Formation complète et très intéressante. Il est je pense nécessaire de maitriser parfaitement java et notamment la programmation fonctionnelle pour appréhender plus facilement le contenu très riche de cette formation.

Voir plus

Formation très riche et complète. Merci au formateur, on sent l'expérience qui se cache derrière.

Formation très riche et complète. Merci au formateur, on sent l'expérience qui se cache derrière.

Formation complète et poussée. Cependant, assez dense. Pas toujours simple d'engranger tous les concepts au fil de l'eau ! Réfractaires à la ...

Formation complète et poussée. Cependant, assez dense. Pas toujours simple d'engranger tous les concepts au fil de l'eau ! Réfractaires à la programmation fonctionnelles, passez votre chemin...

Voir plus

Bonne formation, assez soutenu. Pas évident en mode télétravail...

Bonne formation, assez soutenu. Pas évident en mode télétravail...

Besoin d'aide ?

Vous souhaitez discuter avec nous à propos de votre projet de formation ?
Vous voulez plus d'information sur une formation ou notre fonctionnement ?


Rappel Email

Nos forces

  • Des formations à taille humaine
  • Des formateurs passionnés
  • Des véritables workshop
Accéder au Manifeste

Nos clients

Formation Programmation Réactive avec Reactor

Notée : (52)*

Apprenez la programmation réactive en développant des applications robustes grâce aux Reactive Streams et Reactor lors de cette formation orientée pratique de 3 jours !

Formation Programmation Réactive avec Reactor

Cette formation Programmation Réactive avec Reactor se concentre sur la programmation réactive en Java. Ce paradigme de programmation s'est démocratisé pour traiter de nombreuses problématiques rencontrées dans le développement d'applications modernes, telles que la tolérance à la panne, la montée en charge ou encore la vitesse de réponse du système.

La formation Programmation Réactive avec Reactor s'adresse à des développeur·se·s ayant des notions en programmation fonctionnelle qui souhaitent maîtriser la programmation réactive de bout en bout. Cela se fera par une approche essentiellement pratique en étudiant les flux réactifs (Reactive Streams).

Lors de cette formation, vous utiliserez la librairie Reactor pour savoir à son terme :

  • traiter des données dont le volume est non prédéterminé
  • augmenter la maintenabilité de votre application
  • avoir un code uniformisé, de la récupération de la donnée jusqu'à l'affichage

A l'issue de la formation, les participant·e·s repartiront avec les supports de formation ainsi que les corrigés des TPs.

Cette formation utilise la version 17 de Java, et la version 3 de Reactor.

Installations nécessaires sur votre machine : JDK 17

Envie d'aller plus loin ?

Découvrez nos formations de l'écosystème Java :
- la formation Java Spring Batch pour développer des batchs performants et robustes,
- la formation Java Spring Web pour comprendre et utiliser le framework Spring,
- et enfin la formation Apache Kafka pour mettre en œuvre le broker de message et la plate-forme d'event streaming Kafka.

Les objectifs

  • Comprendre l'intérêt de la programmation réactive
  • Connaître la spécification Reactive Stream et ses implémentations (Reactor, RxJava, Java 9 Flow)
  • Maîtriser la librairie Reactor
  • Traiter des problèmes de programmation concurrente
  • S'appuyer sur un modèle de communication asynchrone

Pré-requis

  • Avoir des notions en programmation fonctionnelle
  • Avoir des bases en Java et notamment connaître l'utilisation des lambdas
  • Connaître le fonctionnement des threads
  • Ordinateur portable à apporter

Le programme de la formation Programmation Réactive avec Reactor

Jour 1 : Découverte des Reactive Stream et prise en main de Reactor

Introduction
  • Intérêt de la programmation réactive
  • Historique de la programmation réactive
  • Tour d'horizon de l'écosystème
La spécification
  • Publisher et Subscriber
  • Flux d’événements asynchrone
  • Implémentation par l'API Flow
Sur quoi s'appuie Reactive Stream
  • La programmation fonctionnelle
  • Utilisation des lambdas
  • Pattern Observer
  • Les opérateurs
Reactor
  • Introduction
  • Abonnement avec subscribe()
  • Gestion de la contre-pression (backpressure)
  • Abstraction du threading model

Jour 2 : Concepts avancés

Debug, tests et observabilité
  • Écrire des scénarii de test
  • Effectuer des assertions
  • Émettre des événements et gérer le temps
  • Gérer ses métriques avec Micrometer
Threading
  • Notion de Scheduler
  • Différences entre subscribeOn() et publishOn()
  • Créer et choisir le bon Scheduler
Les Publishers de Reactor
  • "eager" / "lazy" : comparatifs entre just(), defer() et ses dérivés
  • "push" vs "pull" : stratégies de gestion de la contre-pression
  • "hot" vs "cold" : cas d'usage avec les processors
  • Comparatif avec RxJava
Zoom sur les opérateurs
  • Transformer et filtrer les événements
  • Combiner plusieurs sources
  • Écrire son propre opérateur

Jour 3 : Cas concrets et développement d'applications

Cas pratiques
  • Reactor et la concurrence
  • Traitement des erreurs
  • Gestion du contexte en environnement multi-threadé
  • Performance vs Résilience
Architecture
  • Communication Client / Server / Base de données
  • Gestion des batchs
  • Reactive Stream dans les microservices
  • Spring Webflux, Spring Data Reactive et R2DBC

Mises en pratique :

  • Manipulation des interfaces Subscriber et Publisher
  • Mise en place de la librairie Reactor
  • Utilisation des Schedulers
  • Écriture de tests unitaires avec StepVerifier
  • Utilisation de différents opérateurs
  • Création d'une application WEB réactive avec Spring Boot, MongoDB/PostgresSQL et RSocket
  • Utilisation du service Google PubSub dans une architecture réactive

Télécharger le programme

Le(s) formateur(s)

Guillaume DROUET

Guillaume DROUET

Guillaume est développeur depuis 10 ans et spécialisé dans le monde des APIs WEB. Il a travaillé en tant que consultant et formateur en ESN puis en startup dans la région Lilloise.

Aujourd'hui, il est freelance et intervient en tant que tech lead chez ses clients où il les conseille au quotidien sur des problématiques de qualité du code, d'architecture et de performance applicative.

Il aime partager et apprendre via différents axes, c'est pour cela que il donne des formations en parallèle de ses missions. A ce titre, il est également vacataire à l'Université depuis 2014.

Voir son profil détaillé

A propos de Human Coders

Human Coders c'est un centre de formation pour développeurs avec :

  • une certification Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
  • de nombreux clients qui nous font confiance depuis des années
  • un manifeste pour garantir des formations à taille humaine, des formateurs passionnés, de véritables workshops...
  • 153 formations au catalogue, 1629 sessions depuis nos débuts en 2012 avec une moyenne de satisfaction de 4,6/5
  • la possibilité de vous proposer un accompagnement personnalisé ou du conseil après la formation

19 témoignages

La formation et le formateur au top, le seul bémol est qu'une formation aussi pointue est toujours préférable en présentiel

La formation et le formateur au top, le seul bémol est qu'une formation aussi pointue est toujours préférable en présentiel

Formation généraliste qui m'a vite perdu. Pas assez de temps passé sur les tests et le debug

Formation généraliste qui m'a vite perdu. Pas assez de temps passé sur les tests et le debug

La formation s'est bien déroulée, malgré le format à distance, les supports étaient clairs et bien conçus. Le formateur était très pédagogue e...

La formation s'est bien déroulée, malgré le format à distance, les supports étaient clairs et bien conçus. Le formateur était très pédagogue et prenait le temps d'expliquer chaque notion en détails, les tps étaient bien structurés, ce qui permettait d'appliquer concrètement les connaissances acquises.

Voir plus

J'attendais beaucoup de cette formation Reactor car cela faisait quelques temps que je n'arrivais plus à progresser sur le sujet et cela me gê...

J'attendais beaucoup de cette formation Reactor car cela faisait quelques temps que je n'arrivais plus à progresser sur le sujet et cela me gênait dans mon travail hebdomadaire. Grâce à Guillaume, j'ai pu comprendre l'histoire de Reactor, son fonctionnement interne et toutes les possibilités que cette librairie permet. Je sors de cette formation avec plus d'assurance concernant l'utilisation de Reactor. Guillaume est vraiment très patient, pédagogue et il sait s'adapter au rythme de chacun. Et les différents TD permettent vraiment de mettre tout de suite en pratique ce qu'on a vu de manière théorique juste avant.

Voir plus

Excellente formation qui permet de bien comprend d'où part la programmation réactive pour bien manipuler reactor ensuite.

Excellente formation qui permet de bien comprend d'où part la programmation réactive pour bien manipuler reactor ensuite.

La programmation réactive est une approche de conception innovante qui nécessite une mécanique d'esprit bien différente de ce qui existait jus...

La programmation réactive est une approche de conception innovante qui nécessite une mécanique d'esprit bien différente de ce qui existait jusqu'à présent. Tout d'abord je tiens à souligner la qualité du formateur. Il est très compétents dans ce domaine et surtout passionné par le sujet, ce qui se ressent dans la manière d'aborder et de présenter le sujet. Les explications sont claires, précises et accompagnées de TP pour chaque parties. La formation est complète, couvrant les bases de la programmation réactives jusqu'aux notions les plus complexes. J'ai aimé le fait qu'elle alterne entre des sessions théoriques et des travaux pratiques. Je n'ai aucun doute sur le fait que cette formation m'aidera sur mes projets actuels et futurs. En conclusion, je recommande vivement cette formation sur la programmation réactive à tous ceux qui souhaitent approfondir leurs connaissances.

Voir plus

Très bonne formation, avec de la densité. Ca m'a fait beaucoup réfléchir sur mon usage actuel de reactor et des pratiques pas toujours maîtris...

Très bonne formation, avec de la densité. Ca m'a fait beaucoup réfléchir sur mon usage actuel de reactor et des pratiques pas toujours maîtrisées que j'avais. Je me sens à présent bien mieux armé et sûr de moi sur le sujet pour les prochains dev. Je recommande.

Voir plus

Formation et formateur au top. La programmation reactive devient de plus en plus répandue et une telle formation est nécessaire pour en appréh...

Formation et formateur au top. La programmation reactive devient de plus en plus répandue et une telle formation est nécessaire pour en appréhender les concepts

Voir plus

Formation riche sur des concepts pas toujours évidents. Bravo pour la pédagogie et la capacité à rendre le sujet clair. Bon équilibre entre t...

Formation riche sur des concepts pas toujours évidents. Bravo pour la pédagogie et la capacité à rendre le sujet clair. Bon équilibre entre théorie et travaux pratiques. Les TP sont bien pensés pour vraiment apprendre et comprendre et ne pas juste appliquer du copier-coller de support.

Voir plus

Cours très bien structuré et formateur en parfaite maîtrise de son sujet. Beaucoup d'aspects sont passés en revue, certaines leçons font écho ...

Cours très bien structuré et formateur en parfaite maîtrise de son sujet. Beaucoup d'aspects sont passés en revue, certaines leçons font écho à des précédentes pour assurer un rappel de ce qui a été vu, les TP sont parfaitement en phase avec l'étape en cours. Formation vraiment excellente !

Voir plus

Programme très complet et assez approfondi. Niveau de difficulté un peu élevé. Nécessite un bon niveau initial en Java.

Programme très complet et assez approfondi. Niveau de difficulté un peu élevé. Nécessite un bon niveau initial en Java.

La formation était très complète mais certains exercices étaient très difficiles.

La formation était très complète mais certains exercices étaient très difficiles.

Très bonne formation. Excellente communication.

Très bonne formation. Excellente communication.

Formation très intéressante, durée idéale pour bien appréhender tous les concepts.

Formation très intéressante, durée idéale pour bien appréhender tous les concepts.

il est très utile d'avoir pratiquer les streams (introduit en Java 8) et leur syntaxe

il est très utile d'avoir pratiquer les streams (introduit en Java 8) et leur syntaxe

Formation complète et très intéressante. Il est je pense nécessaire de maitriser parfaitement java et notamment la programmation fonctionnell...

Formation complète et très intéressante. Il est je pense nécessaire de maitriser parfaitement java et notamment la programmation fonctionnelle pour appréhender plus facilement le contenu très riche de cette formation.

Voir plus

Formation très riche et complète. Merci au formateur, on sent l'expérience qui se cache derrière.

Formation très riche et complète. Merci au formateur, on sent l'expérience qui se cache derrière.

Formation complète et poussée. Cependant, assez dense. Pas toujours simple d'engranger tous les concepts au fil de l'eau ! Réfractaires à la ...

Formation complète et poussée. Cependant, assez dense. Pas toujours simple d'engranger tous les concepts au fil de l'eau ! Réfractaires à la programmation fonctionnelles, passez votre chemin...

Voir plus

Bonne formation, assez soutenu. Pas évident en mode télétravail...

Bonne formation, assez soutenu. Pas évident en mode télétravail...

* Nombre de personnes ayant répondu au questionnaire de satisfaction sur cette formation depuis 2012