Cette formation présente les principales API Jakarta EE (Jakarta Persistence, RESTful Web Services, Contexts and Dependency Injection, Messaging...) à travers une architecture modulaire couvrant tous les aspects fondamentaux des applications n-tiers. Elle intègre également les extensions Eclipse MicroProfile et une mise en contexte des runtimes associés (serveur d’applications vs Quarkus).
Les participant·es y consolident leurs connaissances en architecture Java backend, tout en s’exerçant à bâtir une application complète, de la couche d’accès aux données jusqu’à l’exposition des services REST. Le cours inclut l’intégration continue (CI/CD), la conteneurisation en image OCI et une réflexion sur le choix des environnements d’exécution (serveur d’applications, Quarkus).
Objectifs de la formation
Modéliser une application backend complète avec Jakarta EE, en combinant ses principales API et en tenant compte des impératifs de performance, de maintenance et d’intégration.Clientèle visée
Développeurs backend confirmés, architectes logiciels Java, chefs de projet techniques, ingénieur·es DevOps souhaitant intégrer Jakarta EE dans un projet modulaire ou rétrospectif (migration depuis Java EE, évolution vers MicroProfile, outillage Quarkus).Préalables
Ce cours demande une connaissance solide des bases de la programmation Java (principes de la programmation orientée objet, types génériques, annotations, expressions lambda), être familier·e des IDE Java (Eclipse ou IntelliJ) et des principes de structuration en couches.Formateurs
Gains pour les participants
Mettre en œuvre une architecture multi-couches avec Jakarta EE et ses spécifications clés
Implémenter des APIs REST et des interfaces web côté serveur
Gérer la persistance des données et les transactions avec Jakarta Persistence
Utiliser la messagerie asynchrone avec Jakarta Messaging
Explorer les extensions Eclipse MicroProfile et le build natif avec Quarkus
Architecture de la formation
Cette formation suit une approche modulaire et orientée pratique pour structurer une application métier en environnement Jakarta EE. Chaque étape introduit une ou plusieurs spécifications compatibles Jakarta EE et propose leur intégration dans un projet complet enrichi tout au long du parcours.
Introduction
Ce module présente les fondations du modèle Jakarta EE, ses spécifications et ses implémentations (serveurs d’applications, Quarkus). Il positionne Jakarta EE comme réponse aux problématiques courantes des projets backend complexes : robustesse, évolutivité, maintenabilité. On y aborde également Eclipse MicroProfile comme complément moderne au standard.
- Rappel des bonnes pratiques de conceptions.
- Jakarta EE: un ensemble d'API comme réponse aux problématiques des application backend.
- De Java EE à Jakarta EE: la transition vers la fondation Eclipse.
- Eclipse Microprofile comme extensions aux API de Jakarta EE.
- Présentation des environnements d'exécution et de développement.
Couplage faible avec Jakarta CDI, Jakarta Interceptors et EJB
Ce module aborde l’injection de dépendances, les intercepteurs ainsi que les événements applicatifs via Jakarta CDI. Il montre l’enrichissement possible grâce aux Enterprise Java Beans (EJB), notamment pour l’exposition en mode distribué (remoting).
- La déclaration et le cycle de vie d'un bean.
- L'injection de dépendances.
- Les intercepteurs.
- La publication d'événements.
- EJB comme extension à CDI.
Mise en pratique: structuration d’une application en couches avec CDI et exposition via EJB.
Accès aux données et transactions avec Jakarta Persistence
Ce module porte sur la gestion de la persistance avec Jakarta Persistence API, le mapping objet-relationnel, la persistance d’état, la gestion des entités et la démarcation transactionnelle.
Accès aux données : introduction, rappels, bonnes pratiques.
Le mapping entre le modèle de données et le modèle objet.
Les opérations create, read, update, delete avec l’EntityManager.
Les états d’une entité : attachée, détachée, transiente.
Le lazy loading.
Les requêtes avec le langage JPQL.
Mise en pratique : déclaration d’un mapping, réalisation d’opération CRUD avec l’EntityManager, démarcation transactionnelle.
Publication et réception de messages avec Jakarta Messaging
Ce module introduit le modèle de messagerie JMS : notions de messages, échanges point à point ou en publication-souscription, injection de clients JMS et traitement par beans événementiels.
- Présentation des concepts.
- Les types de message et leur structure.
- Les destinations (Topic et Queue).
- L'envoi de messages avec le JMSContext.
- La réception de message avec les messages driven beans.
Mise en pratique: application du paradigme publish / subscribe avec le JMSContext et les message driven beans.
Création d’IHM avec Jakarta Faces
Ce module présente Jakarta Faces pour la création d’interfaces serveur : cycle de vie, gestion des vues (JSF-EL), validation et internationalisation. Il permet de mettre en place une interface utilisateur côté serveur, intégrée pleinement à l’application.
- Le modèle et son cycle de vie.
- Les vues et l'accès au modèle avec JSF-EL.
- L'internationalisation.
- La validation.
- La gestion des exceptions.
Mise en pratique : réalisation d'un frontend pour exposer l'application backend développée précédemment.
Création d'une API REST avec Jakarta RESTful WebServices
Ce module présente la structuration d’API REST via Jakarta RESTful Web Services et introduit les bonnes pratiques de conception centrées sur les ressources.
- Bonnes pratiques de conception d'une API REST.
- L'écriture d'un endpoint
- La gestion et le routage des requêtes.
- La validation des données en entrée.
- Les providers pour l’application de traitements transverses
Mise en pratique: réalisation d'une API REST exposer l'application développée précédemment.
Quarkus comme alternative au serveur d'applications
Ce module introduit Quarkus comme environnement d’exécution optimisé pour Jakarta EE. Il explore les concepts de compilation Ahead-Of-Time (AOT), serveur embarqué et livraison conteneurisée.
- Présentation de la méthodologie 12 factors app.
- Le serveur web embarqué.
- La compilation AOT: définition, avantages et limites.
- La livraison sous la forme d'image OCI.
Mise en pratique: reprise du projet développé précédemment pour en faire une application autonome.
Détails pédagogiques
Méthode pédagogique
• Explication, pour chaque concept, du problème qu'il prétend résoudre. • Mise en pratique d'un concept immédiatement après qu'il a été présenté. • Validation de chaque étape par exécution de tests unitaires. • Exercice « fil rouge » pour obtenir en fin de cours une application complète. • QCM en fin de chapitre pour s'assurer de l'acquisition des connaissances.
Type de cours
Formation en entreprise
Toutes nos formations peuvent être offertes en entreprise et personnalisées selon vos besoins. Pour plus d'information, nous vous invitons à communiquer avec nous ou à remplir une demande de soumission en ligne.
Demander une soumissionFormation en entreprise
Toutes nos formations peuvent être offertes en entreprise et personnalisées selon vos besoins. Pour plus d'information, nous vous invitons à communiquer avec nous ou à remplir une demande de soumission en ligne.
Demander une soumission