Institut Supérieur des Etudes Technologiques de Bizerte Département Technologies de l’informatique Parcours : Unité d’Enseignement : Matière
Développement des Système d’Informations Environnement de Développement
Atelier Environnement de Développement
Atelier N°0 : Initiation à la technologie Java EE
Objectifs Introduire la technologie Java EE et le modèle MVC. Eclaircir le principe de fonctionnement du Java EE.
Contenu
I. Qu’est ce que Java EE II. III.
Principes de fonctionnement Le modèle MVC
I. Qu’est ce que Java EE
Le terme Java EE signifie Java Entreprise Edition; le langage Java accordé à la plateforme Java EE qui ajoute à la plateforme standard Java une panoplie de bibliothèques enrichissant ses fonctionnalités de base. L’objectif majeur de Java EE est de faciliter le développement d’application web robustes et distribuées (réparties), déployées et exécutées sur un serveur d’applications. ! Attention : Java EE permet la création d’application web, il ne faut pas pour autant le confondre avec le langage JavaScript (JS) massivement utilisé dans les applications web. Ce sont deux langages différents.
II. Principes de fonctionnement
1.
Internet et le Web
La différence entre Internet et le Web :
L’internet est le réseau, le support physique de l’information. C’est un ensemble de machines, de câbles et d’éléments réseau éparpillés sur la surface du globe. Le Web constitue une partie seulement du contenu accessible sur internet.
Atelier Environnement de Développement
Page 1
Un site web est un ensemble de page web (des fichiers HTML, CSS, Javascript, etc.). Lorsqu’on développe puis publie un site web, on met en réalité son contenu sur internet. On distingue deux types de sites : - Les sites internet statiques : ce sont des sites dont le contenu est « fixe », il n'est modifiable que par le propriétaire du site. Ils sont réalisés à l'aide des technologies HTML, CSS et Javascript uniquement.
- Les sites internet dynamiques : ce sont des sites dont le contenu est
«dynamique », parce que le propriétaire n'est plus le seul à pouvoir le faire changer. En plus des langages précédemment cités, ils font intervenir d'autres technologies : Java EE est l'une d'entre elles.
Publicité
2. Comment ça marche ?
Lorsqu'un utilisateur consulte un site, ce qui se passe derrière les rideaux est un simple échange entre un client et un serveur.
-
-
le client : dans la plupart des cas, c'est le navigateur installé sur l’ordinateur. le serveur : c'est la machine sur laquelle le site est hébergé, où les fichiers sont stockés et les pages web générées.
Figure1 : Echange dynamique client<->serveur
La communication qui s'effectue entre le client et le serveur est régie par des règles bien définies parle protocole HTTP. Un échange simple est constitué des étapes suivantes : 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 page correspondante. 3. le serveur reçoit cette requête, l'interprète et génère alors une page web qu'il va renvoyer au client par le biais d'une réponse HTTP. 4. le navigateur reçoit, via cette réponse, la page web finale, qu'il affiche alors à l'utilisateur.
Atelier Environnement de Développement
Page 2
Figure2 : Echange dynamique http client<->serveur
! A retenir : -Les données sont échangées entre le client et le serveur via le protocole HTTP.
- Le client ne comprend que les langages de présentation de données
(HTML, CSS et Javascript).
3. Le serveur d’applications
Pour pouvoir communiquer entre eux, le client et le serveur doivent se parler via HTTP. Côté client le navigateur s’en occupe, côté serveur, qui s’en charge ? C’est un composant que l’on nomme serveur HTTP, son travail est simple : il doit écouter tout ce qui arrive sur le port utilisé par le protocole HTTP, le port 80, et scruter chaque requête entrante.
En effet, le serveur doit permettre d’effectuer d’autres tâches ; une fois la requête HTTP lue et analysée, il faut encore traiter son contenu et éventuellement renvoyer une réponse au client en conséquence. On parle dans ce cas du fonctionnement du serveur d’applications.
Figure 3 : Architecture serveur
Atelier Environnement de Développement
Page 3
Concrètement, le serveur d'applications va :
Publicité
- -
-
-
récupérer les requêtes HTTP issues des clients. les mettre dans des boîtes, des objets, que le code fourni par le développeur sera capable de manipuler. faire passer ces objets dans la moulinette qu'est l’application web dynamique, via le conteneur. renvoyer des réponses HTTP aux clients, en se basant sur les objets retournés par le code.
! Remarque : Dans nos futurs ateliers nous utiliserons le serveur d’application Apache Tomcat version 7.0
III. Le modèle MVC
1. Qu'est-ce qu'un modèle de conception ?
En anglais « design pattern », un modèle de conception (patron de conception) est une simple bonne pratique, qui répond à un problème de conception d'une application. C'est une ligne de conduite qui permet de décrire les grandes lignes d'une solution. De tels modèles sont issus de l'expérience des concepteurs et développeurs d'applications : c'est en effet uniquement après une certaine période d'utilisation que peuvent être mises en évidence des pratiques plus efficaces que d'autres, pratiques qui sont alors structurées en modèles et considérées comme standard.
2.
Quel modèle pour les applications Java EE ?
La technologie Java EE est conçu particulièrement pour le developpement en Entreprise ce qui implique que l’on puisse :
- être amené à travailler à plusieurs contributeurs sur un même projet ou une même application (travail en équipe).
- être amené à maintenir et corriger une application que l'on n'a pas créée soi-même.
- être amené à faire évoluer une application que l'on n'a pas créée soi-même.
Pour toutes ces raisons, le modèle MVC (Modèle-Vue-Contrôleur) se voit le plus adéquat au développement d’applications Java EE.
Il découpe littéralement l'application en couches distinctes, et impose que :
Atelier Environnement de Développement
Page 4
-
-
Publicité
-
tout ce qui concerne le traitement, le stockage et la mise à jour des données de l'application doit être contenu dans la couche nommée "Modèle" (le M de MVC). tout ce qui concerne l'interaction avec l'utilisateur et la présentation des données (mise en forme, affichage) doit être contenu dans la couche nommée "Vue" (le Vde MVC). tout ce qui concerne le contrôle des actions de l'utilisateur et des données doit être contenu dans la couche nommée "Contrôle" (le C de MVC).
Ce modèle peut être représenté par le schéma suivant :
Figure 4 : MVC
3.
Le modèle MVC en pratique
Modèle : des traitements et des données Dans le modèle, on trouve à la fois les données et les traitements à appliquer à ces données. Ce bloc contient donc des objets Java d'une part, qui peuvent contenir des attributs (données) et des méthodes (traitements) qui leur sont propres, et un système capable de stocker des données d'autre part.
Vue : des pages JSP Une page JSP est destinée à la vue. Elle est exécutée côté serveur et permet l'écriture de gabarits (pages en langage "client" comme HTML, CSS, Javascript, XML, etc.). Elle permet au concepteur de la page d'appeler de manière transparente des portions de code Java, via des balises et expressions ressemblant fortement aux balises de présentation HTML.
Contrôleur : des servlets Une servlet est un objet qui permet d'intercepter les requêtes faites par un client, et qui peut personnaliser une réponse en conséquence. Il fournit pour cela des méthodes permettant de scruter les requêtes HTTP. Cet objet n'agit jamais directement sur les données, il faut le voir comme un simple aiguilleur :
Atelier Environnement de Développement
Page 5
il intercepte une requête issue d'un client, appelle éventuellement des traitements effectués par le modèle, et ordonne en retour à la vue d'afficher le résultat au client.
Figure 5 : MVC avec Java EE
Compte Rendu :
Q1. Citez les composants d’un serveur d’applications.
Q2. Qu’est ce qu’un modèle de conception ? Quelle est l’utilité ?
Q3. Quelle est la répartition en couches d’une application selon MVC
Atelier Environnement de Développement
Page 6