L'environnement client/serveur désigne un mode de communication organisé par l'intermédiaire d'un réseau et d'un interface Web entre plusieurs ordinateurs.
Les machines clientes contactent un serveur qui leur fournit des services. Ces derniers sont exploités par des programmes, appelés programmes clients, s'exécutant sur les machines clientes.
2. Plan
Introduction
Exemple
Peer to peer
Architecture 2 tier
Architecture 3 tier
Comparatif
Architecture N tier
Les types des clients
3. Introduction
L'environnement client/serveur désigne un mode
de communication organisé par l'intermédiaire
d'un réseau et d'un interface Web entre plusieurs
ordinateurs.
Les machines clientes contactent un serveur qui
leur fournit des services. Ces derniers sont
exploités par des programmes, appelés
programmes clients, s'exécutant sur les machines
clientes.
4. Le modèle client/serveur peut être utilisé par des
programmes d'un même ordinateur, mais le
concept est surtout utile dans le cadre
d'un réseau. Dans ce cas, le client établit une
connexion au serveur sur un réseau local (LAN)
ou étendu (WAN), tel qu'Internet. Lorsque le
serveur a répondu à la demande du client, la
connexion est terminée. Un navigateur Internet
est un programme client qui demande un service
à un serveur. Le service et la ressource fournis
par le serveur donnent lieu à l'affichage d'une
page Web.
5. Exemple
Par exemple, lorsque vous consultez votre
compte bancaire à partir de votre ordinateur, un
programme client de votre ordinateur transmet
une requête à un programme serveur de votre
banque. Ce programme peut à son tour
transmettre une requête à son propre programme
client, qui envoie alors une requête à un serveur
de base de données sur un autre ordinateur de la
banque. Lorsque le solde de votre compte a été
extrait de la base de données, il est renvoyé au
client de données de la banque, qui à son tour le
renvoie au client de votre PC, qui affiche ces
informations.
6. Avantages de cette architecture :
Unicité de l'information : Pour un site web dynamique par
exemple certains articles du site sont stockés dans une base
de données sur le serveur. De cette manière, les informations
restent identiques. Chaque utilisateur accède aux mêmes
informations.
Meilleure sécurité : Lors de la connexion un PC client ne voit
que le serveur, et non les autres PC clients. De même, les
serveurs sont en général très sécurisés contre les attaques de
pirates.
Meilleure fiabilité : En cas de panne, seul le serveur fait
l'objet d'une réparation, et non le PC client.
Facilité d'évolution : Une architecture client/serveur est
évolutive car il est très facile de rajouter ou d'enlever des
clients, et même des serveurs.
Inconvénients de cette architecture :
7. Peer 2 peer
Il existe d'autres modèles de relations entre
programmes, comme la relation maître/esclave et
la relation de gré-à-gré (ou Peer-to-peer, P2P).
Dans le modèle P2P, chaque nœud du réseau
peut fonctionner comme serveur et comme client.
Dans le modèle maître/esclave, un périphérique
ou un processus (appelé maître) contrôle un ou
plusieurs autres périphériques ou processus
(appelés esclaves). Lorsque la relation
maître/esclave est établie, le contrôle est toujours
unilatéral, du maître à l'esclave.
8.
9. Architecture à 2 niveaux (2 tiers)
L'architecture à deux niveaux caractérise les
systèmes clients/serveurs pour lesquels le client
demande une ressource et le serveur la lui fournit
directement, en utilisant ses propres ressources.
Cela signifie que le serveur ne fait pas appel à
une autre application afin de fournir une partie du
service.
10. Architecture à 3 niveaux (3-tier)
Dans l'architecture à 3 niveaux, il existe un
niveau intermédiaire, c'est-à-dire que l'on a
généralement une architecture partagée entre :
Un client, c'est-à-dire l'ordinateur demandeur de
ressources, équipée d'une interface utilisateur
(généralement un navigateur web) chargée de la
présentation ;
Le serveur d'application middleware, chargé de
fournir la ressource mais faisant appel à un autre
serveur
Le serveur de données, fournissant au serveur
d'application les données dont il a besoin.
11.
12. Cette architecture 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.
13. Comparatif des deux
d'architecture
L'architecture à deux niveaux est donc une
architecture client/serveur dans laquelle le serveur est
polyvalent, c'est-à-dire qu'il est capable de fournir
directement l'ensemble des ressources demandées
par le client.
Dans l'architecture à trois niveaux par contre, les
applications au niveau serveur sont délocalisées,
c'est-à-dire que chaque serveur est spécialisé dans
une tâche (serveur web/serveur de base de
données). L'architecture à trois niveaux permet :
Une plus grande flexibilité/souplesse ;
Une sécurité accrue car la sécurité peut être définie
indépendamment pour chaque service, et à chaque
niveau ;
De meilleures performances, étant donné le partage
14. L'architecture multiniveaux
Dans l'architecture à 3 niveaux, chaque serveur
effectue une tâche (un service) spécialisée. Un
serveur peut donc utiliser les services d'un ou
plusieurs autres serveurs afin de fournir son
propre service. Par conséquent, l'architecture à
trois niveaux est potentiellement une architecture
à N niveaux...
15.
16. 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 œuvre un travail combiné
entre l'ordinateur serveur et le poste client .
Client "riche" Un interface graphique plus évolué permet
de mettre en œuvre 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.