I.3. Quelques domaines
d'application des systèmes distribués
Les systèmes distribués sont rencontrés
dans notre vie quotidienne :
· La gestion intégrée des informations
d'une entreprise (guichet de banque, agence de voyage,..) ;
· Internet : l'internet, aujourd'hui, constitue un
grand exemple d'un système distribué le plus large au monde
contenant de nombreux sous-systèmes selon le protocole
considéré. Exemple : Web (http), bittorrent (peer-to-peer).
Des nombreux utilisateurs partout dans le monde peuvent utiliser des services
offerts par l'internet comme le WWW, le FTP (File Transfert Protocol) et tant
d'autres applications. On remarque ici une collection deréseaux
d'ordinateurs interconnectés. Et les programmes s'y exécutant
interagissent grâce aux échanges de messages en utilisant un moyen
de communication ou un autre ;
· Le WWW représente un système
distribué logique consistant en un nombre considérable de
ressources (pages web, fichiers de données et services)
référencées par des URL (Uniform Ressource
Locator) ;
· Les téléphones portables ;
· Le contrôle et organisation d'activités en
temps réel (télévision interactive)
I.4. Difficulté de mise
en oeuvre
La mise en oeuvre des systèmes distribués
engendre un certain nombre de difficultés dont voici
quelques-unes :
· Gestion de
l'hétérogénéité et Cohérence des
données
Lors de la mise en place d'un système distribué,
il est nécessaire que l'ensemble des composants travaillent avec des
données cohérentes.Cette cohérence des données est
d'autant plus problématique lorsque l'on commence à redonder
certains composants pour augmenter la capacité de traitement et/ou la
disponibilité du système.
En effet, les données comme le cache applicatif, le
contenu d'une base de données ou bien les variables de session des
utilisateurs Web doivent être synchronisées entre les
différentes instances d'un composant afin d'assurer une cohérence
dans les traitements réalisés.
· Gestion des composants
Un système distribué étant composé
d'un ensemble de composants logiciels répartis sur plusieurs serveurs
physiques. Il est nécessaire pour assurer la maintenance corrective et
évolutive du système de dresser une cartographie complète
de ce système.
· Disponibilité et détection
d'arrêts
Dans un système distribué,
l'indisponibilité d'un seul composant du système (serveur, base
de données, ...) peut rendre indisponible le système complet. On
mesure alors la disponibilité de ce type de système à
celle de son maillon le plus faible.
Pour couvrir ce risque, il est nécessaire de mettre en
place en amont une architecture permettant d'assurer la disponibilité
cible pour tous les composants. Une fois que cette architecture est en
production, des opérateurs doivent à l'aide de logiciels
s'assurer de la détection au plus tôt d'une défaillance de
l'un des composants de l'architecture.
· Gestion de la séquentialité
La mise en place d'un cluster de type actif/actif provoque la
création de deux points d'entrée au système. Dans le cas
d'un système distribué d'échange de données par
exemple, il est alors possible que deux modifications successives du même
objet soient dirigées vers deux noeuds différents du cluster, ce
qui dans l'absolu peut aboutir à une situation où le message le
plus récent est diffusé en premier vers l'application
destinataire.
Si aucune gestion de la séquentialité des
messages n'est faite, le message le plus ancien viendra écraser dans
les applications destinataires le message le plus récent.
|