1. L’ÀRCHITECTURE
CLIENT-SERVEUR
Pr M.Bendahmane 1
Pr M.Bendahmane 2
I - INTRODUCTION
L’architecture Client/Serveur est l’aboutissement
d’un ensemble d’évolutions technologiques
survenues dans les dix dernières années:
capacités mémoires,
performances des processeurs et des réseaux,
évolutions des logiciels : interfaces graphiques,
multimédia, des interfaces de communications.
2. Pr M.Bendahmane 3
INTRODUCTION(2)
S’étend de plus en plus vers tous les domaines d’activités :
gestion de base de données,
les systèmes transactionnels,
les systèmes de messagerie, Web, Intranet,
les systèmes de partage des données,
le calcul scientifique
etc.
Les freins
difficulté de concevoir des applications distribuées,
manque de cohérence entre les applications clientes et serveurs,
manque d’outils d’administration des serveurs au niveau des services et
des réseaux.
incompatibilité avec les systèmes existants.
Pr M.Bendahmane 4
2- LE CONCEPT ET LES
TECHNIQUES
2.12.1-- Le Concept de LLe Concept de L’’ACSACS
Historique,
Idée de départ
Définition de l’ACS
2.2- Les Techniques
Modèle CS (MCS)
Composition du MCS
Évolution des ACS
3. Pr M.Bendahmane 5
2.1.1 Historique
Les années 60 : Le traitement par lots
les traitements réalisés sur ordinateur se présentaient sous forme de
blocs monolithiques, composés de nombreuses opérations dont
l’exécution demandait un temps considérable
Le critère de choix des ordinateurs portait alors sur leur capacité à
traiter rapidement de grandes quantités d’informations
L’informatique était alors une technique isolée, sans lien direct avec
l’activité quotidienne de l’entreprise, réservée aux spécialistes
Activité informatique isolée du reste de l’entreprise
Pr M.Bendahmane 6
2.1.1 Historique(2)
Les années 70 : Le traitement transactionnel
Dans les années 70 on avait le traitement en temps réel, appelé aussi
système transactionnel en temps réel
ce type de traitement consistait à offrir à de nombreux utilisateurs le
moyen d’accéder et de modifier rapidement les données de l’entreprise
Cette technique permet de sortir des mini-ordinateurs ayant un coût et
une taille réduite pour des performances proches de celles des gros
ordinateurs.
Les systèmes interactifs rendaient possible le dialogue entre l’homme et
la machine.
ces produits transactionnels tenaient peu compte de la qualité du
dialogue.
Dialogue homme-machine via terminal passif
4. Pr M.Bendahmane 7
2.1.1 Historique(3)
Les années 80 : La micro-informatique
Dans les années 80 avec l’évolution rapide de la micro-
informatique ainsi qu’avec l’arrivée de logiciels graphiques
sophistiqués, il se crée un décalage croissant entre
l’informatique centrale, à interface rudimentaire, et la micro-
informatique dotée d’une grande convivialité.
Micro-informatique séparée de l’informatique centrale
Pr M.Bendahmane 8
2.1.1 Historique(4)
Les années 90 : Le client-serveur
décalage entre les besoins exprimés par les utilisateurs et les services
rendus par l’informatique classique
le client-serveur se présente comme le concept fédérateur des outils de
traitement de l’information.
Charges réparties entre postes locaux et serveurs
5. Pr M.Bendahmane 9
2- LE CONCEPT ET LES
TECHNIQUES
2.12.1-- Le Concept de LLe Concept de L’’ACSACS
Historique,
Idée de départ
Définition de l’ACS
2.2- Les Techniques
Modèle CS (MCS)
Composition du MCS
Évolution des ACS
Pr M.Bendahmane 10
2.1.2 Idée de départ
L’idée sous-jacente à la notion de client-serveur est celle de service.
Une application informatique conforme au modèle client-serveur se
décompose en deux entités logiques :
une première entité consommatrice de service, appelée le client
une seconde entité, fournisseur de ce service, appelée le serveur.
Serveur
Question
Réponse
Client
6. Pr M.Bendahmane 11
2.1.2 Idée de départ(2)
Une application cliente fait appel à n services extérieurs :
Demande de service 1
...
Demande de service 2
...
Service 1
Service 2
Client
Serveur(s)
Pr M.Bendahmane 12
2.1.2 Idée de départ(3)
Les n applications font appel à un même service :
Client 1
Client 2
Service
Clients
Serveur
7. Pr M.Bendahmane 13
2.1.2 Idée de départ(4)
un programme serveur peut lui même faire appel à un ou n services
extérieurs
On obtient alors des relations client-serveur à plusieurs niveaux
Client Service S1 Service S2
Client
Client
Serveur
Serveur
Pr M.Bendahmane 14
2- LE CONCEPT ET LES
TECHNIQUES
2.1- Le Concept de L’ACS
Historique,
Idée de départ
Définition de l’ACS
2.2- Les Techniques
Modèle CS (MCS)
Composition du MCS
Évolution des ACS
8. Pr M.Bendahmane 15
DDééfinitionfinition
Le modèle client-serveur consiste à faire dialoguer un programme
demandeur de service, appelé le client, avec un programme
fournisseur de ce service, appelé le serveur.
Une architecture client-serveur est basée sur ce modèle. Elle se
présente comme un ensemble de programmes clients et serveurs,
situés le plus souvent à distance les uns des autres, et
communiquant à travers un réseau.
2.1. 3 Définition de L’ACS
Pr M.Bendahmane 16
AvantageAvantage
Les ressources centralisées : étant donné que le serveur est au
centre du réseau il peut gérer des ressources communes comme
par exemple une Base de données centralisée afin d’éviter les
problèmes de redondances.
Une meilleure sécurité : le nombre de points d’entrée permettant
l’accès aux données est centralisé et administrer par le serveur.
Administration au niveau serveur : toute les opérations passent par
le serveur.
Un réseau évolutif : grâce à cette architecture, il est possible de
supprimer ou rajouter des clients sans perturber le fonctionnement
du réseau et sans modification majeur
2.1. 3 Définition de L’ACS
9. Pr M.Bendahmane 17
InconvInconvéénientnient
La technicité au niveau serveur (le coût)
Si trop de clients veulent communiquer avec le serveur au même
moment, ce dernier risque de ne pas supporter la charge
si le serveur n'est plus disponible, plus aucun des clients ne marche
2.1. 3 Définition de L’ACS
Pr M.Bendahmane 18
2- LE CONCEPT ET LES
TECHNIQUES
2.1- Le Concept de L’ACS
Historique,
Idée de départ
Définition de l’ACS
2.2- Les Techniques
Modèle CS (MCS)
Composition du MCS
Évolution des ACS
10. Pr M.Bendahmane 19
2.2.1 Le Modèle CS
Idée : l'application est répartie sur différents sites pour optimiser le traitement, le
stockage...
Le client :
o effectue une demande de service auprès du serveur (requête)
o initie le contact (parle en premier), ouvre la session
Le serveur
o est la partie de l'application qui offre un service
o est à l'écoute des requêtes clientes
o répond au service demandé par le client (réponse)
Client Serveur
Dialogue ServiceApplication
Pr M.Bendahmane 20
Le modèle client/serveur constitue un système coopératif sans distinction
à priori entre les différents membres du réseau, ==> chacun des
membres :
peut être indifféremment client et/ou serveur,
demander un service auprès d’un autre membre,
réaliser un service donné pour un ou plusieurs autres membres du
réseau.
2.2.1 Le Modèle CS(2)
12. Pr M.Bendahmane 23
Pr M.Bendahmane 24
Le client lit une ligne à partir de l'entrée standard (clavier) et l'envoie
au serveur
Le serveur lit la ligne reçue et la convertit en majuscules
Le serveur renvoie la ligne au client
Le client lit la ligne reçue et l'affiche sur la sortie standard (écran)
2.2.1 Le Modèle CS(4)
ExempleExemple
13. Pr M.Bendahmane 25
2- LE CONCEPT ET LES
TECHNIQUES
2.1- Le Concept de L’ACS
Historique,
Idée de départ
Définition de l’ACS
2.2- Les Techniques
Modèle CS (MCS)
Composition du MCS
Évolution des ACS
Pr M.Bendahmane 26
Trois modules composent une architecture C /S
Ces modules sont répartis sur le client et sur le serveur :
Un module interface utilisateur ou de présentation,
Un module de traitement ou de logique applicative,
Un module de gestion de données
Un modèle de référence : le modèle du Gartner Group
2.2.2 Composition du MCS
14. Pr M.Bendahmane 27
Gestion des
données
Logique
applicative
Présentation
Gestion des
données
Logique
applicative
Gestion des
données
Logique
applicative
Gestion des
données
Gestion des
données
Présentation Présentation Présentation
Logique
applicative
Présentation
Logique
applicative
Présentation
Logique
applicative
Gestion des
données
Postes serveurs
Présentation
distribuée
Présentation
distante
Traitements
distribués
Gestion de
données distantes
Gestion de
données
distribuées
Postes clients
Réseau