D3-C01 Jakarta EE – Chap 1 : Introduction
Documentation
De quoi s'agit-il ?
Java EE (Java Enterprise Edition) est une extension de la plateforme standard Java SE (Standard Edition) comprenant de nombreuses bibliothèques permettant de faciliter le développement d'applications d'entreprises installées et exécutées sur un serveur d'applications. Les applications développées en Jakarta EE ont la réputation d'être robustes et bien structurées, elles sont notamment utilisées dans le monde de la finance et dans les administrations. Cette technologie offre un ensemble riche de spécifications et de composants pour faciliter le développement, le déploiement et la gestion des applications Java à grande échelle (backend lourd, services applicatifs, …).
Depuis 2018, Java EE est devenu Jakarta EE.
(NB : Jakarta est par ailleurs la capitale de l'Indonésie, elle se trouve sur la côte nord-ouest de l'île de Java)
Composants Clés
Jakarta EE se compose de plusieurs spécifications et APIs qui simplifient le développement d'applications d'entreprise :
Servlets et JSP (JavaServer Pages) : Pour la création d'interfaces web dynamiques.
JDBC (Java Database Connectivity) : Pour l'accès aux bases de données relationnelles de manière portable et efficace.
JMS (Java Message Service) : Pour la communication asynchrone entre applications distribuées.
EJB (Enterprise JavaBeans) : Pour la gestion des composants d'entreprise, y compris la persistance des données et la gestion de transactions.
JTA (Java Transaction
API) : Pour la gestion des transactions distribuées.
JPA (Java Persistence
API) : Pour le mapping objet-relationnel facilitant l'accès aux données.
JAX-RS (Java
API for RESTful Web Services) : Pour développer des services web RESTful.
JSF (JavaServer Faces) : Pour la création d'interfaces utilisateur basées sur composants.
Le serveur d'application utilisé
Le serveur d'application (serveur web) doit être capable de communiquer avec le client qui le sollicite (via HTTP) et effectuer les traitements demandés. Plusieurs types de serveurs d'application sont capables de traiter Jakarta : Payara, WilFly, Apache Tomcat, JBoss, GlassFish …
Nous utiliserons Payara qui a l'avantage d'être relativement complet et ne nécessite pas l'ajout de dépendances supplémentaires.
Utilisation du modèle MVC (Modèle Vue Contrôleur)
Le modèle MVC appliqué à Jakarta EE
Dans une application Jakarta EE,
la couche Contrôle sera composée de servlets (contraction de Server et applets, il s'agit de petites applications pour serveur). La servlet est capable d'intercepter les requêtes des clients et de demander aux autres couches d'y apporter une réponse.
la couche Modèle comprend les classes métiers (objets java, javabeans) ainsi que les accès aux données persistantes (DAO) en communiquant avec une base de données.
la couche
Vue sera composée de
pages JSP (Java Server Pages) qui permettent la constitution de pages web. Une page JSP comprend des appels à des portions de code Java (pour constituer la partie variable de la page) et des balises
HTML.
Représentation schématique du modèle MVC appliqué à Java EE
Nous pourrions utiliser un framework pour nous aider à développer avec un ensemble de bibliothèques. Ici nous allons programmer en JEE pur pour apprendre les bases de la programmation JEE.
A Savoir:
Que permet de faire Jakarta EE ?
Sur quel type d'architecture repose Jakarta EE?
Quelles fonctions assure un serveur web ?
Quel serveur web allons-nous utiliser ?
Pourquoi utiliser un modèle de développement tel MVC ?
Représenter schématiquement le modèle MVC
Quel est le rôle de chacune des couches du modèle MVC ?
En Jakarta EE, de quoi est composée chacune des 3 couches du modèle MVC ?
Comment créer un projet web utilisant Jakarta avec Netbeans ?