Client-serveur

L'environnement client-serveur désigne un mode de communication à travers un réseau entre plusieurs programmes : l'un, qualifié de client, envoie des requêtes ; l'autre ou les autres, qualifiés de serveurs, attendent les requêtes des clients et y répondent. Par extension, le client désigne également l' ordinateur ou la machine virtuelle sur lequel est exécuté le logiciel client, et le serveur, l'ordinateur ou la machine virtuelle sur lequel est exécuté le logiciel serveur.

En général, les serveurs sont des ordinateurs dédiés au logiciel serveur qu'ils abritent, et dotés de capacités supérieures à celles des ordinateurs personnels en ce qui concerne la puissance de calcul, les entrées-sorties et les connexions réseau. Les clients sont souvent des ordinateurs personnels ou des appareils individuels (téléphone, tablette), mais pas systématiquement. Un serveur peut répondre aux requêtes d'un grand nombre de clients.

Il existe une grande variété de logiciels serveurs et de logiciels clients en fonction des besoins à servir : un serveur Web publie des pages Web demandées par des navigateurs Web ; un serveur de messagerie électronique envoie du courriel à des clients de messagerie ; un serveur de fichiers permet de partager des fichiers sur un réseau ; un serveur de base de données permet de récupérer des données stockées dans une base de données, etc.

Caractéristiques d'un programme serveur :

  • il attend une connexion entrante sur un ou plusieurs ports réseaux locaux ;
  • à la connexion d'un client sur le port en écoute, il ouvre un socket local au système d'exploitation ;
  • à la suite de la connexion, le processus serveur communique avec le client suivant le protocole prévu par la couche application du modèle OSI.

Caractéristiques d'un programme client :

  • il établit la connexion au serveur à destination d'un ou plusieurs ports réseaux ;
  • lorsque la connexion est acceptée par le serveur, il communique comme le prévoit la couche application du modèle OSI.

Le client et le serveur doivent bien sûr utiliser le même protocole de communication au niveau de la couche transport du modèle OSI. On parle souvent d'un service pour désigner la fonctionnalité offerte par un processus serveur.

Ordinateur central

Article détaillé : Ordinateur central.

Avant que n'apparaisse l'environnement client-serveur, les réseaux informatiques étaient configurés autour d'un ordinateur central (mainframe en anglais) auquel étaient connectés des terminaux passifs (écran adjoint d'un clavier sans unité centrale). Tous les utilisateurs étaient alors connectés sur la même unité centrale.

L'ordinateur central n'affichaient que du texte à l'écran sans graphisme (pas de bouton, pas de fenêtre). Il était spécialisé dans la gestion d'informations de masse auquel il pouvait appliquer des instructions simples (addition, soustraction, etc.) mais avec une grande vélocité. Ainsi, plusieurs milliers de personnes pouvaient travailler sur cette unité centrale sans ralentissement.

Aujourd'hui, les anciens terminaux passifs ont été remplacés par des émulations logicielles installées sur des ordinateurs personnels.

Pour pallier le manque de graphisme, différentes solutions existent dont l'intégration de l'ordinateur central dans une architecture à deux, trois ou N niveaux, en laissant à d'autres la fourniture d'une interface homme-machine.

Cette architecture est déployée sur le MVS d' IBM mais aussi sur des serveurs sous Unix, Linux, etc.

Avantages :

  1. Gestion des données et des traitements centralisée.
  2. Maintenance matériel minime.
  3. Grande vélocité sur des grands volumes de données et de traitements.

Inconvénients :

  1. interface homme-machine minimaliste.
  2. Utilisation de langages de programmation anciens.
  3. Calcul scientifique complexe impossible.
Other Languages
български: Клиент-сървър
čeština: Klient-server
עברית: שרת-לקוח
Bahasa Indonesia: Klien-server
Кыргызча: Клиент/Сервер
latviešu: Klients-serveris
македонски: Client-server
Nederlands: Client-servermodel
português: Cliente-servidor
română: Client-server
Simple English: Client-server
slovenčina: Klient-server
Türkçe: İstemci-sunucu
Tiếng Việt: Client-server