Public visé
Développeurs, architectes et chefs de projets.
Prérequis
- Bonnes connaissances en Java ainsi que des bases du web : HTTP, HTML, CSS, JavaScript
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Concevoir et développer des applications basées sur les spécifications Java EE - Jakarta EE
- Mettre en place une couche d’accès aux données avec JPA
- Mettre en place une architecture distribuée avec EJB et JMS
- Mettre en place une couche de présentation avec JSF et Ajax
- Développer et consommer des services web REST
- Mettre en place un canal de communication entre un navigateur HTML5 et un serveur via les WebSockets
Programme
Introduction
- Bonnes pratiques de conception : séparation des responsabilités, KISS, DRY, POJO
- Présentation des principales API
- De Java EE à Jakarta EE
- La concurrence du framework Spring
Environnement de travail
- Environnement Eclipse
- Dépendances Maven
- Tests unitaires avec Arquillian
- Utilisation des webtools, prise en main du serveur
- TP : Installer l’IDE et le serveur
Découpage n-tiers et injection de dépendances avec CDI
- Découpage en couche, approche POJO
- Scopes et gestion de l’état
- Injection de dépendances
- Intercepteurs
- TP : Mise en place d’une application n-tiers, utilisation de CDI
Accès aux données avec JPA
- Mapping objet relationnel (xml, annotations)
- Lazy loading
- Manipulation de l’API EntityManager
- JPA-QL, API Criteria, MetaModel, EntityGraph
- Gestion des transactions avec JTA
- TP : Mise en place de la couche d’accès aux données
Architecture distribuée avec EJB et JMS
- Services techniques de l’API EJB : sécurité, remoting, accès concurrents, accès asynchrones, timers
- Positionnement des EJB par rapport aux beans CDI
- JMS pour les échanges de messages
- TP : Mise en place de services avec EJB sessions et bus d’échange JMS
Web et JSF
- Concepts (MVP, Presenter, View)
- Facelets, taglibs, jsf-el
- Validation avec l’API Bean Validation
- Mise en œuvre d’Ajax
- TP : Mise en œuvre de JSF et d’Ajax
Web services REST
- API JAX-RS pour les services web RESTful
- Rappels HTTP : les verbes, les ContentType
- CORS : cross origin shared resource, HATEOAS
- Produire et consommer des objets via l’API Java de traitement JSON
- TP : Exposer des services, consommer ces services REST via client web
WebSockets
- Principe technique
- Le pattern pub/sub et l’échange de messages
- Mise en place côté serveur et client
- TP : Ajout d’une connexion WebSocket au client web