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
What are the aims of the training?
-
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.
What do you need to know to follow the training?
-
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.
Training programme
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.