Département: Informatique
Filière: Parcours d'Excellence-SDIA
A.U.: 2024-2025
Module: JEE
Chapitre 1: Introduction au JEE
Pr. Ed-drissiya EL-ALLALY
Email: [Link]@[Link]
JAVA
La plateforme Java offre de très nombreuses possibilités de développement
d’applications:
Java Standard Edition (Java SE) est Java Entreprise Edition (JEE) étend Java Micro Edition (JME) prévu pour
une spécification de la plate-forme Java SE afin de faciliter le le développement d'applications
Java, destinée typiquement aux développement d'applications web sur des terminaux mobiles
applications pour poste de distribuées, déployées et exécutées (téléphone, SmartPhones, etc.)
travail. sur un serveur d'applications.
JEE, E. EL-ALLALY 4
1
Internet
Internet est un ensemble de machines, de câbles et d'éléments réseau en tout genre
éparpillés sur la surface du globe.
Internet offre plusieurs services:
Les services d’internet World Wide Transfert de Courrier Messagerie
suivent l’architecture Web fichiers électronique instantanée
client-serveur
JEE, E. EL-ALLALY 5
Internet
Architecture client-serveur
Un client est une Un protocole de communication
tierce machine informatisée Un serveur est une
définit un ensemble de règles à machine informatisée
pouvant consommer les adopter en vue d’échanger des
services fournies par le fournissant un ou plusieurs
informations. services à des clients.
serveur.
Remarque: Toutes les machines sur Internet utilisent les protocoles de la suite TCP/IP (Transmission
Control Protocol/Internet Protocol)
JEE, E. EL-ALLALY 6
2
Internet
Architecture client-serveur
La communication entre le client et le serveur se passe selon le modèle suivant:
1. Le client émet une requête vers le serveur et attend la réponse
2. Si le serveur, qui est toujours à l’écoute de tous les clients sur le réseau (ils peuvent être plusieurs), détecte
une requête, il envoie la réponse au client concerné.
3. Le client reçoit le résultat et il l’exploite
JEE, E. EL-ALLALY 7
Internet
Architecture client-serveur
Exemples:
Protocole HTTP: protocole destiné aux échanges de
données et ressources hétérogènes au travers
d’internet.
Exemple de client http: Firefox
Exemple de serveur http: Apache
Remarque: le logiciel client et le logiciel serveur peuvent être installés sur un même ordinateur
JEE, E. EL-ALLALY 8
3
Les concepts de base du web
Word Wide Web
Le Word Wide Web est un système d'information international qui englobe une
quantité incroyable de documents (les sites web, pages web, des images, des vidéos
et d'autres contenus multimédias).
Les documents gérés par le Web utilisent
des liens hypertexte (désignation d'un
autre document).
Le Word Wide Web suit l’architecture client-serveur
JEE, E. EL-ALLALY 9
Les concepts de base du web
Architecture client-serveur
Dans le cadre d’une application web:
le client, c’est le navigateur web.
Le serveur, c’est le serveur web, lequel fournit diverses ressources.
JEE, E. EL-ALLALY 10
4
Les concepts de base du web
Architecture client-serveur
La communication entre le client web et le serveur web se passe de la manière suivante:
1. l'utilisateur saisit une URL dans la barre d'adresses de son navigateur
2. le navigateur envoie alors une requête HTTP au serveur pour lui demander la ressource
correspondante
3. le serveur reçoit cette requête, et envoie au client la ressource demandée par le biais d'une
réponse HTTP
4. le navigateur reçoit, via cette réponse, la ressource demandée, qu'il affiche alors à l'utilisateur.
JEE, E. EL-ALLALY 11
Web statique et web dynamique
Techniquement, un navigateur client envoie une requête HTTP vers un serveur web qui
lui retourne la page web correspondante.
Page web
Page web statique Page web dynamique
Une page web statique est une page web Une page web dynamique est générée à la
dont le contenu ne varie pas en fonction de demande et son contenu varie en fonction
la demande. i.e. tous les clients qui des caractéristiques de la demande (heure,
demandent la page reçoivent le même adresse IP du demandeur, formulaire rempli
contenu. par le demandeur,…)
JEE, E. EL-ALLALY 12
5
Web statique et web dynamique
L'architecture de base pour un site Web statique est une architecture à deux niveaux
entre un client web (le navigateur) et un serveur web.
Principales fonctionnalités d’un serveur Web:
Réceptionner la requête
Rechercher les pages statiques
Encapsuler les pages dans la réponse
Émettre la réponse
JEE, E. EL-ALLALY 13
Web statique et web dynamique
Une fois la requête HTTP lue et analysée par le serveur web, il faut encore traiter son
contenu (exécuter des programmes) pour générer des pages web dynamiques:
La programmation web côté serveur.
Les différentes technologies côté client Les différentes technologies côté serveur
JEE, E. EL-ALLALY 14
6
Les composants JEE
Le modèle de développement d’applications JEE fait intervenir trois types de
composants logiciels pour mieux séparer les traitements
composants • Permettent de générer des pages dynamiques.
Web • Les principales APIs: Servlets, JSP
• sont les classes qui implémentent concrètement les objets du domaine applicatif (c'est le modèle
composants de l'application).
métiers • Ils gèrent les traitements et la persistance des objets dans une Base de Données.
• Les principales APIs: Enterprise JavaBeans (EJB)
• Clients Web (client léger): Le navigateur qui affiche des pages HTML générées par les
Composants composants Web serveur
clients • Clients application (client lourd): C'est une application JAVA, avec une interface graphique plus
riche écrite en Swing ou AWT.
JEE, E. EL-ALLALY 15
Les serveur d’applications
Les applications web développés en utilisant la technologie JEE ont besoin d’être
déployées (hébergées) dans un environnement spécifique: c’est le serveur
d’applications.
Principales fonctionnalités d’un serveur d’application:
Réceptionner la requête
Construire la réponse dynamique
Renvoyer la réponse au serveur Web
JEE, E. EL-ALLALY 16
7
Les serveurs d’applications
Un serveur d’application JEE est constitué de plusieurs environnements d’exécution,
chacun étant adapté à un type de composant JEE. Ces environnements d’exécution sont
appelés Conteneurs JEE.
conteneur web
• pour exécuter les servlets et les JSP. L’accès à ce conteneur se
fait via le protocole HTTP.
conteneur d'EJB
• pour exécuter les EJB. L’accès à un conteneur EJB par un autre
conteneur, ou par un composant d’application se fait en
utilisant le protocole RMI (Remote Method Invocation)
conteneur client
• pour exécuter des applications autonomes sur les postes qui
utilisent des composants JEE
JEE, E. EL-ALLALY 17
Les serveur d’applications
Les serveurs payants Les serveurs gratuits
JEE, E. EL-ALLALY 18
8
Les serveur d’applications
Remarques:
Les serveurs d’applications peuvent aussi servir de serveur http.
Exemple: Tomcat sert de serveur d’applications et de serveur http
Tomcat ne contient pas de conteneur EJB.
JEE, E. EL-ALLALY 19
Les serveurs d’applications
Serveur de base de données
Les serveurs applications peuvent accéder
aux données stockées dans des bases de
données pour effectuer les traitements
qui répondent aux requêtes du serveur
HTTP.
Un serveur de base de données assure la
gestion des données au sein d'un SGBD
(Système de Gestion de Bases de
Données).
La principale APIs:
Java DataBase Connectivity (JDBC)
JEE, E. EL-ALLALY 20
9
Modèle MVC (Modèle-Vue-Contrôleur)
Le modèle MVC Découpe l'application en 3 entités
distinctes:
Modèle: le traitement, le stockage et la mise à jour
des données de l'application;
Vue: l'interaction avec l'utilisateur et la présentation
des données (mise en forme, affichage);
Contrôleur: le contrôle des actions de l'utilisateur et
des données.
Dans une application JEE:
Le Modèle est constituée d'objets Java;
La Vue est constituée de pages JSP;
Le Contrôleur est constituée de servlets.
JEE, E. EL-ALLALY 21
10