Java EE Microservices
Description
Explorer la création et la gestion de microservices avec Java EE
pour des architectures distribuées.
Les contenus techniques vus au cours de cette formation sont:
→ Introduction aux Microservices et Concepts Java EE
→ Transactions Distribuées et Scalabilité
→ Sécurité, Tests et Déploiement
Quels sont les buts de la formation ?
Comprendre les principes fondamentaux des
microservices et leur rôle dans le développement
d'applications modulaires et évolutives.
→ Apprendre à concevoir, développer et déployer
des microservices en utilisant Java EE.
→ Maîtriser les techniques de communication
inter-microservices et la gestion des transactions
distribuées.
→ Comprendre les meilleures pratiques de gestion
de la scalabilité, de la disponibilité et de la sécurité
des microservices.
→ Savoir comment tester, surveiller et déboguer
les microservices.
Que devez vous connaître pour suivre la formation ?
→ Maîtrise de la programmation Java, y compris
les concepts avancés tels que les classes,
les interfaces, les collections et les annotations.
→ Compréhension des principes de base des
architectures de microservices et des technologies
de communication inter-microservices
(e.g., REST, Messaging).
→ Connaissance des bases de données relationnelles
et de l'utilisation de JPA (Java Persistence API)
pour interagir avec la base de données.
Programme de la formation
INTRODUCTION AUX MICROSERVICES ET CONCEPTS JAVA EE
Introduction aux
Microservices
• Présentation des
microservices et
comparaison avec
les architectures
monolithiques.
• Avantages et défis
liés à l'adoption des
microservices.
• Configuration
de l'environnement
de développement pour
les microservices.
↘ Introduction à Java EE
• Présentation de Java EE
et de ses spécifications
pour les microservices.
• Utilisation des conteneurs
Java EE pour gérer
les dépendances et
les configurations.
• Création d'un projet
de base pour développer
des microservices avec
Java EE.
↘ Conception de
Microservices
• Principes de
conception pour les
microservices (e.g.,
Cohésion, Découplage,
Responsabilité unique).
• Modélisation des
microservices avec Java
EE (e.g., EJB, JPA, CDI).
• Gestion de la
communication entre
microservices (e.g.,
RESTful API, Messaging
TRANSACTIONS DISTRIBUÉES ET SCALABILITÉ
↘ Transactions Distribuées
• Comprendre les
transactions distribuées
dans un environnement de
microservices.
• Utilisation de JTA (Java
Transaction API) pour
gérer les transactions
réparties.
• Mise en oeuvre de la
compensation en cas
d'échec de la transaction.
↘ Scalabilité et Haute
Disponibilité
• Gestion de la scalabilité
des microservices pour
faire face aux charges de
travail variables.
• Utilisation de la
mise en cache et du
partitionnement de
données pour améliorer
les performances.
• Stratégies pour assurer
la haute disponibilité
et la résilience des microservices
SÉCURITÉ, TESTS ET DÉPLOIEMENT
Sécurité dans
les Microservices
• Stratégies de sécurité
pour les microservices
(e.g., OAuth, JWT).
• Gestion de l'authentification
et de l'autorisation dans un
environnement distribué.
• Mise en place de
mécanismes de protection
contre les attaques
(e.g., DDoS, CSRF).
↘ Tests et Débogage
des Microservices
• Stratégies de test
pour les microservices
(e.g., Tests unitaires,
Tests d'intégration).
• Outils de débogage pour
résoudre les problèmes
liés aux microservices.
• Utilisation des registres
et de la surveillance pour
suivre les performances
des microservices.
↘ Déploiement des
Microservices
• Configuration des
pipelines de déploiement
pour les microservices.
• Déploiement dans
un environnement
de production et
de pré-production.
• Stratégies de déploiement
pour minimiser les temps
d'arrêt.
Sécurité dans
les Microservices
• Stratégies de sécurité
pour les microservices
(e.g., OAuth, JWT).
• Gestion de l'authentification
et de l'autorisation dans un
environnement distribué.
• Mise en place de
mécanismes de protection
contre les attaques
(e.g., DDoS, CSRF).
↘ Tests et Débogage
des Microservices
• Stratégies de test
pour les microservices
(e.g., Tests unitaires,
Tests d'intégration).
• Outils de débogage pour
résoudre les problèmes
liés aux microservices.
• Utilisation des registres
et de la surveillance pour
suivre les performances
des microservices.
↘ Déploiement des
Microservices
• Configuration des
pipelines de déploiement
pour les microservices.
• Déploiement dans
un environnement
de production et
de pré-production.
• Stratégies de déploiement
pour minimiser les temps
d'arrêt.
↘ Exercices pratiques
• Configuration de l'environnement Java EE pour développer
des microservices.
• Création d'un microservice simple avec Java EE et déploiement
sur un serveur d'application.
• Mise en place d'une communication RESTful entre deux
microservices.
• Implémentation d'une transaction distribuée entre plusieurs
microservices.
• Mise en place de la scalabilité horizontale pour un microservice
spécifique.
• Gestion de la mise en cache pour améliorer les performances
des microservices.
• Mise en place de la sécurité basée sur JWT
pour les microservices.
• Écriture de tests unitaires et d'intégration pour valider le bon
fonctionnement des microservices.
• Déploiement d'un groupe de microservices sur un environnement de production.