Chapitre 3
Module : Architecture logicielle
Architecture 3-tiers
Olfa Bouchaala
E-mail : [Link]@[Link]
Année universitaire : 2023 - 2024
Niveau auditoire : FIGL1
De l’arch 2-tiers aux arch. 3-tiers
2
Les limites de l’architecture 2-tiers proviennent de la
nature du client utilisé : client lourd
Le frontal est complexe et non standard (PC avec
Windows, Linux, Mac,…)
Le middleware entre client et serveur n’est pas
standard
Solution : utilisation d’un poste client simple
communicant avec le serveur par le biais d’un
protocole standard
Architecture 3-tiers : Principe
3
L’architecture 3-tiers applique les principes suivants:
Les données sont toujours gérées de façon centralisée
La présentation est toujours prise en charge par le
poste client
La logique applicative est prise en charge par un
serveur intermédiaire
Architecture 3-tier : Présentation
4
Architecture 3-tiers ou C/S de 2ème génération;
sépare l’application en 3 niveaux
Niveau 1 : l‘affichage et les traitements locaux sont
pris en charge par le client
Niveau 2 : les traitements applicatifs globaux sont
pris en charge par le service applicatif : serveur
d’application
Niveau 3 : l’accès et la gestion des données sont pris
en charge par un serveur de base de données
Architecture 3-tiers : Exemple
5
Architecture 3-tiers : fonctionnement
6
Architecture 3-tiers : serveur
7
d’application
Environnement d’exécution des traitement côté
serveur
Le code applicatif ou code métier est stocké sur le
serveur d’application et est déployé et géré de
manière centralisée
Se trouve dans la position du poste client d’une
application 2-tiers
Lacommunication avec le SGBD met en œuvre les
mécanismes des applications client-serveur de données
Architecture 3-tiers : serveur
8
d’application
Architecture 3-tiers : client léger
9
Architecture 3-tiers : révolution internet
10
World Wide Web (1989) :
permet de publier des informations richement mises en
forme
affichage & traitements locaux (contrôles saisie, mise en
forme) pris en charge par client
Caractère universel, rendu possible par l'utilisation de
standards reconnus
◼ HTML, pour la description des pages disponibles sur le
Web,
◼ HTTP, pour la communication entre navigateur et serveur
Web,
◼ TCP/IP, le protocole réseau largement utilisé
Niveau Web dans l’architecture 3-tiers
11
Niveau Web dans l’architecture 3-tiers
12
Les technologies web
13
Les technologies web : côté client
14
Les technologies web : côté serveurs
15
Les technologies web : côté serveurs
16
Architecture 3-tiers et les technologies
17
servlet et JSP
Architecture d’une application Web
Client léger
19
Les clients légers désignent essentiellement toutes les
applications associées aux sites Web
L’accès aux services se fait par l’intermédiaire d’un
conteneur spécialisé qui est généralement un navigateur
FireFox, Internet Explorer
Les technologies pour le transport entre le serveur et le
client sont:
◼ Internet
◼ HTTP, HTTPS
Protocole HTTP
20
Protocoles HTTP (HyperText Transfer Protocol)
décrit les mécanismes d’organisation et de transmission
des données numériques
lors d’un échange entre un client (le navigateur) et le
serveur Web.
Le protocle HTTP
21
Types de méthodes HTTP
22
Serveur Web HTTP
23
Un serveur qui gère exclusivement des requêtes
HTTP.
Il a pour rôle d’intercepter les requêtes Http, sur un
port qui est par défaut 80, pour les traiter et
générer ensuite des réponses Http.
Exemple de serveurs web : Apache, IIS, etc.
Conteneur web
24
Extension du serveur web pour devenir un conteneur Web
Cette extension permet d’exécuter des programmes écrits
avec des langages de programmation ( java, php, C# ou
autres ) dans le serveur web.
Exemple : Apache Tomcat, Xamp, Wamp, Easyphp, etc.
Conteneur web : Tomcat
25
Le conteneur web Tomcat est
composé :
d’unmoteur jsp,
un moteur servlet
un descripteur de déploiement
pour les modules web de type war.
Ces moteurs permettent de faire
déployer seulement des
applications web Java de type war.
Module web (.war)
26
Servlet et JSP
27
Déploiement d’une application Web
28
Servlet: déploiement
29
Déploiement d’une application Web
30
Déploiement d’une sevlet
31
Les servlets: qu’est ce que c’est?
32
Les servlets : comment ça marche?
Les servlets : comment ça marche?
34
Architecture Servlet
API Servlet
36
API Servlet
37
Communication avec le client
38
Communication avec le client
39
Servlet : exemple
40
Lire la requête du client
41
Répondre au client
42
Un exemple simple
43
JSP (Java Server Page)
44
Les balises de JSP
45
Les balises de JSP
46
JSP: exemple
47
JSP : les directives
48
Exemple de directives JSP
49
JSP: les déclarations
50
Exemples de déclarations JSP
51
Exemple de scriptlet JSP
52
JSP : Les expressions
53
Exemples d’expressions JSP
54