Chapitre 4
La plateforme Aglets
4.1 Introduction
Un aglet est la contraction de Agent et Applet. IBM a
confié à une équipe japonaise le soin de développer
une technologie pour les agents mobiles. Aglets est le résultat des
recherches de cette équipe. Il s'agit d'une API java spécifiant
un ensemble de méthodes répondant aux principes fondamentaux des
agents mobiles. Dans ce chapitre nous allons nous intéresser à
bien étudier Aglets en tant qu'une plateforme. Nous allons
définir quelques mots clés tels que hôte, contexte, Proxy,
etc. De plus, on va parler du cycle de vie, mobilité et communication
des aglets.
4.2 Aglets
4.2.1 Définitions
Aglets vs Applets
Les aglets ne sont pas les premiers programmes pouvant
déplacer du code java sur le réseau. Les applets le font depuis
longtemps. Mais contrairement aux applets, quand un aglet migre d'un hôte
à l'autre, il emmène son état avec lui. Une applet est du
code migrant d'un serveur vers un client. Un aglet est un programme java en
cours d'exécution qui peut se déplacer d'un hôte à
l'autre via le réseau.
Les aglets sont similaires aux applets dans la mesure
où ils s'exécutent au sein d'une machine virtuelle java. Un
appletviewer ou un navigateur est nécessaire aux applets. Le navigateur
implémente une politique de sécurité destinée
à interdire au code malveillant d'accéder aux ressources
sensibles du système. De la même manière, un aglet a besoin
d'un hôte d'aglets pour s'exécuter sur une machine. Il s'agira en
principe de Tahiti, mais pas forcément. Cet hôte doit
également proposer une politique de sécurité pour
restreindre les pouvoirs des aglets non dignes
de confiance.
D'une autre manière, on peut dire qu'un aglet est un
objet mobile qui dispose de son propre thread de contrôle, auquel on peut
envoyer des événements et qui a la possibilité de
communiquer par l'intermédiaire de messages.
L'API (Agent Protocol Interface) de communication
utilisée par les aglets est dérivée du standard MASIF
(Mobile Agent System Interoperability Facility) du groupe OMG (Object Managment
Group).
Le modèle d'objet des Aglets définit un ensemble
d'abstractions et de comportements pour le développement d'agents
mobiles sur Internet. Ces abstractions sont les concepts de base de
l'environnement de la plateforme Aglets à savoir : l'Aglet, le Proxy, le
Contexte et l'hôte.
Proxy
Les méthodes des aglets ne sont jamais invoquées
directement. Ces méthodes sont invoquées au travers un objet
AgletProxy (figure 3.1). Cet objet est obtenu en retour lors de la
création d'un aglet ou à l'aide de l'identificateur de
l'aglet.
Monde extérieur
Interactions
Proxy aglet
Figure 3.1 Relation entre un aglet et son Proxy.
Contexte
Un contexte est un objet statique qui fournit des moyens pour
mettre à jour et contrôler des aglets dans un environnement
uniforme d'exécution où le système hôte est
immunisé contre des aglets malveillants (figure3.2). Un noeud dans un
réseau informatique peut accueillir des contextes multiples.
Aglets
Contexte
Ressources
Figure 3. 2 Évolution des Aglets dans un Contexte.
Hôte
Un hôte est une machine capable d'héberger plusieurs
contextes qui peuvent être gérés par un moteur (figure
3.3). Généralement, l'hôte est un noeud dans un
réseau.
Contexte
Hôte
Contexte
Moteur
Contexte
Figure 3.3 Relations entre hôte, moteur et contexte.
|