Ce cours de spécialité forme les étudiants au développement d’applications d’entreprise en Java selon une approche par composants, avec la plateforme Jakarta EE (anciennement Java EE) et, en comparaison, l’écosystème Spring. Les applications de gestion des banques, des opérateurs de mobile money, des administrations (e-gouvernement) et des établissements d’enseignement reposent souvent sur ce type d’architecture multi-tiers : composants web, composants métier transactionnels, persistance objet-relationnel et services web. Le cours suit un fil conducteur : la construction progressive d’une application de gestion des inscriptions et des paiements de frais de scolarité pour un établissement de Niamey, de la servlet à l’API REST sécurisée conteneurisée. Chaque leçon comporte un TP guidé.
Objectifs d’apprentissage
- Expliquer l’architecture de Jakarta EE (tiers, conteneurs, profils, spécifications) et déployer une application sur un serveur d’applications.
- Développer la couche web avec servlets, JSP et Jakarta Faces, avec validation des entrées et protection contre les injections de script.
- Concevoir des composants métier avec CDI et EJB et maîtriser les transactions.
- Implémenter la persistance avec JPA (entités, relations, JPQL, verrouillage) en évitant les pièges de performance.
- Exposer et sécuriser une API REST (Jakarta REST, JSON-B, Jakarta Security) et la déployer dans un conteneur Docker.
- Comparer Jakarta EE, MicroProfile et Spring Boot pour choisir une pile technique.
Prérequis
Programmation orientée objet en Java (collections, exceptions, annotations, génériques), SQL et modèle relationnel, HTTP et HTML, notions d’UML et de Maven ou Git.
Plan du cours
- Leçon 1 — La plateforme Jakarta EE : architecture, conteneurs et servlets
- Leçon 2 — Couche présentation : JSP, Jakarta Faces et validation
- Leçon 3 — Composants métier et persistance : CDI, EJB, transactions et JPA
- Leçon 4 — Services web REST, sécurité, frameworks et déploiement
Modalités d’évaluation
Volume horaire : 20 h de CM, 20 h de TD, 20 h de TP, 60 h de TPE, soit 120 h pour 6 crédits. Évaluation : contrôle continu (comptes rendus de TP, TD notés et projet de groupe « application de scolarité Jakarta EE », 40 %) et examen terminal écrit (60 %).
Bibliographie
- Eclipse Foundation, Jakarta EE Platform Specification et Jakarta EE Tutorial, disponibles sur jakarta.ee.
- Antonio Goncalves, Beginning Java EE 7, Apress, 2013.
- Arun Gupta, Java EE 7 Essentials, O’Reilly, 2013.
- Christian Bauer, Gavin King, Gary Gregory, Java Persistence with Hibernate, 2e éd., Manning, 2015.
- Craig Walls, Spring in Action, 6e éd., Manning, 2022.
