Développement d’application
client/serveur
Zouhair ELHADARI
www.hadari.jimdo.com
Centre de BTS Dakhla
2ème année BTS DSI
Chapitre 1
Architecture client-serveur
2ème année BTS DSI
Prof:EL HADARI zouhair 2
Partie 1:Rappel (TCP/IP)
2ème année BTS DSI
Prof:EL HADARI zouhair 3
Petit rappel du modèle TCP/IP
Le model OSI définit sept couche, le TCP/IP ne comporte que quatre
couches, mais en cohérence avec le model OSI.
2ème année BTS DSI
Prof:EL HADARI zouhair 4
Les principaux protocoles rencontrés sur
un réseau TCP/IP
2ème année BTS DSI
Prof:EL HADARI zouhair 5
Les deux modes de transfert
Il existe deux modes de transfert :
Le mode connecté (TCP)
Le mode non connecté (UDP)
Le mode connecté (TCP) :Dans ce mode, il se met en place un
processus de "handshake" (poignée de main) entre le client et le
serveur.
Le mode non connecté (UDP) :C'est un mode simple, de type "on
envoie les données et on espère qu'elles arriveront". Il n'y a pas de
"connexion", au sens où on l'a vu pour le mode connecté.
2ème année BTS DSI
Prof:EL HADARI zouhair 6
Les protocoles d'application utilisant
TCP ou UDP
POP
FTP
IMAP
SMTP
TELNET
NNTP
HTTP
2ème année BTS DSI
Prof:EL HADARI zouhair 7
Partie 2:
Présentation du modèle client-serveur
2ème année BTS DSI
Prof:EL HADARI zouhair 8
Un peu d'histoire: (1)
Le client serveur est l'état actuel de l'évolution des
architectures informatiques :
Avant les Années 80 : Système Centralisé (ordinateur
central avec des terminaux passifs de type texte).
Les Années 80 : Développement du transactionnel et
apparition des SGBD non-propriétaires (indépendants des
constructeurs) - SGBD relationnel + SQL
2ème année BTS DSI
Prof:EL HADARI zouhair 9
Un peu d'histoire: (2)
Les Années 90 : Développement des réseaux. L'efficacité et
le partage des systèmes d'informations doivent être
optimum .
Le client-serveur se situe dans ce besoin de centralisation
(information cohérente, non redondante et accessible) et de
décentralisation (conserver la puissance et l'interface des
micros-ordinateurs)
2ème année BTS DSI
Prof:EL HADARI zouhair 10
Le modèle Multi-Utilisateur centralisé
E CLIENT
C INTELLIGENCE
R
A
N SERVEUR
Serveur = Ordinateur central qui effectue tous les
traitements
Client = Terminal sans puissance locale de traitement
2ème année BTS DSI
Prof:EL HADARI zouhair 11
Le modèle réseau local traditionnel
E CLIENT
C
R
A INTELLIGENCE
N SERVEUR
Serveur = Gère le réseau et stocke les bases de données
sans les gérées.
Client = Les stations effectuent tous les traitements
2ème année BTS DSI
Prof:EL HADARI zouhair 12
Le modèle Client-Serveur
E CLIENT
C INTELLIGENCE
R
A INTELLIGENCE
N SERVEUR
Répartition judicieuse de la puissance de traitement
entre le serveur et les différentes stations
interconnectées.
2ème année BTS DSI
Prof:EL HADARI zouhair 13
Client/Serveur : définition (1)
Le modèle client-serveur s'articule autour d'un réseau auquel
sont connectés deux types d'ordinateurs :
Le serveur et le client.
Le client et le serveur communiquent via des protocoles.
Les applications et les données sont réparties entre le client et
le serveur de manière à réduire les coûts.
Le client-serveur représente un dialogue entre deux processus
informatiques par l’intermédiaire d’un échange de
messages
2ème année BTS DSI
Prof:EL HADARI zouhair 14
2ème année BTS DSI
Prof:EL HADARI zouhair 15
Client/Serveur : définition (2)
CLIENT: Processus qui demande l'exécution d'une
opération par l'envoi d'une demande.
SERVEUR: Processus qui exécute la demande du client et
qui transmet la réponse.
REQUÊTE (Request) :Message transmis par le client.
REPONSE (Reply):Message transmis par le serveur.
2ème année BTS DSI
Prof:EL HADARI zouhair 16
Client/Serveur : Fonctionnement
Communication par messages (plutôt que par partage de données,
mémoire ou fichiers)
Requête : paramètres d’appel, spécification du service requis.
Réponse : résultats, indicateur éventuel d’exécution ou d’erreur
Communication synchrone (dans le modèle de base) : le client
est bloqué en attente de la réponse
2ème année BTS DSI
Prof:EL HADARI zouhair 17
Client/Serveur :Intérêts
Structuration
fonctions bien identifiées
séparation interface du service - réalisation
client et serveur peuvent être modifiés (remplacés)
indépendamment.
Protection
client et serveur s’exécutent dans des domaines de protection
différents.
Gestion des ressources
le serveur peut être partagé entre de nombreux clients
en contrepartie, il doit assurer la gestion des ressources
partagées. 2ème année BTS DSI
Prof:EL HADARI zouhair 18
Client/Serveur :Exemples (1)
Exemples d’applications
Serveur de fichiers
Serveur d’impression
Serveur de calcul
Serveur d’application (spécifique `a l’application)
Serveur de bases de données
Serveur de temps
Serveur de noms (annuaire des services)
……
2ème année BTS DSI
Prof:EL HADARI zouhair 19
Client/Serveur :Exemples (2)
2ème année BTS DSI
Prof:EL HADARI zouhair 20
Les principes généraux du C/S: (1)
Service:Le serveur est fournisseur de services. Le client est
consommateur de services.
Protocole:C'est toujours le client qui déclenche la demande de servic
e. Le serveur attend passivement les requêtes des clients.
Partage des ressources: Un serveur traite plusieurs clients en même
temps et contrôle leurs accès aux ressources.
Localisation: Le logiciel client-serveur masque aux clients la localisation
du serveur.
Hétérogénéité : Le logiciel client-serveur est indépendant des plate-
formes matérielles et logicielles.
2ème année BTS DSI
Prof:EL HADARI zouhair 21
Les principes généraux du C/S: (2)
Redimensionnement:Il est possible d'ajouter et de retirer des
stations clientes. Il est possible de faire évoluer les serveurs.
Intégrité:Les données du serveur sont gérées sur le serveur
de façon centralisée. Les clients restent individuels et
indépendants.
Souplesse et adaptabilité:On peut modifier le module
serveur sans toucher au module client. La réciproque est
vraie. Si une station est remplacée par un modèle plus
récent, on modifie le module client (en améliorant
l'interface, par exemple) sans modifier le module serveur.
2ème année BTS DSI
Prof:EL HADARI zouhair 22
Découpage des applications C/S:
DONNEES
TRAITEMENT
PRESENTATION
On reconnaît traditionnellement dans une
application 3 modules :
2ème année BTS DSI
Prof:EL HADARI zouhair 23
Stations de travail
Interface
Langages de programmation /
manipulation de données
Traitements
SGBD
Données Bases de Données
Les trois dimensions d'une application
2ème année BTS DSI
Prof:EL HADARI zouhair 24
Découpage des applications C/S: (2)
Dans le modèle client-serveur on distingue trois couches :
Couche présentation (l’interface) est chargée d’organiser le
dialogue entre la machine et l’utilisateur,
Couche applicative (les traitements ) réalisent les tâches
pour produire les résultats,
Couche données: la gestion des données.
2ème année BTS DSI
Prof:EL HADARI zouhair 25
Les différents modèles de C/S: (1)
1.Client-serveur de présentation
Dans ce cas la présentation des pages affichées par le
client est intégralement prise en charge par
le serveur. Cette organisation présente l'inconvénient
de générer un fort trafic réseau.
2ème année BTS DSI
Prof:EL HADARI zouhair 26
Les différents modèles de C/S: (2)
2.Le client-serveur de traitement
Dans ce cas, le serveur effectue des traitements à la
demande du client. Il peut s'agir de traitement particulier
sur des données, de vérification de formulaires de saisie, de
traitements d'alarmes …
Ces traitements peuvent être réalisés par des programmes
installé sur des serveurs mais également intégrés dans des
bases de données, dans ce cas, la partie donnée et
traitement sont intégrés.
2ème année BTS DSI
Prof:EL HADARI zouhair 27
Les différents modèles de C/S: (3)
3.Le client-serveur de donnée.
ce cas, le serveur assure des tâches
Dans
de gestion, stockage et de traitement de
données. C'est le cas le plus connu de client-serveur
est qui est utilisé par tous les grands SGBD :
La base de données avec tous ses outils (maintenance, sauvegarde …) est installée
sur un poste serveur.
Sur les clients, un logiciel d'accès est installé permettant d'accéder à la base de
données du serveur.
Tous les traitements sur les données sont effectués sur le serveur qui renvoie les
informations demandées (souvent à travers une requête SQL) par le client
2ème année BTS DSI
Prof:EL HADARI zouhair 28
Le schéma du Gartner Group: (1)
2ème année BTS DSI
Prof:EL HADARI zouhair 29
Le schéma du Gartner Group: (2)
Client/Serveur de présentation
– Type 1 : La présentation
distribuée : Représente un
système Serveur/terminal
classique. Ce dernier
présente un écran "calculé"
par le serveur.
2ème année BTS DSI
Prof:EL HADARI zouhair 30
Le schéma du Gartner Group: (3)
Client/Serveur de présentation
• Type 2 : présentation distante :
L'affichage effectué par le client se
fait à la suite d'un échange de
requêtes avec le serveur, le serveur
prend en charge l’exécution de
l’applicatif et la gestion des
données.
2ème année BTS DSI
Prof:EL HADARI zouhair 31
Le schéma du Gartner Group: (4)
Le client-serveur de traitement
Type 3 : Le client/serveur de traitement : application
répartie
La partie logique de l’application est découpée et
répartie entre le poste client et le poste serveur.
Le poste client contient la logique fonctionnelle de base
et fait appel au serveur pour effectuer les traitements en
utilisant des services extérieurs. Elle envoie pour cela
des requêtes ou demandes au serveur qui va effectuer les
traitements et renvoyer les résultats au client qui se
charge de l’affichage.
2ème année BTS DSI
Prof:EL HADARI zouhair 32
Le schéma du Gartner Group: (5)
Le client-serveur de donnée.
Type 4: gestion de données distantes
La partie cliente assure la gestion de l’affichage ainsi que
l’exécution des traitements de l’application.
Le serveur héberge et gère les données, le plus souvent à
l’aide d’un système de gestion de base de données
relationnel (SGBDR).
Dans ce modèle, l’application cliente provoque le dialogue
en envoyant des requêtes au serveur qui en retour envoie les
données demandées répondant à la demande.
Le client-serveur de données est le type le plus utilisé
puisque les SGBDR fonctionnent sous ce modèle.
2ème année BTS DSI
Prof:EL HADARI zouhair 33
Le schéma du Gartner Group: (6)
Le client-serveur de donnée.
Type 5: gestion de données distribuées ou système
réparti:
Les données sont distribuées entre le poste client
et le poste serveur.
Dans un tel environnement, les données réparties
doivent être gérées comme si elles étaient stockées
physiquement en un seul endroit.
2ème année BTS DSI
Prof:EL HADARI zouhair 34
L'architecture client-serveur: (1)
Suivant les contraintes d'utilisation ou contraintes
techniques on a des différents types
Architecture 1-tiers
Architecture 2-tiers
Architecture 3-tiers
Architecture n-tiers
2ème année BTS DSI
Prof:EL HADARI zouhair 35
L'architecture client-serveur: (2)
Architecture 1 tiers
Les 3 couches applicatives s'exécutent sur la même machine
On parle d'informatique centralisée :
Contexte multi-utilisateurs dans le cadre d'un site central
(mainframe)
2ème année BTS DSI
Prof:EL HADARI zouhair 36
L'architecture client-serveur: (3)
Architecture 2 tiers – client / serveur
Présentation et traitements sont sur le client
Les données sur le serveur
Contexte multi-utilisateurs avec accès aux données
centralisées
2ème année BTS DSI
Prof:EL HADARI zouhair 37
L'architecture client-serveur: (4)
Architecture 3 tiers
La présentation est sur le client
Les traitements sont pris par un serveur intermédiaire
Les données sont sur un serveur de données
Contexte multiutilisateur internet
2ème année BTS DSI
Prof:EL HADARI zouhair 38
L'architecture client-serveur: (5)
Architecture n tiers
La présentation est sur le client
Les traitements sont pris par un serveur intermédiaire
Les données sont sur un serveur de données
Contexte multi-utilisateurs internet
2ème année BTS DSI
Prof:EL HADARI zouhair 39
Fin du Chapitre
2ème année BTS DSI
Prof:EL HADARI zouhair 40