WSIG Intégration entre SMA et WS Par Adouani Nabil & Loukil Brahim khalil
Plan Introduction Définitions: Agent, agent mobile et Système Multi-Agents La plateforme JADE Services Web Intégration entre agents et WS: WSIG Conclusion 2
Introduction Intégrer deux technologies, ou deux notions différentes mais, totalement complémentaires, est sans doute une idée très intéressante. Cet intérêt est plus approuvé si l utilisation des deux concepts en question est en pleine expansion. Est-ce que les web services, simples et efficaces, pourraient bénéficier d un couplage avec les agents, agents mobiles et systèmes multi-agents? Peut-on parler de services web mobiles? 3
Agent, agent mobile et Système Multi-Agents Définitions Agent Agent mobile SMA Standards agent Standards de communication inter-agents 4
Définitions Agent: Entité située dans un environnement qui agit d une façon autonome pour atteindre les objectifs pour lesquels il a été conçu en collaborant éventuellement avec d autres agents. Agent mobile: Agent ayant la capacité de migrer d un site à un autre et d y exécuter du code Système mutli-agents: Ensemble d agents, qui interagissent entre eux, dans un environnement commun, constituant une organisation. 5
Agent «Un agent est une entité autonome, qui est capable d agir sur elle-même et sur son environnement. Telle entité, dans un contexte multiagents, peut communiquer avec d autres agents, et dont le comportement est la conséquence de ses observations, de ses connaissances et des interactions avec les autres agents.» (J. Ferber, Les systèmes multi-agents, vers une intelligence collective ) 6
Agent mobile «Un agent mobile est un agent qui peut se déplacer d'un site à un autre en cours d'exécution pour se rapprocher de données ou de ressources. Il se déplace avec son code et ses données propres, mais aussi avec son état d'exécution. L'agent décide lui-même de manière autonome de ses mouvements. Ainsi, la mobilité est contrôlée par l'application elle-même, et non par le système d'exécution.» (G. Bernard et L. Ismail, Apport des agents mobiles à l'exécution répartie) 7
Systèmes multi-agents Un SMA est un système distribué ou pas, composé d un ensemble d agents qui communiquent et collaborent. 8
Standards agent La FIPA (Foundation for Intelligent Physical Agents) est une organisation à but non lucratif fondée en 1996 dont l'objectif est de produire des standards pour l'interopération d'agents logiciels «hétérogènes» Le modèle de référence pour une plate-forme multi agents FIPA 9
Standards de communication inter-agents KQML (Knowledge Query Meta-language ): il définit un ensemble de types de messages ( performatifs ) des règles définissant les comportements suggérés pour les agents qui reçoivent ces messages ACL (Agent Communication Language ): c est un standard FIPA, ayant le même principe de message que KQML, mais qui est sémantiquement plus riche. 10
La plateforme JADE Description Composantes de JADE Les agents selon JADE Application 1 11
Description JADE (Java Agent DEvelopement framework) est une plate-forme multi-agents créé par le laboratoire TILAB (Italie). JADE permet le développement de systèmes multiagents et d'applications conformes aux normes FIPA. Elle est implémentée en JAVA et possède trois composantes principales (qui correspondent au modèle de référence FIPA). 12
Composantes de JADE DF ( Directory Facilitator ) fournit un service d annuaire à la plate-forme. ACC ( Agent Communication Channel ) gère la communication entre les agents. (Message Transport System du modèle de référence) AMS ( Agent Management System ) supervise l'enregistrement des agents, leur authentification, leur accès et l'utilisation du système. Toutes ces composantes sont des agents JADE 13
Les agents selon JADE Un agent est une classe qui hérite de la classe jade.core.agent A un agent, peuvent être associés, plusieurs comportements (élémentaires, cycliques, périodique, à retardement ). Un agent ne peut vivre que dans l un des conteneurs. 14
Démo 1: Recherche du meilleur prix d un produit Boutique 1 JADE Container JADE Container JBoss EJB Container BD Meilleur prix Client JADE Container Boutique 2 JBoss EJB Container BD 15
Démo 1 Passons à la pratique! 16
Services Web Agents vs. Web Services Agents & Web Services Services web mobile? 17
Agents vs. Web Services Méthodes de communication Avantages Inconvénients Agents Messages ACL et KQML (asynchrone) Autonomie Mobilité Comportement intelligent Comportement dynamique Dépendance du conteneur Le non support de XML Invocable uniquement par un agent Web Services SOAP et RPC (synchrone) Indépendances vis à vis des plateformes et des langages Basé sur XML Facilité de localisation Services statiques 18
Agents & Web Services Pourquoi ne pas fusionner les avantages des deux technologies? Un service Web peut-il être vu comme un agent, donc invocable en tant qu agent? Un agent peut-il de façon réciproque être vu comme un Service Web? WSIG OUI 19
Services web mobile? Les agents peuvent être mobiles. Les agents peuvent être invoqués comme web services. Donc on peut avoir des services web mobiles!! 20
Intégration entre agents et WS: WSIG Présentation de WSIG Architecture fonctionnelle L architecture plus en détails Difficultés rencontrées Application 2 Retour sur services web mobiles Retour sur l application 1 21
Présentation de WSIG Le WSIG (Web Service Integration Gateway) est un produit additionnel du JADE qui fournit le support pour l invocation bidirectionnelle : du service Web vers l agents JADE et réciproquement. Le WSIG a été développé par la société Whitestein Technologies en mars 2005 WSIG permet: Publier un service d agent comme WS endpoint Publier un WS comme un ensemble de services d agent Invoquer des WS par des agents Invoquer des services d agent par un WS 22
Architecture fonctionnelle 23
L architecture plus en détails 24
Difficultés rencontrées La version courante de WSIG (téléchargeable sur Internet) n est pas complète, c est-à-dire qu elle contient des méthodes pas encore implémentées, notamment en ce qui concerne l invocation de WS par un agent. Pour résoudre ce problème, on a juste ajouté le support d appel de WS, sous l hypothèse de disposer d un WS ayant des méthodes recevant un seul argument de type String et renvoyant un résultat de type String. 25
Démo 2: Chat multi langue JADE container Client1 Connecté Client2 déconnecté Pseudo langue Langue différente Pseudo langue WS Si même langue Connect Liste des contacts DF Liste des contacts 26
Démo 2 Passons à la pratique! 27
Retour sur services web mobiles Agent mobile + WSIG = Service web mobile 28
Démo 3: Meilleur prix en utilisant un client SOAP Boutique 1 JADE Container JADE Container JBoss EJB Container BD Meilleur prix WSIG JADE Container Boutique 2 JBoss EJB Container Client SOAP BD 29
Démo 3 Passons à la pratique! 30
Conclusion Les SMA et les WS sont deux technologies différentes, en vogue, ayant chacune ses avantages et inconvénients. L idée de les combiner est assez intéressante. La seule implémentation qui existe est WSIG. Cette tentative d intégration nous mène à penser à intégrer les SMA avec d autre technologies, telles que les Bundle de OSGI, ou les MBean de JMX. 31
Bibliographie Plate-forme JADE: http://jade.cselt.it/ Documentation de JADE: http://jade.tilab.com/doc/index.html Documentation officielle de WSIG: WSIG Guide 32
Merci pour votre attention! Des questions? 33