I.7. Avantages d'un système
distribué
· Partage de données : il existe
une disposition dans l'environnement permettant à l'utilisateur d'un
site d'accéder aux données résidant sur d'autres sites.
· Répartition géographique :
mettre à la disposition des usagers les moyens informatiques
locaux en même temps que ceux distant de leurs collègues.
· Disponibilité : si un site
tombe en panne dans un système distribué, les sites restants
peuvent continuer à fonctionner. Ainsi, une défaillance d'un site
n'implique pas nécessairement l'arrêt du système.
· Accélération des calculs :
Lorsqu'un calcul peut être décomposé à un
ensemble des sous calculs parallèle, le système distribué
permet la répartition de cette charge sur ses différents
sites.
· Adaptabilité à une
forte croissance des besoins informatiques d'une entreprise
· Flexibilité :
s Par nature modulaire (possibilité
d'évolution)
·
11
Continuité de service pendant la maintenance
· L'informatique nomade : portable et point
d'accès mobile sur un réseau reparti aux frontières
floues(Internet).
I.8. Inconvénients d'un système
distribué
Dans un système où la communication s'effectue
via un réseau et entre entités différentes, des nombreux
problèmes peuvent naitre et créer d'énormes
dégâts, parmi lesquels :
? Le partage et distribution des données imposent des
mécanismes complexes (Synchronisation et sécurité)
? Problèmes inhérents aux communications
· Communication explicite si pas de mémoire
partagée
· Lenteur, saturation, perte de messages ? Logiciels de
gestion difficile à concevoir
· Peu d'expérience ou succès dans ce
domaine
· Complexité par la transparence ? Ne pas avoir
d'élément central
· Gestion du système totalement
décentralisé et distribué
· Nécessite la mise en place d'algorithmes plus ou
moins complexes
I.9. Architecture client - serveur
Le client server est avant tout un mode de dialogue entre
deux processus. Le premier appelé client demande l'exécution de
services au second appelé serveur. Le serveur accomplit les services et
envoi en retour des réponses. En général, un serveur est
capable de traiter les requêtes de plusieurs clients. Un serveur permet
donc de partager des ressources entre plusieurs clients qui s'adressant
à lui par des requêtes envoyées sous forme de messages.
En générale, les serveurs sont des ordinateurs
dédiés au logiciel serveur qu'ils abritent, et dotés de
capacités supérieures à celles des ordinateurs personnels
en termes de puissance de calcul, d'entrée-sorties et de connexions
réseaux. Les clients sont souvent des ordinateurs personnels ou des
appareils.
L'architecture client-serveur peut être
subdivisée en plusieurs types selon les niveaux :
· 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.
12
Figure I.3. : Architecture c/s à 2 niveaux
? 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.
Figure I.4. : Architecture c/s à 3 niveaux
? 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-tiers. Voici
schématisez cette architecture sur l'image ci-dessous.
Figure I.5. : Architecture c/s à N-tiers.
A noter que le cadre des applications distribuées, la
communication entre le client et serveur est réalisé selon le
protocole TCP/IP qui est chargé du routage des données. De ce
fait, nous distinguons trois types de client :
13
? Le client léger : est une
application dont l'utilisateur ne se connecte explicitement qu'à la base
de données via l'unique serveur.
? Le client lourd : est une application
cliente graphique exécuté sur le système d'exploitation de
l'utilisateur possédant les capacités de traitement
évoluées donc il peut se connecter explicitement à tous
les serveurs dont il a besoin pour la requête qu'il veut formuler.
? Le client Riche : est l'assemblage du
client léger et client lourd dans lequel l'interface graphique est
décrite avec une grammaire basée sur la syntaxe XML.
En effet, nous venons de parcourir certaines notions qui
couvrent les systèmes distribués et ses différentes
architectures, parmi lesquelles, l'architecture au niveau de la couche
application a été notre point focal. Nous avons fini par
comprendre que dans les systèmes distribués, l'architecture
client-serveur est la plus rependue.
|