Implantation et évaluation de notre approche de composition des services

Télécharger le fichier original (Mémoire de fin d’études)

LES dernières décennies ont été marquées par le développement rapide des systèmes

d’information distribués, et la diffusion de l’accès à Internet. Cette évolution du monde informatique a entraîné le développement de nouveaux paradigmes d’interaction entre les applications. Un de ces paradigmes qui a pris de l’ampleur au cours de ces dernières années est l’architecture orientée services (SOA). La méthode de conception des architectures SOA est basée sur un ensemble de standards permettant de créer une infrastructure informa-tique capable de répondre rapidement aux nouveaux besoins d’un utilisateur. Les services Web constituent un moyen de plus en plus normalisé, étendu et puissant pour mettre en œuvre une architecture SOA. Parmi les concepts intéressants qu’offre la technologie de ser-vice Web, il convient de souligner la possibilité de créer un nouveau service Web à valeur ajoutée par composition de plusieurs services Web existants. Il n’est pas toujours évident de trouver des services Web qui correspondent aux requêtes des utilisateurs. Par conséquent,
la composition des services existants est un besoin grandissant de nos jours.
La composition de services implique la capacité de sélectionner, de coordonner, d’inter-agir, et de faire interopérer des services Web existants. Elle constitue une tâche complexe. Cette complexité est due principalement au grand nombre de services Web disponibles sur le Web et à leur hétérogénéité puisqu’ils sont créés par des organisations différentes [Buc-chiarone et Gnesi, 2006].
Cette complexité est renforcée quand il s’agit d’intégrer dynamiquement des services à la demande, et surtout les composer pour répondre automatiquement à des exigences qui ne sont pas réalisées par les services existants. Ce défi est d’autant plus grand dans le cas d’un environnement, tel que le Web et l’informatique pervasive où les entités disponibles sont dynamiques et les attentes des utilisateurs sont variables et personnalisées. En effet, une approche pour la composition de services doit offrir le potentiel de réaliser des applications flexibles et adaptables, en sélectionnant et en combinant les services de manière appropriée sur la base de la requête et du contexte de l’utilisateur .
Dans cette perspective, différentes approches ont été développées pour la composition dynamique de services. Cependant, la plupart d’entre elles considèrent l’ensemble de ser-vices Web comme le seul aspect configurable au moment de l’exécution. En conséquence, les processus de composition ont tendance à être statique et non-flexible dans le sens où ils n’ont pas la capacité de s’adapter aux besoins des utilisateurs.
Afin de construire une composition de services, deux étapes doivent être effectuées [San-tos et al., 2006] (pas nécessairement séparées) : un schéma de composition (ou modèle de processus) spécifiant le flux de contrôle et de données entre les activités doit être créé ; (2) les services concrets doivent être découverts et assignés aux activités du processus.
En ce qui concerne le degré de dynamicité dans ces deux étapes, nous avons retenu essentiellement deux stratégies de composition. La première consiste à définir le schéma de composition au moment de la conception et à sélectionner les services concrets au mo-ment de l’exécution en se basant sur des critères automatiquement analysables, telles que la fonctionnalité du service, la signature et les paramètres QoS. [Casati et al., 2000] utilise une méthode statique pour la génération de workflow. Un service composite est modélisé par un graphe qui définit l’ordre de l’exécution. Les services concrets peuvent être assignés aux tâches du workflow au moment de l’exécution. Dans Meteors [Aggarwal et al., 2004], les auteurs ont proposé une approche qui consiste à ajouter de la sémantique aux standards courants tels que UDDI, WSDL et BPEL. Toutefois, ces deux initiatives nécessitent un work-flow prédéfini. Par conséquent, une telle méthode de composition manque de flexibilité et présente des difficultés à s’adapter aux besoins des utilisateurs.
La deuxième stratégie consiste à combiner la génération du schéma de composition avec l’assignation des service au moment de l’exécution. Cela implique que la composition com-plète de services peut être effectuée lors de l’exécution. Généralement, les méthodes inspi-rées de l’intelligence artificielle (IA) basées sur la logique formelle sont utilisées dans le but de fournir une composition entièrement automatisée, comme le raisonnement automatisé par les preuves de théorèmes (theorem proving). Un exemple de composition de services entièrement automatisée basée sur des algorithmes de planification inspirés de l’IA est don-née dans [Ponnekanti et Fox, 2002]. Pour créer un service composite, le demandeur de ser-vices a besoin seulement de spécifier l’état initial et final pour le service composite, puis la génération de plan peut être obtenue en utilisant un système expert basé sur des règles. Une solution pour la composition automatique basée sur un langage de description de but (GDL4WSAC) est proposé par Lin et. al. [Lin et al., 2005].
Bien que cette deuxième stratégie semble être plus flexible et adaptable que la première, la modélisation des flux de contrôle et de données d’un service composite est une tâche po-tentiellement fastidieuse et consommatrice en terme de temps (raisonnement, planification),
et surtout si nous considérons une composition totalement automatisée. En outre, la création du flux de données, peut être complexe et nécessite l’intervention de l’utilisateur censé avoir une connaissance approfondie sur les représentations de types sous-jacents. Donc même les approches qui clament fournir une composition « entièrement automatisée » au moment de l’exécution se basent sur une partie prédéfinie (comme les règles).
Dans notre travail, nous essayons de tirer profit des avantages des deux stratégies ci-tées : en plus de la sélection des services concrets au moment de l’exécution, la génération du schéma de composition est effectuée en partie au moment de l’exécution en ayant recours aux services abstraits fournis au moment de la conception. Cela permet une certaine flexi-bilité et adaptabilité sans avoir besoin de construire une composition de services à partir de zéro au moment de l’exécution.
Dans cette même perspective, quelques travaux sur la composition des services ont uti-lisé une sorte de gabarit ou workflow flexibles. Le travail dans [Teije et al., 2004] a utilisé une méthode à base d’agents pour dériver différents services complexes grâce à des tem-plates. cependant, le seul aspect configurable est l’ensemble des services Web. Les auteurs dans [Wang et al., 2010] modélisent une composition de services comme un processus de décision de Markov, de sorte que de multiples services et workflow peuvent être incorporés dans une composition de service unique. L’optimisation de la composition est réalisée au moment de l’exécution à travers l’apprentissage par renforcement. Lors de l’exécution de la composition, le système peut choisir le workflow qui offre les meilleurs résultats. Toutefois, l’accent dans ce travail est mis sur l’adaptation aux changements des services composants et non pas des exigences fonctionnelles des utilisateurs.
Dans cette thèse, nous proposons une approche qui se compose principalement de quatre étapes. La première étape prend une structuration des besoins de l’utilisateur matérialisée par un graphe d’intentions et l’enrichit pour expliciter les relations implicites. Le résultat de cette étape permet de générer un schéma de composition initial en construisant le flux de contrôle déduit du graphe des intentions enrichi, puis en sélectionnant les services abstraits adéquats. Le choix de ces services est basé sur le matching sémantique et le degré d’affinité entre les services abstraits. La troisième étape consiste à générer le schéma de composition final à l’aide d’un mécanisme de raffinement des services abstraits en utilisant des tech-niques de matching sémantique. Enfin, le plan d’exécution est généré en tenant compte des contraintes non-fonctionnelles fournies par la spécification des intentions.

Table des matières

Remerciements
Introduction
1  État de l’art
1.1 Introduction
1.2 Concepts de base du paradigme orienté service
1.2.1Évolution vers les approches orientées services.
1.2.2Les services.
1.2.3Architecture orientée service
1.3  La composition de services
1.3.1Stratégies de composition de services. .
1.3.2Composition statique vs composition dynamique
1.3.3Composition manuelle vs automatique.
1.3.4Degrés d’automatisation/dynamicité.
1.3.5Points d’intérêt de la composition de services
1.3.5.1Description de services
1.3.5.2   Matching des services
1.3.5.3Combinaison de services.
1.3.5.4   Sélection de services
1.4 Approches automatiques pour la composition des services
1.4.1Techniques basées sur la planification IA
1.4.2Techniques basées sur le chaînage
1.4.3Approches basées règles
1.4.4Approches basées connaissances
1.4.4.1Approches basées patrons .
1.4.4.2   Approches basées sur le raisonnement par cas (et/ou) ap-
prentissage
1.5 Problématique
1.5.1Besoin de flexibilité dans la construction de services composites adap-
tables
1.5.2Difficultés pour la génération dynamique des schémas de composition32
1.5.3Inadéquation de la composition de service avec l’intention de l’utilisa
teur
1.6 Conclusion
2  Modèles sémantiques pour la composition des services
2.1 Introduction
2.2 Approche générale
2.3 Pré-requis de notre approche de composition de services
2.3.1Introduction aux ontologies OWL/OWL-S .
2.3.2Les services abstraits
2.3.2.1   Définition et motivation
2.3.2.2   Spécification des services abstraits.
2.3.2.3Mise en œuvre des services abstraits avec OWL-S .
2.3.3Formalisation des intentions
2.3.3.1Background sur les intentions.
2.3.3.2Représentation des intentions.
2.3.4La notion de contexte
2.4 Conclusion
3  Approche basée sémantique pour la composition des services
3.1 Introduction
3.2 Le processus de composition automatique. .
3.2.1Enrichissement du graphe des intentions
3.2.2La génération du schéma de composition initial
3.2.2.1La construction du flux de contrôle.
3.2.2.2La sélection des services abstraits.
3.2.3La génération du schéma de composition final.
3.2.3.1Matching sémantique
3.2.3.2Utilisation du contexte.
3.2.4Génération du plan d’exécution.
3.3 Conclusion
4  Implantation et évaluation de notre approche de composition des services
4.1 Introduction.
4.2 Mise en œuvre de l’environnement de composition
4.2.1Architecture de l’environnement de composition
4.2.2Outils, langages et technologies utilisés
4.3 Cas d’étude
4.3.1Description de l’environnement.
4.3.2Graphe initial des intentions du cas d’étude.
4.4 Application de l’approche sur le cas d’étude .
4.4.1Application des règles d’enrichissement.
4.4.2Génération du schéma de composition initial :
4.4.3Génération du schéma de composition final. . .
4.5 Évaluation
4.5.1Évaluation du temps d’exécution
4.5.2Qualité des résultats
4.6 Conclusion
Conclusion générale et perspectives
Bibliographie
Liste des figures

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *