Introduction générale
De nos jours, le web n'est plus simplement un énorme
entrepôt de texte et d'images, son évolution a fait qu'il est
aussi un fournisseur de services. Aujourd'hui, même si toutes les
entreprises n'ont pas fondé l'essentiel de leurs services
économiques sur le net, elles se doivent au moins d'y être
représentées, ne serait-ce que pour donner l'image d'une
entreprise moderne, dynamique et technologiquement à la page. Une
nouvelle technologie leur facilite grandement les choses et permet une
communication facile et à distance entre ces entreprises et leurs
partenaires et clients c'est les services web [2].
La notion de « service web » désigne
essentiellement une application mise à disposition sur Internet par un
fournisseur de services, et accessible par les clients à travers des
protocoles Internet standards.
Actuellement, les services web sont mis en oeuvre au travers
une infrastructure basée sur trois technologies standard : WSDL, UDDI et
SOAP. Ces technologies facilitent la description, la découverte et la
communication entre services. Cette infrastructure est suffisante pour mettre
en place des composants interopérables et intégrables mais
insuffisante pour rendre automatique et efficace plusieurs tâches
liées au cycle de vie des services web.
Pour pouvoir utiliser un service web, il ne faut que le
rechercher dans des annuaires UDDI, de récupérer sa description
WSDL et puis de l'invoquer à travers des messages SOAP. Cependant, ces
étapes sont suffisantes seulement si le service requis peut être
atteint directement par un seul service web. Certaines fois les demandes des
utilisateurs ne peuvent pas être résolues que par
l'intégration de plusieurs services web. Cette intégration est
connue par composition de services web.
La composition des services web se réfère au
processus de création d'un service composite offrant une nouvelle
fonctionnalité, à partir de services web existants plus simples,
par le processus de découverte dynamique, d'intégration et
d'exécution de ces services dans un ordre bien défini afin de
satisfaire un besoin bien déterminé [3].
Dans le départ, la composition est faite manuellement.
Mais rapidement, une automatisation de ce processus devient un domaine de
recherche très actif. Dans ce chemin, la première approche
consiste à définir des processus métier, i.e., des
enchaînements réutilisables de services ; c'est la composition
statique. Une autre approche envisageable est la composition « dynamique
». Les services web sont composés dynamiquement en fonction de
leurs fonctionnalités et de leur disponibilité. La composition
dynamique, peut se justifier par les points suivants [1]:
- du fait de l'évolution permanente de l'offre de
services et de leurs capacités, une description statique de la
composition est difficile à maintenir ;
- elle permet d'adapter la composition aux attentes de
l'utilisateur et donc de ne pas être contraint par une composition a
priori ;
- elle permet de faire d'Internet une zone de compétences
composables et évolutives.
Le besoin d'automatisation du processus de conception et de
mise en oeuvre des services web rejoint les préoccupations à
l'origine du Web sémantique, à savoir comment décrire
formellement les connaissances de manière à les rendre
exploitables par des machines. En conséquence, les technologies et les
outils développés dans le contexte du Web sémantique
peuvent certainement compléter la technologie des services web en vue
d'apporter des réponses crédibles au problème de
l'automatisation. C'est la naissance des services web
sémantiques. Plusieurs langages de description des services web
sémantiques sont apparus. Celui de référence est le
langage OWL-S.
OWL-S respecte une syntaxe XML et une sémantique de OWL
et a pour objectif de fournir une plus grande expressivité en permettant
la description des caractéristiques des services afin de pouvoir
raisonner dessus dans le but de découvrir, invoquer, composer et
gérer les services web de façon la plus automatisée
possible.
L'objectif de notre travail est d'étudier les
mécanismes nécessaires à la mise en oeuvre d'une
composition dynamique de services basée sur l'utilisation de ses
descriptions sémantiques et d'une technique évolutive de
l'intelligence artificielle ; celle de la planification
multi-agents.
La planification et les SMA ont faits deux domaines de
recherche très actifs de l'intelligence artificielle. Le premier vise le
développement d'algorithmes pour produire des plans, typiquement pour
l'exécution par un robot ou tout autre agent. Le deuxième
s'intéresse aux comportements collectifs produits par les interactions
de plusieurs entités autonomes et flexibles appelées
agents.
La planification dans les systèmes multi-agents, ou
planification multi-agents considère alors le problème de
planification dans le contexte des systèmes multi agent. Elle
étend la planification traditionnelle en intelligence artificielle aux
domaines où plusieurs agents sont impliqués dans un plan et ont
besoin d'agir simultanément.
La grande correspondance entre les descriptions OWL-S et les
représentations en planification ainsi que la nature distribuée
des services web et leurs autonomies, expliquent donc l'intérêt
croissant de l'exploitation de la planification et des SMA dans la composition
de services web.
La méthode de composition dynamique que nous proposons
est basée sur le modèle de planification multi-agents
centralisé dont l'existence d'un agent coordinateur est
nécessaire. Chaque service web est représenté dans le
modèle par un agent assurant ses fonctionnalités. Le plan
solution (s'il existe) est construit par l'agent coordinateur en planifiant
(coordonnant) les différentes actions des agents représentants
des services extraites des descriptions OWL-S des services qu'ils
représentent.
Nous essayons tout au long de notre travail d'illustrer
l'efficacité de ce modèle. Pour le faire le rapport est
présenté dans deux parties : la première contient une
étude des différents aspects lié au problème et est
composée de trois chapitres, un pour présenter les concepts
liés à la planification et les systèmes multi-agents, un
autre pour les concepts des services web et des services web sémantiques
incluant une brève présentation du langage OWL-S et en fin un
troisième citant les différentes approches de composition
existantes ainsi que l'approche proposée. La deuxième partie du
rapport élabore au travers deux chapitres la conception et la
réalisation d'un système implémentant le modèle
proposé.
|