Zouhair ELHADARI
www.hadari.jimdo.com
Centre de BTS Dakhla
Développement d’application
client/serveur
Chapitre 1
Architecture client-serveur
Partie 1:Rappel (TCP/IP)
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.
Les principaux protocoles
rencontrés sur un réseau TCP/IP
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é.
Les protocoles d'application utilisant TCP ou UDP
FTP
HTTP IMAP POP
SMTP
NNTP
TELNET
Partie 2:
Présentation du modèle client-serveur
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
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)
Le modèle Multi-Utilisateur centralisé
Serveur = Ordinateur central qui effectue tous les traitements
Client = Terminal sans puissance locale de traitement
CLIENT
E C R A
N SERVEUR
INTELLIGENCE
Le modèle réseau local traditionnel
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
CLIENT
E C R A
N SERVEUR
INTELLIGENCE
Le modèle Client-Serveur
Répartition judicieuse de la puissance de traitement entre le serveur et les
différentes stations interconnectées.
E C R A
N SERVEUR
CLIENT
INTELLIGENCE
INTELLIGENCE
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
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.
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
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.
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)
……
Client/Serveur :Exemples
(2)
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 service. 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.
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.
Découpage des applications C/S:
DONNEES
TRAITEMENT
PRESENTATION
On reconnaît traditionnellement dans une
application 3 modules :
Interface
Données
SGBD
Bases de Données
Langages de
programmation /
manipulation de données Stations de travail
Traitements
Les trois dimensions d'une application
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.
Les différents modèles de C/S: (1)
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.
1.Client-serveur de
présentation
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.
Les différents modèles de C/S: (3)
3.Le client-serveur de donnée.
Dans ce cas, le serveur assure des tâches
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 à
2ème année BTS DSILe schéma du Gartner Group: (1)
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.
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.
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
2ème année BTS DSI
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
332ème année BTS DSI Prof:EL HADARI zouhair