Java EE Microservices
Description
La formation aborde les contenus techniques suivants :
-
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.
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.