Public
Public concerné : Développeurs, ingénieurs, chefs de projets proches du développement.
Pré-requis
Bonnes connaissances en Java ainsi que des bases du web : HTTP, HTML, CSS, JavaScript.
Objectifs
- Concevoir et créer des applications conformes aux spécifications de Java EE - Jakarta EE
- Implémenter une couche d'accès aux données en utilisant JPA
- Établir une architecture distribuée avec EJB et JMS
- Déployer une couche de présentation avec JSF et Ajax
- Développer et intégrer des services web REST
- Configurer un canal de communication entre un navigateur HTML5 et un serveur à l'aide des WebSockets.
Programme
Jour 1: Introduction et Environnement de Travail (7 heures) Module 1: Introduction (2h30) Bonnes pratiques de conception : séparation des responsabilités, KISS, DRY, POJO. Principales API. De Java EE à Jakarta EE. Concurrence avec le framework Spring. Module 2: Environnement de Travail (2h30) Environnement Eclipse. Dépendances Maven. Tests unitaires avec Arquillian. Webtools et prise en main du serveur. Travaux pratiques: Installation de l'IDE et du serveur. Module 3: Découpage n-tiers et injection de dépendances avec CDI (2h30) Découpage en couche, approche POJO. Scopes et gestion de l'état. Injection de dépendances. Intercepteurs. Travaux pratiques: Mise en place d'une application n-tiers avec utilisation de CDI.
Jour 2: Accès aux Données et Architecture Distribuée (7 heures) Module 4: Accès aux Données avec JPA (2h30) Mapping objet relationnel (xml, annotations). Lazy loading. Manipulation de l'API EntityManager. JPA-QL, API Criteria, MetaModel, EntityGraph. Gestion des transactions avec JTA. Travaux pratiques: Mise en place de la couche d'accès aux données. Module 5: Architecture Distribuée avec EJB et JMS (2h30) Services techniques de l'API EJB. Positionnement des EJB par rapport aux beans CDI. JMS pour les échanges de messages. Travaux pratiques: Mise en place de services avec les EJB sessions et d'un bus d'échange de messages avec JMS. Module 6: Web et JSF (2h30) Concepts (MVP, Facelets, taglibs, jsf-el). Validation avec l’API Bean Validation. Mise en œuvre d'Ajax. Travaux pratiques: Mise en œuvre de JSF et d'Ajax.
Jour 3: Web Services REST et WebSockets (7 heures) Module 7: Web Services REST (2h30) API JAX-RS pour les services web RESTful. Rappels HTTP, CORS, HATEOAS. Produire et consommer des objets via l'API Java de traitement JSON. Travaux pratiques: Exposition de services, consommation de services REST via un client web. Module 8: WebSockets (2h30) Principe technique. Pattern pub/sub et l’échange de messages. Mise en place côté serveur et client. Travaux pratiques: Ajout d’une connexion WebSocket au client web.
Jour 4: Conclusion et Synthèse (7 heures) Module 9: Conclusion (2h30) Retour sur les points clés. Récapitulation des bonnes pratiques. Comparaison Java EE - Jakarta EE et Spring. Perspectives d'évolution. Module 10: Travaux Pratiques et Révision (2h30) Revue des travaux pratiques. Session de questions-réponses. Derniers ajustements. Synthèse générale. Module 11: Évaluation Finale (2h30)
Évaluation des acquis. QCM, mises en situation. Remise des attestations de formation. Feedback et échanges.
