Université Ibn Zohr
Faculté des Sciences d’agadir
Centre d’excellence IT
Plateforme Java EE
Développement d’application d'Enterprise
Pr. N. RIDA
Development
Module Web :
Plateforme Java EE
Java
Introduction à la plateforme JAVA EE
EE
Caractéristiques
Environnement de développement
Composants d’une application JEE
Architecture Client-Serveur
Fonctionnement et rôle
Protocole HTTP
Modèle MVC
MVC 1
MVC 2
API Servlet
La technologie JSP
Plateforme JAVAEE : Introduction
Pour développer des sites web Solides, Robuste et bien
structurés
Plateforme de confiance, qui a acquis une
Très utilisés en Finance : Banques, ou encore même très grande maturité professionnelle
dans les sites du gouvernement, …
Plateforme JAVAEE : Introduction
Concrètement : qu’est ce que JEE ?
Basé sur le langage JAVA JEE = JAVA + un ensemble de bibliothèques
Bien connu et bien établit Ajoutant des fonctionnalités a JAVA …
dans le monde des Aujourd'hui très majoritairement utilisé pour réaliser
entreprises… des sites WEB solides robuste et bien structurés
Plateforme JAVAEE : Introduction
Concrètement : qu’est ce que JEE ?
Plateforme de développement d’application WEB
VS
Plateforme JAVAEE : Introduction
Echange entre Client Serveur
Page WEB
HTML
Client Serveur
Plateforme JAVAEE : Introduction
Echange entre Client Serveur
Requête Http
http://
Réponse Http
Client Serveur
Plateforme JAVAEE : Introduction
Echange entre Client Serveur
Réponse HTTP Requête HTTP
(Lire, découper et analyser la RQT HTTP)
(Exécution du code JEE)
Modèle MVC
Reads Writes / Manipulates
View
Model Controller
Warns of
change (event)
Updates
Modèle MVC
JEE n’impose aucun rangement de code
on peut développer n’importe comment en JEE
Notre code va ressembler vite a ce bureau
trop difficile de retrouver une information
Modèle MVC
Bonne Pratique de développement : Pattern
MVC
Requête
Réponse HTTP HTTP
Requête
Réponse HTTP HTTP
Code Aiguillage, Routage
de l’information
Génération de la vue qui va Contenant les infos
être renvoyé au final structuré + le traitement
Modèle MVC
Bonne Pratique de développement :
Pattern MVC
Servlet
Pages JSP Objets Java
Modèle MVC
Structurés en MVC
Modèle MVC
Architecture web JEE : en MVC
1 Le Client envoie une requête HTTP de type GET ou POST vers le contrôleur représenté par un composant Web JEE appelé SERVLET .
• Pour lire les données de la requête, le contrôleur crée un objet de type HTTPServletRequest,
• Pour personnaliser la réponse qui va être envoyé après au client, il crée un autre objet de type HTTPServletResponse.
Client HTTP Serveur Tomcat
Couche WEB
1 GET /action
Request
Controller
HTTP
Response
Modèle MVC
Architecture web JEE : en MVC
2 Le Contrôleur fait appel à la couche métier pour effectuer les traitements et récupère les résultats R
Client HTTP Serveur Tomcat
Couche WEB Métier
1 GET /action
2
Request
R
Controller
HTTP
Response
Modèle MVC
Architecture web JEE : en MVC
Le Contrôleur stocke le résultat R dans le modèle M.
3 Le Modèle est généralement un objet qui permet de représenter toutes les données qui seront affichées dans la vue V.
Généralement ce modèle, est stocké par le contrôleur C dans l’objet Request ou Session.
Client HTTP Serveur Tomcat
Couche WEB Métier
1 GET /action
2
Request
R
Controller
3
HTTP Model R
Response
Modèle MVC
Architecture web JEE : en MVC
4 Le contrôleur fait appel à la vue JSP (JAVA SERVER PAGE), en lui transmettant les objets request et response.
Cette opération s’appelle le Forwarding ou navigation.
Client HTTP Serveur Tomcat
Couche WEB Métier
1 GET /action
2
Request
R
Controller
3
HTTP Model R
4
Vue
Response
JSP
Modèle MVC
Architecture web JEE : en MVC
5 La vue JSP récupère le résultat à partir du modèle.
La vue retrouve le modèle à partir de l’objet Request ou Session
Client HTTP Serveur Tomcat
Couche WEB Métier
1 GET /action
2
Request
R
Controller
3
HTTP Model R
5
4
Vue
Response
JSP
Modèle MVC
Architecture web JEE : en MVC
6 La vue JSP génère dynamiquement une page HTML contenant les résultats du modèle.
Qui va être stocké dans l’objet HTTPServletResponse (Response)
Client HTTP Serveur Tomcat
Couche WEB Métier
1 GET /action
2
Request
R
Controller
3
HTTP Model R
5
4
Vue
6 HTML JSP
Response
Modèle MVC
Architecture web JEE : en MVC
La page HTML générée est envoyée dans le corps de la réponse HTTP du serveur au client HTTP.
7
Et le browser affiche le rendu de la page HTML reçue.
Client HTTP Serveur Tomcat
Couche WEB Métier
1 GET /action
2
Request
R
Controller
3
HTTP Model R
5
4
Vue
HTML 7 6 HTML JSP
Response
Modèle MVC
Architecture web JEE : en MVC model 1
On peut avoir plusieurs contrôleur dans notre application JEE, un contrôleur pour
chaque besoin ou partie de notre application
Client HTTP Serveur Tomcat
Couche WEB
GET || POST
Request Request Request Request
Controller
Controller
Controller
Controller
HTTP …
HTML
Response Response Response Response
Modèle MVC
Architecture web JEE : en MVC 2
Ou bien un seule contrôleur pour toute l’application JEE.
Ce contrôleur s’appel, le contrôleur frontale, et on a besoin de sous contrôleurs qui vont s’occuper de faire des
traitement en fonction de chaque type de requête envoyée.
Client HTTP Serveur Tomcat
Couche WEB
GET || POST
Request
Controller
Frontal
HTTP
HTML
Response