Formation Vert.x
Développement Web avec Vert.x
La légende prétend que Eclipse Vert.x serait issu d’un croisement entre Node.JS et Java. Ce qui est certain, c’est que c’est une boite à outil qui permet entre autres de développer des applications Web modernes, en mode réactif, sans serveur d’application.
Dans cette formation, vous apprendrez à utiliser les API de Vert.x pour le développement Web. Puis en étudiant ses principales fonctionnalités, vous arriverez à l’utiliser pour mettre en place une architecture réactive.
Public cible
Développeurs Java
Développeurs ayant une bonne connaissance du langage Java et souhaitant apprendre Vert.x pour créer des applications réactives
Architectes logiciels
Architectes souhaitant comprendre les patterns et bonnes pratiques Vert.x pour concevoir des architectures robustes.
Tech leads
Leaders techniques devant évaluer et comprendre Vert.x.
Prérequis
Prérequis obligatoires
- Connaissance et pratique du dévelopemment Java
- Fonctionnement du Web
- Expérience avec Maven ou Gradle
- Compréhension des bases de données relationnelles et SQL
Connaissances recommandées
- Utilisation d'un IDE (IntelliJ IDEA, Eclipse, VS Code)
- Familiarité avec les concepts REST
Environnement technique
Outils de développement
Configuration système
Programme détaillé
Introduction
-
Avantages de la programmation non-bloquante
-
Techniques de programmation asynchrones en Java : callback, (completable) future, Rx
-
Architecture par thread pool contre architecture par event-loop
-
Champs d’utilisation : Web, IoT, microservices
Premiers pas
-
Définition d’un verticle
-
Démarrage d’un serveur Web
-
Gestion des erreurs
-
Interactions avec l’event bus
Architecture d’une application
-
Threads et exploitation des processeurs
-
Installation et configuration d’un verticle
-
Verticles et découpage métier
-
Intégration de services bloquants avec les service workers
-
Simplification des interactions avec les service proxies
-
Déploiement local ou déploiement distribué
RxJava
-
Programmation par callback contre programmation réactive
-
Principes de l’API RxJava
-
Amélioration de la qualité de service : timeout et retry
Développement Web
-
Serveur HTTP, options avancées
-
Organisation des routes
-
Client HTTP
Intégration
-
Interaction avec le système de fichiers
-
Principaux protocoles : HTTP/1, HTTP/2, WebSocket, MQTT,…
-
Base de données relationnelles avec JDBC
-
Cas particuliers de PosgreSQL et MySQL
-
MongoDB, Kafka
Tests
-
Test unitaire et mock
-
Test d’intégration, par service
Préparation au déploiement
-
Health check
-
Publication de métriques avec Vert.x metrics et Prometheus
-
Service discovery, circuit breaker
-
Déploiement avec Docker, prise en compte des contraintes mémoire et processeur
Objectifs et résultats attendus
Compétences acquises
- Comprendre les avantages de la programmation non-bloquante et son impact sur la performance des applications.
- Appliquer les patterns réactifs pour gérer la concurrency et la scalabilité
- Créer et déployer des verticles Vert.x
- Utiliser les service workers pour isoler les tâches bloquantes
- Interagir avec des systèmes externes
- Écrire des tests unitaires et d'intégration pour Vert.x
Livrables formation
- Code source de tous les travaux pratiques
- Projet final complet et fonctionnel
- Slides de formation en PDF
- Notes techniques
- Ressources et liens utiles
Prêt à maîtriser Vert.x ?
Contactez-moi pour organiser cette formation pour votre équipe ou vous inscrire à la prochaine session.
Formation disponible en présentiel ou en distanciel.
Adaptation du contenu possible selon vos besoins spécifiques.