- Client server
-
Client-serveur
L'architecture client/serveur désigne un mode de communication entre plusieurs ordinateurs d'un réseau qui distingue un ou plusieurs clients du serveur : chaque logiciel client peut envoyer des requêtes à un serveur. Un serveur peut être spécialisé en serveur d'applications, de fichiers, de terminaux, ou encore de messagerie électronique.
Caractéristiques d'un serveur :
- il est initialement passif (ou esclave, en attente d'une requête) ;
- il est à l'écoute, prêt à répondre aux requêtes envoyées par des clients ;
- dès qu'une requête lui parvient, il la traite et envoie une réponse.
Caractéristiques d'un client :
- il est actif le premier (ou maître) ;
- il envoie des requêtes au serveur ;
- il attend et reçoit les réponses du serveur.
Le client et le serveur doivent bien sûr utiliser le même protocole de communication. Un serveur est généralement capable de servir plusieurs clients simultanément.
Un autre type d'architecture réseau est le pair à pair (peer-to-peer en anglais, ou P2P), dans lequel chaque ordinateur ou logiciel est à la fois client et serveur.
Sommaire
Architectures trois tiers et multi-tiers
Les termes « trois tiers » et « multi-tiers » sont abusivement traduits de l'anglais three tier et multi-tier ou n-tier. Pour cette raison, il serait préférable d'employer la traduction « trois niveaux » et « multi-niveaux » ou bien un hybride français-anglais « trois tier » et « multi-tier ».
L'architecture client/serveur possède deux types d'ordinateurs sur un réseau : les clients et les serveurs, elle possède donc deux niveaux et s'appelle two-tier en anglais. Les architectures multi-tier (ou distribuées) scindent le serveur en plusieurs entités (par exemple, un serveur d'application qui lui-même est le client d'un serveur de base de données).
Comparaison avec les architectures distribuées
Avantages
- Toutes les données sont centralisées sur un seul serveur, ce qui simplifie les contrôles de sécurité et la mise à jour des données et des logiciels.
- Les technologies supportant l'architecture client/serveur sont plus matures que les autres.
Inconvénients
- Si trop de clients veulent communiquer avec le serveur au même moment, ce dernier risque de ne pas supporter la charge (alors que les réseaux pair à pair fonctionnent mieux en ajoutant de nouveau participants).
- Si le serveur n'est plus disponible, plus aucun des clients ne marche (le réseau pair à pair continue à fonctionner, même si plusieurs participants quittent le réseau).
- Les coûts de mise en place et de maintenance sont élévés.
Exemples
- La consultation de pages sur un site web fonctionne sur une architecture client/serveur. Un internaute connecté au réseau via son ordinateur et un navigateur web est le client, le serveur est constitué par le ou les ordinateurs contenant les applications qui délivrent les pages demandées. Dans ce cas, c'est le protocole de communication HTTP qui est utilisé.
- Les courriels sont envoyés et reçus par des clients et gérés par un serveur de messagerie. Les protocoles utilisés sont le SMTP, et le POP ou l'IMAP.
- La gestion d'une base de données centralisée sur un serveur peut se faire à partir de plusieurs postes clients qui permettent de visualiser et saisir des données.
- Le système X Window fonctionne sur une architecture client/serveur. En général le processus client (une application graphique, xeyes par exemple) tourne sur la même machine que le serveur mais peut être aussi bien lancé sur un autre ordinateur faisant partie du réseau.
- Un client léger est un ordinateur léger ou ancien s'appuyant sur un serveur central qui héberge et exécute toutes les applications. Exemples : le projet LTSP ; la technologie NX.
Voir aussi
- Portail de l’informatique
Catégories : Architecture réseau | Architecture logicielle
Wikimedia Foundation. 2010.