3. Presentation du modele client/serveur
Le modele client/serveur est une des modalites des
architectures informatiques distribuees.
Au sein de cette architecture, les processus sont classes entre
offreurs de services (serveurs) et consommateurs de services (clients).
Le terme serveur s'applique a tout
programme qui offre un service que l'on peut atteindre a travers un reseau.
Le serveur accepte des demandes issues du reseau, les traite et
renvoie le
resultat au demandeur. Quant au terme
client, il s'applique a tout programme qui emet une demande a une
serveur et qui attend une reponse(4).
[DCO, 95]
(39.+echnique permettant d'appeler une
procedure distante comme une procedure locale, en rendant transparents les
messages ichanges.
(49.-essage transmis par un serveur a un
client suite a l'exécution d'une operation .
Fig.1 : Une architecture client /serveur.
· Le client émet une requete vers le serveur grace a
son adresse IP et le port, qui désigne un service particulier du
serveur.
· Le serveur recoit la demande et répond a l'aide de
l'adresse de la machine cliente et son port.
3.1. Caracteristiques du serveur
Le rOle du serveur est l'hébergement des services. Il est
peut etre spécialisé
en serveur d'applications, de fichiers ou de terminaux ou de
messagerie électronique(5).
· Il est Passif (esclave), en attente d'une requete ;
· Il est a l'écoute, pret a répondre aux
requetes envoyées par les clients ;
· Des qu'une requete lui parvient, il la traite et envoie
une réponse ;
· Il est capable de traiter les requetes et répondre
a plusieurs clients simultanément (multi-threading) ;
· Il est contrOleur d'acces et garant de
l'intégrité globale.
· Les serveurs peuvent etre mis a niveau sans effet sur les
clients tant que l'interface des messages reste la meme.
(5).11 s'agit de courrier
dectronique.
3.2. Caractéristiques du client
· Actif (maitre) ;
· Envoie des requetes au serveur ;
· Attend et recoit les reponses du serveur.
Les systèmes client/serveur peuvent etre : soit plats
dans le cas ou tous les clients communiquent seulement avec un seul serveur
soit hierarchiques dans le cas ou les clients n'ont de contact qu'avec les
serveurs de plus haut niveau qu'eux (les serveur DNS).
3.3. Point commun entre le client et le serveur
Le client et le serveur doivent, bien sur utiliser le meme
protocole de communication.
3.4. Caracteristiques du modele client/ serveur [ERA,
04]
Les systèmes client/serveur partagent les
caracteristiques suivantes constituant une base pour la conception
d'application en reseau :
· Le partage de ressources : plusieurs
clients peuvent etre o servis » simultanement et leurs accès aux
ressources est controle.
· La transparence : la localisation des
clients et des serveurs est transparente aux deux.
· L'echelonnage : Supporte mieux une
augmentation du nombre de clients.
· L'interoperabilite : les plates formes
clients peuvent etre heterogènes (le lien est fait grace au
protocole).
· La delocalisation : il y a peu ou pas de
contraintes de proximite entre les clients et le serveur.
· Système ouvert :
s'appuie sur des standards (ISO, ANSI, IEEE...) pour permettre la portabilite,
le remplacement d'un composant d'un constructeur par celui d'un autre conforme
aux standard.
· L'integrite : le code et les donnees du
serveur sont geres de facon centralisee, ce qui garantit un moindre cout de
maintenance et une meilleure integrite des donnees partagees.
· Echange de messages : les clients et les
serveurs interagissent par l'intermediaire de messages, le message est le
mecanisme d'emission des demandes de services et des reponses a celles-ci.
L'union entre le concept d'objet et de repartition a donne
naissance a un nombre impressionnant de langages , de systèmes,de
bibliothèques d'objets repartis ,et de produit commerciaux, parmi
lesquels :CORBA ,DCOM, java (java RMI) ou encore
.NET, qui sont consideres très branches comme technologies ,le
tableau ci-dessous synthetise la difference entre ces systèmes :
Tab.1 :Comparaison entre les differentes implementations
du client/serveur (in cluent .net et les web services ).
|