Composition des services web

Composition des services web

Problématique et motivations

Etant donné un ensemble de besoins fonctionnels et non-fonctionnels de l’utilisateur, le défi est comment construire un service composite d’une manière automatique tel que la valeur globale de QoS soit optimale ?. Ce problème est connu sous le nom « QoS-aware automatic web service composition » [Bartalos and Bieliková, 2009], [Salomie et al., 2010]. Différentes approches ont été développées pour résoudre la problématique de la composition de services web. Elles peuvent généralement être classées dans l’une des classes suivantes [Deng et al., 2013], [Rodriguez-Mier et al., 2016], [Jiang et al., 2010] : les approches de composition automatique des services web (automated web service composition approaches), les approches de composition des services web sensible à la QoS (QoS-aware service composition approaches) et les approches hybrides (QoSaware automatic web service composition approaches). Notre étude bibliographique a révélé que les approches de la première classe sont basées sur les techniques de planification de l’intelligence artificielle (IA). Ces techniques sont souvent considérées comme les plus efficaces et même prédominantes pour résoudre automatiquement des problèmes de compositions [Yan et al., 2012].

Cependant, la plupart de ces approches cherchent à trouver des plans de composition valides sans considération de la qualité de service (QoS) globale de la solution recherchée. Par conséquent, ces méthodes seraient incapables de trouver des compositions optimales en satisfaisant les contraintes de l’utilisateur en terme de QoS. Quant aux approches de composition des services web sensible à la QoS, ce sont des approches qui peuvent aboutir à des solutions optimales (ou quasi-optimales) et de bonne qualité en un temps raisonnable. Cependant, la plupart des travaux proposés modélisent la composition comme un workflow abstrait c’est-à-dire supposent l’existence préalable de plans de composition de services abstraits, et chaque service abstrait sera par la suite être lié à un service concret pris parmi les services concrets qui sont fonctionnellement équivalents. Pour les approches hybrides, elles combinent les techniques de planification et les techniques d’optimisation afin de trouver la composition recherchée d’une manière automatique. Les solutions trouvées prennent en considération non seulement l’aspect fonctionnel des services web mais aussi l’aspect non fonctionnel regroupant un ensemble de paramètres de qualité de service (temps de réponse, fiabilité, etc). Cependant, la plupart d’entre elles ne prennent pas en compte les contraintes nonfonctionnelles de l’utilisateur.

Dans cette thèse, nous proposons une approche de composition automatique des services qui considère à la fois les propriétés fonctionnelles (c.-à-d. le flux de données échangé entre les services web en terme d’entrées et de sorties), les propriétés non-fonctionnelles (les paramètres de QoS des services web tels que le temps de réponse, le coût, la réputation, etc.) et les contraintes non-fonctionnelles de l’utilisateur (contraintes imposés sur les paramètres de QoS). Pour cela, nous avons adopté une technique de planification qui est le graphe planification amélioré EPG (Enhanced Planning Graph) [Pop et al., 2009]. Ce graphe permet la définition d’un espace de recherche efficace, dont l’exploration permet de connaître l’existence de la solution et même son extraction. Toutefois, l’algorithme de l’extraction de la solution peut être en pratique très coûteux en terme de temps d’exécution car le problème sous-jacent est NP-complet [Yan et al., 2012]. Pour cette raison, des techniques d’optimisation sont souvent utilisées.

Contributions

Ce travail a pour but de favoriser l’intégration des préférences des utilisateurs en termes de QoS dans le processus de la composition de services web. Notre contribution pour résoudre le problème « QoS-aware automatic service composition » est basée sur un graphe de planification amélioré EPG [Pop et al., 2009] et un algorithme Harmony Search (ou la recherche par harmonie) [Geem et al., 2001] pour sélectionner la composition optimale ou quasi-optimale [Bekkouche et al., 2017]. L’utilisateur peut spécifier plusieurs contraintes non-fonctionnelles. Ainsi, notre méthode est capable de trouver un service composite qui optimise la valeur de QoS globale, tout en satisfaisant les contraintes spécifiées. Nous résumons ci-dessous nos principales contributions :

L’élaboration des états de l’art des approches de composition : nous avons effectué des états de l’art détaillés relativement aux trois classes d’approches de composition des services à savoir, les approches de composition automatique des services web, les approches de composition des services web sensible à la QoS et les approches hybrides (qui combinent les techniques de planification et les techniques d’optimisation). Une analyse comparative des différentes contributions selon des critères d’évaluation que nous avons définis nous a permis d’une part de dégager les atouts et les limites de chaque approche, et d’autre part de mieux positionner notre approche pour voir comment il serait possible d’améliorer ce domaine de recherche.

Évolution vers les approches orientées services

En génie logiciel, un certain nombre d’approches ont été proposées pour le développement de logiciels. Chaque nouveau paradigme proposé essaie de résoudre les limitations des paradigmes précédents en essayant de réutiliser certains principes en ajoutant de nouveaux concepts. C’est ainsi que les approches orientées objets [Taylor, 1997], orientées composants [Szyperski et al., 1999] et dernièrement les approches orientées services sont apparues.

Pour dissimuler la complexité d’intégration d’applications autonomes et hétérogènes, trois architectures à base de composants ont été proposées [Vinoski, 2004], [Schantz and Schmidt, 2001] : EJB (Enterprise Java Beans), CORBA (Common Object Request Broker Architecture), et .NET. Cependant, le couplage entre les objets est relativement fort dans ces technologies à base de composants distribués. Par exemple, la norme CORBA permettant la manipulation des objets à distance avec n’importe quel langage, nécessite une connaissance de la structure des objets par les applications clientes et par les fournisseurs. Ceci implique que les différents partenaires doivent définir au préalable des règles de transformation objets/ messages. En outre, on ne peut assembler que des objets CORBA (ou COM) entre eux, puisque chaque architecture propose sa propre infrastructure. Par conséquent, la mise en oeuvre de ces architectures dans le cadre d’une infrastructure ouverte telle qu’internet soulève des difficultés. Pour palier les limites de toutes ces architectures, les efforts de conception ont donné lieu au concept d’architecture orientée service (Service Oriented Architecture ou SOA en abrégé) [Papazoglou et al., 2008].

Ainsi, les approches orientées services ont vu le jour. Le paradigme orienté services (Service-Oriented Computing) est un paradigme interdisciplinaire destiné pour les applications distribuées. Son apparition a introduit une nouvelle manière de concevoir, d’intégrer, de déployer et d’utiliser les logiciels. Les approches orientées services [Huhns and Singh, 2005] mettent en avant l’idée de composer des services indépendants pour réaliser des applications logicielles agiles faiblement couplées. Ces approches exploitent le concept de service comme élément fondamental autour duquel les applications complexes sont développées. L’idée de base est d’encapsuler les fonctionnalités offertes par les organisations sous forme de services. Par conséquent, l’intégration et la gestion des applications à base de services se focalisent au niveau des fonctionnalités sans tenir compte des technologies utilisées et en cachant les détails de l’implémentation.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela rapport gratuit propose le téléchargement des modèles gratuits de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

Remerciements
Résumé
Sommaire
Table des figures
Liste des tableaux
1 Introduction générale
1.1 Contexte
1.2 Problématique et motivations
1.3 Contributions
1.4 Organisation du document
2 Composition des services web
2.1 Introduction
2.2 Concepts de base du paradigme orienté service
2.2.1 Évolution vers les approches orientées services
2.2.2 Les services
2.2.3 Architecture orientée services (SOA)
2.3 Services web
2.3.1 Service web SOAP
2.3.1.1 Découverte UDDI
2.3.1.2 Description WSDL
2.3.1.3 Transport SOAP
2.3.2 Service web REST
2.4 Service web sémantique
2.4.1 Langages de description de services web sémantiques
2.4.1.1 OWL-S
2.4.1.2 WSMO
2.5 Processus de composition des services web
2.5.1 Cycle de vie de la composition de services
2.5.2 Catégories de méthodes de composition
2.5.2.1 Type de contrôle
2.5.2.2 Degré d’automatisation
2.5.2.3 Gestion de services
2.6 Conclusion
3 Composition automatique des services web 26
3.1 Introduction
3.1.1 Calcul de situation
3.1.2 Réseau hiérarchique des tâches (HTN)
3.1.3 Planning Domain Definition Language (PDDL)
3.1.4 Planification basée sur les règles
3.1.5 Preuve par théorème automatique (Automatic Theorem Proving)
3.1.6 Planificateur MBP (Model Based Planner)
3.1.7 Planification à base de graphe
3.1.8 Planification distribuée
3.2 Etude Comparative
3.2.1 Critères de comparaison
3.3 Discussion
3.4 Conclusion
4 Composition des services web sensible à la QoS
4.1 Introduction
4.2 Etude des approches de composition à base de QoS
4.2.1 Les approches exactes
4.2.2 Les approches heuristiques
4.2.3 Les approches méta-heuristiques
4.2.4 Les approches basées sur la dominance au sens de Pareto .
4.3 Synthèse
4.4 Conclusion
5 Composition des services web fondée sur les techniques de planification et les techniques d’optimisation (QoS-aware automatic web service composition)
5.1 Introduction
5.2 Etat de l’art
5.3 Synthèse
5.4 Conclusion
6 Composition automatique des services web basée sur l’algorithme Harmony Search et les contraintes non-fonctionnelles de l’utilisateur
6.1 Introduction
6.1.1 Exemple de motivation
6.1.2 Contributions
6.2 Formalisation du problème de la composition des services web . .
6.3 Approche proposée
6.3.1 Spécification des contraintes de l’utilisateur
6.3.2 Génération de graphe de planification
6.3.2.1 Calcul de score de similarité
6.3.2.2 Structure de graphe de planification amélioré (EPG)
6.3.3 Sélection des services web composites à base de QoS
6.3.3.1 Principe de l’algorithme Harmony search .
6.3.3.2 Adaptation de l’algorithme Harmony Search au problème de composition
a) Fonction de Fitness
b) L’algorithme Harmony Search pour la sélection de composition optimale
6.4 Conclusion
7 Implémentation et expérimentations 100
7.1 Introduction
7.2 Mise en oeuvre de l’environnement de composition
7.2.1 Architecture de l’environnement de composition
7.2.2 Outils, langages et technologies utilisés
7.3 Description de la base des services
7.4 Expérimentations
7.4.1 Expérimentation pour QR1
7.4.1.1 Méthode d’évaluation
7.4.1.2 Résultats expérimentaux
7.4.2 Expérimentation pour QR2
7.4.3 Expérimentation pour QR3
7.5 Menaces à la validité (Threats To Validity)
7.5.1 Validité de construction
7.5.2 Validité interne
7.5.3 Validité externe
7.6 Conclusion
8 Conclusion et perspectives
8.1 Synthèse
8.2 Perspectives
Liste des publications
Bibliographie

Rapport PFE, mémoire et thèse PDFTé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 *