4.2.5 Communication des aglets
La communication est basée sur l'échange d'objets
de la classe Message. Ce modèle de communication est indépendant
de la localisation de l'aglet et peut être asynchrone ou synchrone.
Un aglet désirant envoyer un message doit obligatoirement
passer par le proxy du destinataire. En fait, le proxy reste
l'intermédiaire obligatoire pour tout échange.
Chaque aglet possède un gestionnaire de messagerie
MessageManager qui lui permet de les traiter un à un et dans l'ordre de
leurs arrivées respectives. Toutefois, cet ordre peut être
changé par l'aglet en modifiant les priorités des messages dans
la file d'attente. Ceci est possible grâce à la méthode
setPriority().
public void MessageManager. SetPriority (String Kind, int
priority) Les priorités ont des valeurs allant de 1 à 10.
D'autres mécanismes existent pour le traitement
parallèle des messages. Chaque message est caractérisé par
la catégorie (Kind) à laquelle il appartient. La création
d'une instance message nécessite l'affectation d'une valeur à son
paramètre Kind
Message msg =new Message (<î' Mon nom », A): le
deuxième argument représente la valeur affectée au premier
argument (kind).
Messages synchrones
La méthode sendMessage(Message msg) permet l'envoi de
messages synchrones. Elle est donc bloquante car elle retourne la
réponse du récepteur.
Messages asynchrones
La messagerie asynchrone est implémentée
grâce à la notion de futur objet. L'envoi d'un message asynchrone
retourne un lien vers la réponse même si cette dernière
n'existe pas encore. Ce lien permet de tester si la réponse est
arrivée ou pas. Cette technique permet à l'aglet d'envoyer un
message sans être obligé d'interrompre son exécution en
attente de la réponse.
4.2.6 Les Serveurs d'aglets
· Tahiti:
un gestionnaire d'agents visuel. Tahiti utilise une interface
graphique unique pour suivre et contrôler l'exécution des aglets.
Il est possible en utilisant le glisser-déposer de faire communiquer
deux agents ou de les faire migrer vers un site particulier. Tahiti dispose
d'un gestionnaire de sécurité paramétrable qui
détecte toute opération non autorisée et empêche
l'agent de la réaliser.
· Fiji:
un lanceur d'agent sur le Web. Fiji est une applet Java
capable de créer ou de détruire un aglet sur un navigateur Web.
Fiji utilise comme unique paramètre l'URL de l'agent, qui est
intégré directement dans le code HTML d'une page Web.
Comme pour une applet, l'exécution d'un aglet commencera
par le téléchargement du code, puis par son lancement grâce
à Fiji. Si le serveur Web est complété par un
démon
ATP, il devient très facile de répartir des aglets
sur les sites Web.
|