II.3. Systèmes répartis
Un système réparti [12](ou distribué, de
«distributed system»), est une composition de plusieurs
systèmes calculatoires autonomes, n'ayant pas de mémoires
physiques communes et qui communiquent par l'intermédiaire d'un
réseau quelconque. Ainsi, la maitrise des différentes approches
de conception (Invocation de méthode, Invocation de service,
échange de messages, etc.) des systèmes distribués
favorisent une manipulation aisée des informations multimédia.
II.3.1 Invocation distante
Il existe plusieurs modes d'invocation distantes dont les plus
utilisés sont l'invocation de méthodes et l'invocation de
service.
Invocation de méthode :
Par souci initial de réutilisation et pour faciliter la
conception et la maintenance, le domaine du génie logiciel s'est
porté vers la programmation orientée objet. Un objet est une
abstraction conceptuelle qui encapsule des données, associées
à un ensemble de méthodes. Les systèmes basés sur
les objets distribués adoptent le plus souvent un schéma
client-serveur. Les objets sont gérés par des serveurs et les
clients invoquent leurs méthodes (RPC objet, appelé RMI, Remote
Method Invocation).
Invocation de service
De plus en plus, les architectures reposant sur un
schéma client-serveur s'appuient sur l'Internet. Cependant, les
protocoles existants, tels que IIOP (Internet Inter-ORB Protocol) ou celui DCOM
(Distributed Component Object Model) s'adaptent difficilement aux
environnements à grande échelle. Ils nécessitent un
support d'exécution dédié. Des spécifications de
protocole pour l'invocation distante telles que SOAP (Simple Object Access
Protocol) émergent afin de standardiser les communications entre les
applications à travers l'Internet, où les clients et serveurs
s'affranchissent d'un ORB (Object Request Broker).
La figure1 nous présente le fonctionnement d'une
invocation distante.
Figure 1: Invocation distante
II.3.2 Evaluation distante
Dans une interaction par évaluation distante, le
composant client (un acteur du système) envoie un code à un autre
site. Le composant récepteur exécute le programme, le code de
l'application. Ce code peut contenir des données. Eventuellement, une
interaction additionnelle délivre ensuite les résultats du
service au composant émetteur. L'unité d'exécution
(c'est-à-dire le compteur ordinal, pile, tas) et les ressources sont
fixes, seul le savoir-faire est mobile. La Figure 2 présente le
schéma à la manière de la Figure 1, illustrant le
schéma client-serveur. Le service est réalisé sur le
composant serveur (c'est-à-dire boite jaune), à la
réception du code.
Figure 2: Evaluation distante
Un exemple d'évaluation distante est la commande
rsh du système Unix. Elle permet à un
utilisateur d'exécuter une suite d'instructions (c'est-à-dire
script) sur un site distant.
II.3.3 Agent mobile
A la différence de l'évaluation distante, avec
un agent mobile, l'exécution du code est initiée sur le composant
client et continuée sur une collection de composants visités. Un
agent mobile à migration faible, dont l'itinéraire est
limité à un unique site, migrant dès le debut de son
exécution, peut correspondre au schéma d'évaluation
distante (l'état du processus transporté par les
données-paramètres étant vide).
Mémoire de Fin d'Etudes de Master 2 Recherche en
Informatique : ENSP YAOUNDE, DECEMBRE 2008 Ingénieur DONFACK
Cédric Pérez 9
Figure 3: Agent mobile
Par leur nature, les agents mobiles traitent la distribution
en interne. Un agent mobile est donc un processus migrant volontairement. Il
peut se déplacer de site en site en suivant un itinéaire en
fonction des taches à réaliser.
|