Le client léger s'exécute en local sur l'ordinateur de l'utilisateur et vise à afficher
les résultats à l'utilisateur.
La logique d'entreprise se retrouve dans les applications serveur qui s'exécutent
sur un serveur. Les clients légers demandent des fonctions à l'application serveur,
qui est elle-même une application parallélisée capable de fonctionner
simultanément avec plusieurs utilisateurs. C'est l'application serveur qui ouvre les
connexions au serveur de base de données, et elle peut s'exécuter sur le même
serveur que la base de données. Elle peut également se connecter, en passant par
le réseau, à un autre serveur qui fonctionne en tant que serveur de base de
données.
Ceci est le scénario typique d'une application Internet. Par exemple, une
application serveur peut s'exécuter sous Microsoft Internet Information Services
(IIS) et servir des milliers de clients légers qui s'exécutent sur Internet ou sur un
intranet. L'application serveur utilise un ensemble de connexions pour
communiquer avec une copie de SQL Server. SQL Server peut s'installer sur le
même ordinateur que IIS ou sur un autre serveur du réseau.
Le fait d'avoir des données stockées et gérées à un endroit centralisé présente plusieurs avantages
:
Chaque élément de données est stocké en un point central, accessible à tous les
utilisateurs.
Les différentes copies des données ne sont pas stockées sur les postes clients, ce qui
élimine, par exemple, les problèmes avec les utilisateurs qui ont à s'assurer qu'ils
travaillent bien avec les mêmes informations.
Les règles relatives à l'entreprise et à la sécurité doivent être définies une fois pour toutes
sur le serveur, et contraignent tous les utilisateurs au même niveau et de manière
identique.
Ceci est possible dans une base de données en utilisant les contraintes, les procédures
stockées et les déclencheurs. C'est également possible dans une application serveur.
Un serveur de base de données relationnelle permet d'optimiser le trafic sur le réseau, en
ne renvoyant que les données nécessaires à chaque application.
Par exemple, si une application utilisant un fichier de serveur a besoin d'afficher la liste
des noms de tous les vendeurs (Sales Representative) de l'Orégon (OR), elle doit
normalement récupérer le fichier des employés (employee) dans sa totalité. Au contraire,
si cette application communique avec un serveur de base de données relationnelle, il lui
suffit d'exécuter la commande suivante :
SELECT first_name, last_name
FROM employees
WHERE emp_title = 'Sales Representative'
AND emp_state = 'OR'
La base de données relationnelle renverra uniquement les noms de tous les vendeurs de
l'Oregon, et non l'intégralité des informations relatives à tous les employés.
Les coûts matériels peuvent ainsi être minimisés.
Étant donné que les données ne sont pas stockées sur chaque poste client, il n'est pas
nécessaire pour l'utilisateur, de réserver de l'espace disque pour le stockage de ces
données. Il n'est donc pas nécessaire pour les postes clients de disposer de capacité de
traitement pour gérer les données en local. Quant au serveur, il est dispensé de mobiliser
sa puissance de traitement pour afficher les données.
Le serveur peut être configuré en vue d'optimiser les capacités d'E/S du disque afin de
rechercher les données, tandis que les postes clients peuvent en revanche être configurés
en vue d'optimiser les opérations de mise en forme et d'affichage des données récupérées
sur le serveur.