02/10/2022
LA NOTION DU WEB
AU: 2022/2023
Plan Matière
-Introduction
-Évolution des systèmes d’information
-L'architecture 1-tiers
-L'architecture 2-tiers
-L'architecture 3-tiers
-L'architecture N-tiers
2
02/10/2022
ARCHITECTURES
CLIENT/SERVEUR
Introduction
4
02/10/2022
Evolution des systèmes d’information
Un système d’information est constitué d’un
ensemble d’outils destinés à gérer, stocker et
traiter des flux d’information.
L’informatique n’est qu’un outil mis à
disposition des organisations afin de
compléter d’améliorer le système
d’information déjà en place.
Avec l’évolution des technologies, les applications
ont progressivement évolué, les attentes des
utilisateurs et des clients également.
Trois niveaux d’abstraction
12
Une application informatique peut être découpée
en trois niveaux d'abstraction distincts :
Présentation Présentation
Locaux
Logiqueapplicative Traitements Globaux
Données
Données
6
02/10/2022
Présentation
la couche de présentation, encore appelée
IHM (Interface Homme Machine), permet
l'interaction de l'application avec l'utilisateur
Gère les saisies au clavier et à la souris et la
présentation des informations à l'écran.
Doit être conviviale et ergonomique.
Logique applicative
la logique applicative décrit les traitements à
réaliser par l'application.
Ensemble de traitements nécessaires pour
répondre aux besoins des utilisateurs
Les traitement peuvent être découpés en deux
familles :
les traitements locaux: regroupant les contrôles
effectués au niveau du dialogue avec l'IHM, visant
essentiellement le contrôle et l'aide à la saisie
(formulaires, champs, boutons radio…)
les traitements globaux: constituant l'application elle-
même.
Cette couche, appelée Business Logic ou
couche métier, contient les règles de
l’application.
8
02/10/2022
Les données
Lesdonnées, ou plus exactement l'accès aux
données, regroupent l'ensemble des mécanismes
permettant la gestion des informations stockées par
l'application.
Fonctions classiques d’un SGBD:
Définition de données
Manipulation de données
Sécurité de données
Gestion de transactions
etc. ..
Différentes architectures
Le découpage et la répartition des 3 niveaux
d’abstraction permettent de distinguer les
architectures suivantes
l'architecture 1-tier,
l'architecture 2-tiers,
l'architecture 3-tiers,
les architecturesn-tiers.
10
02/10/2022
Architecture 1-tier
11
Présentation
les trois niveaux (présentation, traitement, données)
sont fortement liés et s'exécutent sur la même
machine.
Dans un contexte multiutilisateurs, on distingue deux
types d'architectures mettant en œuvre des
applications 1-tiers :
Lesapplications sur site central (Mainframe)
Lesapplications applications 1-tier déployées sur des
machines indépendantes (Micro-Ordinateurs)
12
02/10/2022
Mainframe
IBM, AS/400, RS6000, HDS, SUN Microsystems et Hewlett-Packard
RS6000
13
22
14
02/10/2022
Concept du Client-Serveur
15
Définition
C’est une architecture de systèmes
informatiques dans laquelle un ensemble
de machines interconnectées partagent
des ressources.
16
02/10/2022
Structure
Un système client/serveur est :
Animé par trois types d’acteurs :
Serveur(s)
Clients
Middleware(s)
Constitué de trois composantes :
Présentation
Logique applicative
Gestion des données
17
Lestrois types d’acteurs
Serveur Machine qui dispose de ressources qui les
gère et accepte de lespartager:
Ressources informationnelles
Client
Ressources physiques
Middleware
18
02/10/2022
Lestrois types d’acteurs
Serveur
Client Machine demandant l’utilisation de
ressources d’un serveur.
Middleware
19
Lestrois types d’acteurs
Serveur
Client
Ensemblede mécanismesassurant la
Middleware communication entre client etserveur
20
02/10/2022
Le schéma du Gartner Group
Lesdifférents types de client-serveur selon la classification du
Gartner Group
Le trait horizontal représente le réseau
les flèches représentent le trafic réseau généré par la
conversation entre client et serveur.
21
L'architecture 2-tiers
22
02/10/2022
Présentation de l’arch. 2-tiers (1/2)
Une architecture 2-tiers, encore appelée client-
serveur de première génération ou client-serveur
de données
Le poste client délègue la gestion des données
à unservice spécialisé (serveur de données).
Exemple: une application de gestion
fonctionnant sur Windows et exploitant un
SGBD (oracle) centralisé.
23
Présentation de l’arch. 2-tiers (2/2)
Ce type d'application permet:
d’exploiter la puissance des ordinateurs pour fournir à
l’utilisateur une interface lourd
de garantir la cohérence des données
La gestion des données est prise en charge par un
SGBD centralisé, s'exécutant le plus souvent sur un
serveur dédié (serveur de données).
Leserveur de données est interrogé en utilisant un
langage de requête qui est, le plus souvent, SQL.
24
02/10/2022
Le dialogue client-serveur
Le client provoque l'établissement d'une conversation afin de
d'obtenir des données ou un résultat de la part du serveur.
Cet échange de messages transite à travers le réseau reliant les
deux machines.
Il utilise des mécanismesrelativement complexes qui sont, en
général, pris en charge par un intergiciel (middleware).
25
Middleware
Un middleware ou « intergiciel » ou «
élément du milieu » est l'ensemble des
couches réseau et services logiciel qui
permettent le dialogue entre les différents
composants d'une application répartie.
Gartner Group définit le middleware comme
une interface de communication
universelle entre processus.
Représente l’élément le plus important de
toute application client-serveur.
26
02/10/2022
Middleware
Objectif
Unifier, pour les applications, l'accès et la
manipulation de l'ensemble des services disponibles
sur le réseau, afin de rendre l'utilisation de ces derniers
transparente
Offre des API (Application Programming Interface)
de haut niveau
Permettant de masquer la complexité des échanges
inter-applications
Facilite le développement d'une application client-
serveur
27
Middleware
Services du middleware
Conversion :
permet la communication entre machines mettant en
œuvre des formats différents de données prise en
charge par la FAP (Format And Protocol)
Adressage :
Permet d'identifier la machine serveur sur
laquelle est localisé le service demandé afin d'en
déduire le chemin d'accès.
fait, souvent, appel aux services d'un annuaire.
28
02/10/2022
Middleware
Sécurité :
permet de garantir la confidentialité et la sécurité des
données à l'aide de mécanismes d'authentification et
de cryptage des informations
Communication :
permet la transmission des données entre les deux
systèmes
29
Gestion des données
Fonctions de SGBD
Définition des données
manipulation des données
Sécurité et intégrité de données
Gestion des transactions
Gestion des accès concurrents
Gestion des données réparties (BD dedistribuées)
30
02/10/2022
Les architectures distribuées
Architectures 3-tiers
Architectures N-tiers
31
Limites du client-serveur 2-tiers
le poste client réalise tous les traitement applicatifs
Il est coûteux et contraignant de réaliser l'ensemble des traitements
applicatifs et de les maintenir par le poste client.
Le poste client doit installer une application
assez complexe
Client Lourd ( fat client )
32
02/10/2022
Architectures 3-tiers
83
33
Répartition des traitements
L'architecture 3-tiers, encore appelée client-serveur de
deuxième génération ou client-serveur distribué, sépare
l'application en trois niveaux de service distincts :
premier niveau : l'affichage et les traitements locaux (contrôles
de saisie, mise en forme de données... ) sont pris en charge par
le poste client
deuxième niveau : les traitements applicatifs globaux sont pris
en charge par le service applicatif : Serveur d’application
troisième niveau : les services de base de données sont pris en
charge par unSGBD:Serveur de données
34
02/10/2022
Exemple
8
35
Serveur d’application
Leserveur d'application est l'environnement
d'exécution des applications côté serveur.
Il prend en charge l'ensemble des fonctionnalités de
l’application
Le serveur d’application se retrouve dans la position
du poste client d'une application 2-tiers
La communication avec le SGBD met en œuvre les
mécanismesdes applications client-serveur de
données.
36
02/10/2022
Serveur d’application
Le serveur d’application agit comme middleware entre
les systèmes d’information de l’entreprise et des clients
qui accèdent à ces données.
Le code métier est stocké sur le serveur d’application, et
est déployé et géré de manière centralisée.
L’application peut être rendue accessible à un très
grand nombre de clients hétérogènes
🞑clients légers de type navigateur Web,
🞑 clients lourds de type application graphique Windows,
Corba, ou Java, et terminaux mobiles de type téléphone
cellulaire ou PDA.
37
Client léger
Dans l'architecture 3-tiers, le poste client est, souvent, appelé
client léger ou Thin Client
Il ne prend en charge que la présentation de l'application avec,
éventuellement, une partie de logique applicative permettant une
vérification immédiate de la saisie et la mise en forme des données
Aucune connaissance des traitements applicatifs ou de la
structure des données exploitées
Les évolutions de l'application ne nécessitent pas la
modification de la partie cliente
Éviter l'installation des applications sur le poste utilisateur
🞑 Utiliser un simple navigateur web
🞑 Communiquer avec le serveur d’application via une façade web
38
02/10/2022
Avantages du modèle 3-tiers
Les 3 niveaux sont indépendants
Peuvent être implantés sur des
machines différentes
la force des architectures trois tiers par
rapport au client- serveur de première
génération:
🞑 Le déploiement est immédiat,
🞑 les évolutions sont transparentes pour l'utilisateur
🞑 et les caractéristiques du poste client sont libres.
39
Limites du modèle 3-tiers
Le serveur d’application constitue la pierre angulaire
de l'architecture et se trouve souvent fortement sollicité.
Problème de gestion de la montée en charge rappelant
l'époque des mainframes.
L’équilibrage de la charge entre client et serveur semble
atteint avec la génération suivante :
Les architectures n-tiers
40
02/10/2022
Architectures n-tiers
41
Présentation
L'architecture n-tiers a été pensée pour pallier
aux limitations des architectures 3-tiers et
concevoir des applications puissantes et simples à
maintenir.
Ce type d'architecture permet de distribuer plus
librement la logique applicative, ce qui facilite la
répartition de la charge entre tous les niveaux.
42
02/10/2022
Présentation
3
43
Présentation
L'appellation n-tier ne signifie pas un nombre
indéterminé de niveaux de service, ils sont
toujours 3 (Présentation, Logique applicative et
Données)
L'architecture n-tier qualifie la distribution
d'application entre de multiples services et
non la multiplication des niveaux de
service.
La distribution des services applicatifs facilite
aussi l'intégration de traitements existants
dans les nouvelles applications.
44
02/10/2022
Lescouches de l’arch. n-tiers
Une architecture n-tiers comprend généralement une couche de
présentation, une couche applicative, une couche objets métier et
unecouched'accèsauxdonnées.
45
Lescouches de l’arch. n-tiers
La couche de présentation contient les différents
types de clients,
léger (Web, ASP, JSP)
lourd (Swing, WinForm)
La couche applicative contient les traitements
représentant les règles métier (créer un compte,
rechercher un client, calculer une facture, ...)
46
02/10/2022
Lescouches de l’arch. n-tiers
La couche d'objets métier est représentée par les
objets du domaine, c'est à dire l'ensemble des
entités persistantes de l'application (Facture, Bon
de Commande, Client, ...)
La couche d'accès aux données contient les usines
d'objets métier, c'est à dire les classes chargées de
créer des objets métier de manière totalement
transparente, indépendamment de leur mode de
stockage (SGBDR, SGBDO, Fichiers, Legacy, ...)
47