Le modèle Clients Serveurs
L’apparition du modèle Clients Serveurs
Les avantages du modèle Clients Serveurs
Le processus d’une requête SQL en Clients Serveurs
Le Client et le Serveur
Le client
Le serveur
Les spécifications techniques pour un serveur
L’apparition du modèle Clients Serveurs
Le modèle Clients Serveurs s’oppose aux vieux systèmes
informatiques centralisés autour d’un gros ordinateur, basés sur une
architecture propriétaire. Le système central traite la requête d’un terminal,
puis lui envoi la réponse. Le modèle Clients Serveurs
s’oppose également au mode autonome de travail des réseaux PEER to
PEER.
Dans une organisation de type égal à égal (ou Postes
à Poste) les fichiers sont répartis sur les disques durs de tous les ordinateurs
(c’est la pagaille décentralisée) et tous les utilisateurs « voient » les
autres ordinateurs qui sont connectés en même temps, c’est ainsi qu’ils peuvent
savoir si une ressource localisée sur telle machine est accessible ou non.
Par contre, dans une organisation de type Clients Serveurs,
les fichiers sont généralement centralisés sur un serveur, et les utilisateurs
« voient » le serveur mais ne « voient » pas les autres machines utilisateurs,
tout passe par l’intermédiaire du serveur. Dans un réseau de type Clients
Serveur, les ordinateurs ne devront jamais avoir besoin des ressources d’une
autre station, parce qu’ils ne pourrons simplement pas y accéder. La totalité
de l’architecture du réseau repose sur un ou plusieurs serveurs dédiés.
Dans certains réseaux Clients Serveurs plus complexes, certaines
stations peuvent faire office de clients et de serveurs (comme par exemple
un réseau Clients Serveurs basé sur un serveur NetWare et des clients Windows
95 en mode égal à égal). Le réseau est dit « bi-protocoles » (IPX et NetBEUI)
ou « dual stack ». C’est souvent le cas quand le serveur NetWare sert
de serveur d’impression..
Le modèle Clients Serveurs est apparue grâce aux progrès
technologiques qui a permis de transformer les terminaux dépourvus d’intelligence,
en de véritables ordinateurs avec une véritable capacité de traitement, de
stockage, de présentation et de communication… Pour autant, quand un client
fait appèle à un serveur de base de données, par exemple, le serveur ne transmet
pas toute la base de données au client (même si cela est envisageable, cette
solution encombrerait beaucoup le réseau). En réalité, la situation la plus
courante est que le client et le serveur se partage le travail.
Les serveurs peuvent être dédiés à plusieurs tâches spécialisées :
- Les serveurs d’authentification
- Les serveurs de fichiers
- Les serveurs d’applications
- Les serveurs d’impression
- Les serveurs de messagerie
- Les serveurs Internet
- Les serveurs proxy
- Les serveurs RAS pour les connexions des utilisateurs
à distance
- Les serveurs de sauvegarde
Les avantages du modèle Clients Serveurs
Les avantages du modèle Clients Serveurs :
- Le réseau :
- L’architecture réseau la plus répandue
- Une plate-forme relativement bon marché
- Une capacité de traitement comparable aux
grands systèmes
- Le traitement d’un grand nombre de requêtes simultanées
- La réduction du trafic réseau
- La répartition des tâches entre les clients et
les serveurs exploite plus efficacement les ressources du réseau dans
son ensemble
- Le stockage des données sur une ou quelques machines
améliore leur sécurité
- L’administration :
- Une configuration personnalisable
- L’installation d’un grand nombre d’applications
partagées, notamment les serveurs de base de données
- La centralisation de l’administration, de
la stratégie de sécurité, de la maintenance, des sauvegardes, …
- La centralisation des fichiers
- L’utilisation des serveurs d’applications qui
réduisent le coût des licences d’exploitation (à partir de plus 20 stations
utilisant la même application, il n’est plus rentable d’avoir 20 licences,
et 20 fois le même logiciel…)
- Le matériel :
- L’économie en mémoire RAM et ROM sur les ordinateurs
clients
- La concentration de la puissance sur les serveurs
- Les qualités intrinsèques :
- La souplesse et la puissance…
- L’indépendance et la centralisation…
Le processus d’une requête SQL en Clients Serveurs
L’application la plus utilisée en mode Clients Serveurs est
la base de données. Les bases de données permettent d’organiser fonctionnellement
un très grand nombre d’informations, et de les trier au fur et à mesure
des besoins. Le modèle Clients Serveurs permet de centraliser
les informations de la base de données et de répondre à un grand nombre
de requêtes simultanées de la part des clients.
Le langage pour exprimer une requête auprès de la plus part
des bases de données est le SQL (Structured Query Language). Le langage SQL
est un « langage d’interrogation structuré » qui a été conçu par la
société IBM. SQL est devenu une norme, un standard dans le monde des bases
de données.
Le processus d’une requête SQL en Clients Serveurs :
- L’utilisateur émet une demande
- La commande est traduite en SQL
- Le redirecteur intercepte la requête SQL et
l’envoie à la carte réseau qui la transmet au support de communication
- La requête circule sur le réseau jusqu’au serveur
de base de données
- Le serveur de base de données accepte la requête,
la traite (recherche, extrait et trie les informations contenues dans les
tables de la base de données) et envoie une réponse (un enregistrement
SQL)
- La réponse circule sur le réseau
- Le client reçoit la réponse du serveur
- L’utilisateur visualise la réponse
L’application de base de données MICROSOFT ACCESS possède
son propre langage SQL, mais son interface utilisateur permet d’interroger
la plus part des autres bases de données.
Le Client et le Serveur
Les composants d’un modèle Clients Serveurs sont le client
(aussi appelé le frontal, le FRONT END) et le serveur (aussi appelé
le dorsal ou le BACK END). Les tâches sont réparties entre le client
et le serveur (grosso modo, le client affiche, tandis que le serveur calcule).
L’outil VISUAL BASIC permet de programmer des frontaux
et de personnaliser les accès et les requêtes auprès d’une base de données.
L’application MICROSOFT SQL SERVER permet à d’autres
clients que ceux de MICROSOFT d’accéder à une base de données, sans avoir
besoin d’installer un client supplémentaire.
Le client
L’ordinateur client exécute une application cliente (le
frontal) localement qui lui présente des fenêtres et s’occupe de la traduction
des demandes en SQL :
- Une interface graphique utilisateur
- Des formulaires de demande (des clés de recherche)
- L’application formate les demandes de l’utilisateur
en requêtes SQL
- L’application convertie et affiche les résultats (les
enregistrements) renvoyés par le serveur
Le serveur
Le serveur exécute l’application de base de données (le
dorsal) localement, mais n’exécute pas d’application pour gérer l’interface
utilisateur. Le serveur supporte la charge des requêtes des utilisateurs,
et généralement stocke les informations de toute la base de données. Les
données de la base peuvent être éventuellement stockées sur un ou plusieurs
autres ordinateurs.
Le serveur de base de données s’occupe également de l’enregistrement
des modifications (ajouts, suppressions, …) des données, mais aussi de
la conservation et de la consolidation de la base.
Quand il y a plusieurs serveurs sur le réseau pour la même
base de données, la synchronisation des bases doit s’effectuer régulièrement.
Quand les données de la base sont stockées sur plusieurs ordinateurs, il
est possible de centraliser la base sur un DATA WAREHOUSE qui contient
toute la base tandis que les autres ordinateurs n’en contient qu’une partie
(généralement les données les plus fréquemment demandées).
Les procédures stockées (Stored Procedures) sont de
petites routines préprogrammées qui permettent de simplifier les traitements
les plus courants et d’obtenir plus rapidement les réponses. Une procédure
peut être appelée par plusieurs clients en même temps.
Les spécifications techniques pour un serveur
En général, les ordinateurs hébergeant un serveur dédié sont
très puissants. Il faut que l’accès aux données stockées sur le serveur depuis
le réseau soit acceptable pour toutes les stations clientes (qui peuvent
émettre des requêtes en même temps). C’est pourquoi, les spécifications techniques
d’un serveur sont hors du commun :
- Le bus de la carte mère rapide (nombre de bits
transférés en parallèle d’un composant vers un autre, et la fréquence à
laquelle ces bits sont transférés)
- Un ou plusieurs processeurs rapides
- Une quantité de mémoire vive importante
- Un ou plusieurs disques durs rapides et volumineux.
Le temps d’accès aux disques (en lecture et en écriture) appelé le débit
entrée / sortie (« throughput » en anglais) doit être très rapide, parce
que c’est ce qui ralentit l’accès aux données pour le client.
- Une ou plusieurs cartes réseaux rapides
- Un câblage à haut débit