L'architecture
client/serveur désigne un mode de communication entre plusieurs
ordinateurs d'un
réseau qui distingue un ou plusieurs postes 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 poste à poste (ou peer-to-peer en anglais), dans lequel chaque ordinateur ou logiciel est à la fois client et serveur.
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.
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-tiers (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).
Avantages par rapport aux architectures distribuées
- 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 P2P marchent mieux en ajoutant de nouveau participants) ;
- si le serveur n'est plus disponible, plus aucun des clients ne marche (le réseau P2P continue à marcher, même si plusieurs participants quittent le réseau).
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 client 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