Concevoir et développer des applications avec Jakarta EE
Les applications backend posent de nombreux défis: persistance de données, transactions, remoting, exposition d'API REST ou SOAP, échange de messages, etc... Jakarta EE, qui a pris le relai de Java EE, propose de répondre à ces problématiques par des spécifications.
Elles prennent la forme d'API standardisées et sont implémentés par différents runtimes (serveurs d'applications, Quarkus...).
Ce cours vous apprendra à écrire et à déployer des applications backend en utilisant ces APIs.
(35 heures)
Développeurs et développeuses Java, architectes
Accessible aux personnes en situation de handicap
DélaiLe cours peut être organisé dans un délai d'un mois.
Objectifs
A l'issue du cours vous saurez:- pratiquer l'injection de dépendances avec Jakarta Contexts and Dependency Injection (CDI);
- déclarer des intercepteurs avec Jakarta Interceptors;
- implémenter une couche d'accès aux données avec Jakarta Persistence API;
- appliquer des transactions avec Jakarta Transactions API
- exposer des objets en remoting avec Jakarta Entreprise Beans;
- échanger des messages entre composants applicatifs avec Jakarta Messaging API;
- réaliser un frontend côté serveur avec Jakarta Faces;
- créer une API REST avec Jakarta RESTful webservices;
- utiliser les extensions d'Eclipse Microprofile.
Prérequis
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), une habitude de travailler avec Eclipse ou IntelliJ.
Méthodes pédagogiques
- 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 ait é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.
Programme détaillé
Introduction
- Rappel des bonnes pratique 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.
- L'environnement d'exécution.
- L'environnement de développement.
Couplage faible avec Jakarta CDI, Jakarta Interceptors et EJB
- La déclaration d'un bean.
- L'injection de dépendances.
- Les intercepteurs.
- La publication d'événements.
- EJB comme extension à CDI.
Mise en pratique: mise en oeuvre de l'injection de dépendance dans une application n-tiers avec CDI, exposition en remoting avec EJB.
Accès aux données et transactions avec Jakarta Persistence
- 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
- Présentation des concepts.
- Les types de message et leur structure.
- Les destinations (
Topic
etQueue
). - L'envoi de messages avec le
JMSContext
. - La réception de message avec les message 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
- 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 développée précédemment.
Création d'une API REST avec Jakarta RESTful WebServices
- Bonnes pratiques de conception d'une API REST.
- L'écriture d'un endpoint et le routage des requêtes.
- La validation.
- Les providers.
Mise en pratique: réalisation d'une API REST exposer l'application développée précédemment.
Quarkus comme alternative au serveurs d'applications
- 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.
Démonstration: reprise du projet développé précédemment pour en faire une application autonome.
Prix et financements
2 12
Réduction de 50% pour les associations reconnues d'utilité publique.
Sources de financements pour les organisations françaises:
- prise en charge tout ou partie du coût de la formation par votre opérateur de compétence (OPCO);
- Le dispositif FNE formation si votre organisation est éligible.
- Le plan de développement des compétences de votre entreprise (renseignez-vous auprès de votre service RH).