Passer au contenu

Les aglets : des programmes qui voyagent sur le réseau

Les aglets, ou agents mobiles autonomes, circulent sur le réseau pour accomplir à distance les tâches qui leur sont confiées et rapporter les résultats demandés.

Aujourd’hui, peu de gens méconnaissent les applets Java, de petits programmes placés sur un serveur web qui s’exécutent sur l’ordinateur depuis un navigateur Internet. Voici venues les ” applets agiles ” ou ” aglets “. En cours de développement par les laboratoires d’IBM au Japon, les aglets sont des agents mobiles ou proactifs de type objet, qui sont capables d’effectuer un achat en ligne sans que le poste de l’internaute soit allumé. Par exemple, un internaute cherche une information sur le web et est prêt à payer pour l’obtenir. À l’aide d’une interface de saisie, il décrit sa requête et envoie l’aglet sur le réseau, avec un portefeuille électronique embarqué. Il n’a plus qu’à attendre qu’elle revienne après avoir trouvé l’information.Ces aglets passent d’une machine hôte à une autre – et changent même de système d’exploitation sous-jacent grâce à la machine virtuelle Java -, un peu à la manière d’un ver, mais de façon plus contrôlée et dans un environnement sécurisé. Elles utilisent tout naturellement le mécanisme des URL (Uniform Ressource Locator) du web, avec un protocole spécifique : l’ATP, pour Aglet Transport Protocol, dont les adresses sont de la forme atp://aglet. server. com:port.

Le modèle agents-services

À tout instant, une aglet fonctionne dans un contexte, celui de son ” serveur d’aglets ” courant. Il peut s’agir de serveurs généralistes ouverts, comme l’environnement Tahiti, livré avec le kit de développement IBM, ou bien d’une application Java utilisant des aglets comme mécanisme interne de communication, à l’exem-ple de Tivoli TME. Ces serveurs correspondent à une conception nouvelle des programmes où les hôtes deviennent fournisseurs de services locaux (les ” lieux “) pour des agents consommateurs. L’infrastructure nécessite des mécanismes d’authentification, d’autorité et de permis pour permettre aux agents de se repérer à l’intérieur du réseau, de déterminer les services offerts et de résoudre les problèmes de sécurité. Les agents ne communiquent évidemment pas seulement avec le serveur, mais aussi entre eux, grâce à un protocole d’échange de messages. On peut, par exemple, tout à fait concevoir une application de gestion de planning dans laquelle des agendas installés sous forme d’aglets iraient dialoguer avec ceux de vos correspondants.Le kit de développement comporte toutes les fonctions nécessaires au dialogue entre aglets, aussi bien synchrone (les agents ” parlent ” chacun leur tour à des moments convenus) qu’asynchrone (les agents interrompent leur interlocuteur pour ” parler “).

Les agents mobiles sont une extension des objets

Les agents mobiles prolongent le modèle objet. Les objets associent un programme et des données, mais ne se déplacent pas d’un serveur à un autre et ne s’endorment pas temporairement sur un disque. Dans le cas d’une applet Java, ce n’est pas l’objet qui se déplace, mais uniquement sa classe, c’est-à-dire le programme sans ses données. Une aglet transporte à la fois programme et données. Cela signifie qu’elle ne reprend pas l’exécution de son programme à zéro lorsqu’elle change de serveur ou revient d’un stockage temporaire sur disque : elle continue la tâche en cours. Par exemple, si un agent incrémente un compteur de zéro à dix, puis s’expédie sur un autre serveur, il poursuivra ensuite le compte à partir de dix.Ces caractéristiques permettent aux aglets de prolonger le paradigme de la programmation par objet. Les agents jouent un triple rôle : de mécanisme de communication, d’outil de transport de données entre hôtes et de modèle de composant distribué pour des applications réparties. Ainsi, pour établir la communication entre diverses applications, il est possible d’utiliser la capacité d’échange de messages des aglets. Pour ce faire, chaque application doit créer les agents de communication appropriés. Ce mécanisme est similaire à celui établi entre composants objets COM de Microsoft. Pour le transport, l’application utilise la faculté d’une aglet de se transporter d’un hôte à l’autre avec ses données. Dans une application répartie, l’architecture des aglets permet de se libérer des limites des architectures client-serveur ou multitiers : chaque traitement peut être réalisé là où il est le plus efficace.

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Christophe Grosjean