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.
|
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
Tรฉlรฉcharger le rapport complet