Notions d'architecture client-serveur
Présentation de l'architecture d'un système client/serveur Des machines clientes contactent un serveur qui leur fournit des services (des programmes fournissant des données) Les services sont exploités par des programmes clients, s'exécutant sur les machines clientes : client FTP, client de messagerie, client base de données...
Avantages de l'architecture client/serveur Le modèle client/serveur est particulièrement recommandé pour des réseaux nécessitant un grand niveau de fiabilité, ses principaux atouts sont : des ressources centralisées étant donné que le serveur est au centre du réseau, il peut gérer des ressources communes à tous les utilisateurs, comme par exemple une base de données centralisée, afin d'éviter les problèmes de redondance et de contradiction une meilleure sécurité car le nombre de points d'entrée permettant l'accès aux données est moins important une administration au niveau serveur les clients ayant peu d'importance dans ce modèle, ils ont moins besoin d'être administrés un réseau évolutif grâce à cette architecture ont peu supprimer ou rajouter des clients sans perturber le fonctionnement du réseau et sans modifications majeures
Inconvénients du modèle client/serveur L'architecture client/serveur a tout de même quelques lacunes parmi lesquelles : un coût élevé dû à la technicité du serveur un maillon faible le serveur est le seul maillon faible du réseau client/serveur, étant donné que tout le réseau est architecturé autour de lui! Heureusement, le serveur a une grande tolérance aux pannes (notamment grâce au système RAID)RAID La technologie RAID (Redundant Array of Inexpensives Disks) permet de repartir de l'information à stocker sur plusieurs "petits" disques, au lieu de la concentrer sur un seul "gros" disque. Cette technologie permet donc d'améliorer les performances (les accès disques pouvant être parallélisés) et d'améliorer la sûreté (en répartissant les risques de crash et en jouant sur une redondance des données). Il existe plusieurs types d'architecture RAID, privilégiant ou combinant la parallélisation et la redondance.
Fonctionnement d'un système client/serveur Un système client/serveur fonctionne selon le schéma suivant: Le client émet une requête vers le serveur grâce à son adresse et à son port, qui désigne un service particulier du serveur Le serveur reçoit la demande et répond à l'aide de l'adresse de la machine client (et de son port)
Les différents Environnements Client-Serveur Plusieurs environnements sont organisés qui différent par les caractéristiques du réseau ou du client qu'ils contiennent : Architecture "Peer to Peer" Il existe deux type pour cette architecture.le centralisé et le décentralisé. Le réseau est dit pair à pair (peer-to-peer en anglais, ou P2P), lorsque chaque ordinateur connecté au réseau est susceptible de jouer tour à tour le rôle de client et celui de serveur.
Les différents Environnements Client-Serveur Architecture à 2 niveaux: Ce type d'architecture ( 2-tier en anglais ) caractérise les systèmes client-serveur où le poste client demande une ressource au serveur qui la fournit à partir de ses propres ressources. Architecture à 3 niveaux: Dans cette architecture (3-tier en anglais), existe un niveau supplémentaire: Un client ( l'ordinateur demandeur de ressources) équipé d'une interface utilisateur (généralement un navigateur web) chargé de la présentation. Un serveur d'application ( appelé middleware) qui fournit la ressource, mais en faisant appel à un autre serveur. Un serveur de données qui fournit au serveur d'application les données requises pour répondre au client. Architecture à N niveaux :On voit que l'architecture 3 niveaux permet de spécialiser les serveurs dans une tache précise : Avantage de flexibilité, de sécurité et de performance. Potentiellement, l'architecture peut être étendue sur un nombre de niveaux plus important : On parle dans ce cas d'architecture à N niveaux (ou multi-tier.Voici schématisez cet architecture sur l'image ci-dessous.
Les différents Environnements Client-Serveur
Les types de Clients Client "léger" Le poste client accède à une application située sur un ordinateur dit "serveur" via un interface et un navigateur Web. L'application fonctionne entièrement sur le serveur, le poste client reçoit la réponse "toute faite" à sa demande qu'il a formulée. (appelée : "requête" ). Client "lourd" Le poste client doit comporter un système d'exploitation capable d'exécuter en local une partie des traitements. Car le traitement de la réponse à la requête du client utilisateur va mettre en oeuvre un travail combiné entre l'ordinateur serveur et le poste client. Client "riche" Un interface graphique plus évolué permet de mettre en oeuvre des fonctionnalités comparables à celles d'un client "lourd". Les traitements sont effectués majoritairement sur le serveur, la réponse "semi-finie" étant envoyée au poste client, où le client "riche" est capable de la finaliser et de la présenter.
FIN