Assessing National Progress in Achieving The Sustainable Development Goals A Case Study of Morocco
Assessing National Progress in Achieving The Sustainable Development Goals A Case Study of Morocco
Assessing National Progress in Achieving The Sustainable Development Goals A Case Study of Morocco
Soutenue le 22/01/2020
JURY :
Les systèmes logiciels accessibles via le web sont construits en utilisant des ser-
vices web existants et distribués qui s’interagissent par envoi de messages. Le service
web expose ses fonctionnalités à travers une interface décrite dans un format mani-
pulable par ordinateur. Les autres systèmes interagissent, sans intervention humaine,
avec le service web selon une procédure prescrite en utilisant les messages d’un pro-
tocole. Les services web peuvent être déployés sur des plateformes cloud. Ce type de
déploiement occasionne un grand nombre de services à gérer au niveau de mêmes
répertoires soulevant différents problèmes : Comment gérer efficacement ces services
afin de faciliter leur découverte pour une éventuelle composition. En effet, étant don-
né un répertoire, comment définir une architecture voire une structure de données
permettant d’optimiser la découverte des services, leur composition et leur gestion.
La découverte de services consiste à trouver un ou plusieurs services satisfaisant les
critères du client. La composition de services consiste quant à elle à trouver un nombre
de services pouvant être exécutés selon un schéma et satisfaisant les contraintes du
client. Comme le nombre de services augmente sans cesse, la demande pour la concep-
tion d’architectures permettant d’offrir non seulement un service de qualité mais aus-
si un temps de réponse rapide pour la découverte, la sélection et la composition, est
de plus en plus intense. Ces architectures doivent de plus être facilement gérables
et maintenables dans le temps. L’exploration de communautés et de structures d’in-
dex corrélée avec l’utilisation de mesures multi critères pourrait offrir une solution
efficace à condition de bien choisir les structures de données, les types de mesures,
et les techniques appropriées. Dans cette thèse, des solutions sont proposées pour la
découverte, la sélection de services et leur composition de telle façon à optimiser la
recherche en termes de temps de réponse et de pertinence des résultats. L’évaluation
des performances des solutions proposées est conduite en utilisant des plateformes de
simulations.
iii
Abstract
Software systems accessible via the web are built using existing and distributed web
services that interact by sending messages. The web service displays its functionalities
through an interface described in a computer-readable format. Other systems interact,
without human intervention, with the web service according to a prescribed procedure us-
ing the messages of a protocol. Web services can be deployed on cloud platforms. This type
of deployment causes a large number of services to be managed at the level of the same
directories raising different problems: How to manage these services effectively to facili-
tate their discovery for a possible composition. Indeed, given a directory, how to define an
architecture or even a data structure to optimize the discovery of services, their composi-
tion, and their management. Service discovery involves finding one or more services that
meet the client’s criteria. The service composition consists of finding many services that
can be executed according to a scheme and that satisfy the client’s constraints. As the
number of services is constantly increasing, the demand for the design of architectures to
provide not only quality service but also rapid response time for discovery, selection, and
composition, is getting more intense. These architectures must also be easily manageable
and maintainable over time. The exploration of communities and index structures corre-
lated with the use of multi-criteria measures could offer an effective solution provided
that the data structures, the types of measures, are chosen correctly, and the appropriate
techniques. In this thesis, solutions are proposed for the discovery, the selection of services
and their composition in such a way as to optimize the search in terms of response time
and the relevance of the results. The performance evaluation of the proposed solutions is
carried out using simulation platforms.
v
Remerciements
vii
Table des matières
Résumé (anglais) v
Remerciements vii
1 Introduction 1
1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Organisation de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . 3
ix
1.2.1 Skyline . . . . . . . . . . . . . . . . . . . . . . . . . 21
2 Normalisation des préférences du client . . . . . . . . . . . . . . . . . 21
2.1 AHP and ANP . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3 Normalisation des valeurs des services web . . . . . . . . . . . . . . . 23
3.1 Normalisation basée sur la valeur maximale . . . . . . . . . . 23
3.2 Normalisation basée sur la somme des valeurs . . . . . . . . . 23
3.3 Normalisation basée sur la valeur maximale et la valeur mini-
male . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4 Normalisation vectorielle . . . . . . . . . . . . . . . . . . . . 24
3.5 Comparaison entre les techniques de normalisation . . . . . . 24
4 Calcul de la fonction d’agrégation des valeurs des services web . . . . 25
4.1 SAW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 TOPSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.3 VIKOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.4 MAUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.5 PROMETHEE . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.6 Composition de plusieurs méthodes AMCD dans la sélection
de services web . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5 Sélection de services web composite . . . . . . . . . . . . . . . . . . . 29
5.1 Negociation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2 Optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6 Indexation de services web pour la découverte de services . . . . . . 32
6.1 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.1.1 Index inversé . . . . . . . . . . . . . . . . . . . . . 32
6.1.2 MLIM . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Index 141
xv
7.7 Exemple d’un arbre de services web triés d’un service web composite. 114
7.8 Exemple d’un chemin de services web du service web composite. . . 114
7.9 un chemin de services web du service web composite. . . . . . . . . . 115
7.10 Architecture de l’index ITACOM. . . . . . . . . . . . . . . . . . . . . 116
7.11 Exemple d’indexation ITACOM. . . . . . . . . . . . . . . . . . . . . . 117
7.12 Addition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.13 Recherche. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
7.14 Addition avec variation du nombre de services web. . . . . . . . . . . 123
7.15 Recherche avec variation du nombre de services web. . . . . . . . . . 124
7.16 Nombre de structures utilisées avec variation du nombre de services
web. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.17 Addition avec variation du nombre de services web composites. . . . 125
7.18 Recherche avec variation du nombre de services web composites. . . 125
Liste des tableaux
xvii
5.8 Normalisation basée sur la somme des valeurs. . . . . . . . . . . . . . 72
5.9 Distance de normalisation OMRI. . . . . . . . . . . . . . . . . . . . . 73
5.10 Normalisation des données de services web à l’aide d’OMRI (matrice F). 73
5.11 Valeurs du score WPM (vecteur S). . . . . . . . . . . . . . . . . . . . . 74
5.12 Classement des services web. . . . . . . . . . . . . . . . . . . . . . . . 74
5.13 Comparaison des différents classement. . . . . . . . . . . . . . . . . . 75
5.14 Intervalle des valeurs des données artificielles . . . . . . . . . . 75
5.15 Intervalle des valeurs des données réelles . . . . . . . . . . . . . 76
5.16 Résultat du classement final avec . . . . . . . . . . . . . . . . . 77
5.17 Comparaison des différents classements. . . . . . . . . . . . . . . . . 78
5.18 Les noms originaux des services web avec des noms longs de la table 5.16
et la table 5.17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
1 Contexte
L
es services web sont des programmes informatiques qui sont généralement
conçus pour effectuer une tâche spécifique à la demande. Le rôle d’un service
web est de produire un élément livrable, par exemple, consulter un compte
bancaire, réserver un hôtel etc., par le biais de requêtes ou de messages. Ils ont comme
avantages d’avoir un couplage faible, d’être réutilisable dans de nombreuses applica-
tions différentes, d’avoir une architecture distribuée… . Un fournisseur de services
publie ses services web dans un registre que le client (entreprise ou programme)
consulte pour invoquer les services dont il a besoin. Son concept innovant a fait que
plusieurs très grandes entreprises s’y sont intéressées tel que Amazon, Disney, Micro-
soft, SNCF, Air France,… . En conséquence de l’engouement suscité par les services
web, un nombre toujours croissant de services web devient disponible sur des ré-
seaux. La découverte et la sélection de services web deviennent des problématiques
préoccupantes pour le client de services. En effet, comme il existe un grand nombre
de services web proposant des fonctionnalités similaires, le choix du meilleur service
devient une tâche ardue. Les paramètres non fonctionnels, en particulier la qualité
de service (QdS), peuvent être vus comme une solution utilisée par le client de ser-
vices pour affiner la sélection de son service web suivant ses besoins. Cependant,
une question reste en suspens qui est comment comparer des services web quand les
critères sont opposés. Les critères de QdS sont divisées en deux groupes opposés nom-
més critères positifs tels que le débit, la fiabilité, la disponibilité,… et critères négatifs
tels que le coût, le temps de réponse, … . Les services web simples sont très sou-
vent combinés, afin d’offrir de nouvelles fonctionnalités spécifiques que les services
web simples ne pouvaient pas offrir. Les services résultants de ces combinaisons sont
1
2 CHAPITRE 1. INTRODUCTION
Cette thèse s’appuie sur l’étude des processus de découverte, sélection et composi-
tion, décrivant les différentes étapes par lesquelles un service web transite et aussi les
différentes approches proposées dans la littérature. Plus spécifiquement, c’est le pro-
cessus de sélection de services web qui fait l’objet d’une étude approfondie. Plusieurs
solutions sont proposées :
• Une sélection basée sur les votes des méthodes multicritères les plus utilisées,
permettant d’obtenir de bons résultats avec un temps de réponse rapide.
• Une sélection basée sur une nouvelle distance combinée avec des méthodes mul-
ticritères adaptées, dont l’avantage est de prendre en compte les contraintes du
client, offrant ainsi au client les services candidats qui satisfont ses contraintes
ou à défaut (aucun service ne satisfait ses contraintes) un classement des meilleurs
services qui s’en rapprochent.
• Une sélection basée sur la théorie des jeux et les communautés dont l’idée est
d’offrir un groupe de services web composites avec une fonctionnalité similaire
mais avec des services web simples distincts, à un groupe de clients prenant en
compte ces différentes contraintes dans un environnement dynamique ;
• Enfin un nouveau processus de découverte, basé sur des index à plusieurs ni-
veaux, est proposé pour améliorer la rapidité du processus global (découverte
et sélection de services).
Mais en sus des algorithmes concrets, il est utile de pouvoir valider les approches
proposées par des simulations. En fin d’étude, le processus global est modélisé pour
décrire les différents acteurs et les différentes opérations proposés dans cette thèse.
Le but des travaux présentés dans cette thèse est donc de proposer un ensemble de
méthodes de sélection et de découverte pour soumettre des solutions efficaces aux
clients de services web, tout en réduisant la consommation du temps de traitement
des opérations afin d’augmenter leur satisfaction. Les simulations fournies permettent
à la fois d’évaluer et de valider ces approches. Ces nouvelles approches serviront de
base, dans le futur, pour la conception de nouvelles approches ou méthodes toujours
plus performantes.
2. ORGANISATION DE LA THÈSE 3
2 Organisation de la thèse
Chapitre 2 : Technologie des services web Les services web reposent sur des ar-
chitectures orientées service(AOS) et exposent leurs fonctionnalités à travers des in-
terfaces décrites dans un format manipulable par ordinateur (spécifiquement WSDL
décrit avec XML). Ces interfaces présentent quatre niveaux d’interopérabilité, à sa-
voir, les signatures des messages, les protocoles d’interaction, la qualité des services
et la sémantique. De cette manière, d’autres systèmes peuvent interagir avec ces ser-
vices web sans nécessité d’intervention humaine. Ce chapitre présente plus en détails
les principes de l’architecture des services web et du cycle de vie des services web ainsi
que les acteurs, les actions et les standards qui sont en relation avec la technologie des
services web puis introduit les problématiques principales liées à cette technologie : la
sélection de services web, la découverte de services web et la composition de services
web en forment les grands axes.
Chapitre 4 : Sélection de services web basée sur des méthodes AMCD Une mé-
thode de sélection de service web consiste à sélectionner le meilleur service web par-
mi les services candidats (services retournés lors de l’étape de découverte) en tenant
compte des préférences du client sur la qualité de service. Le processus de sélection
peut être optimisé en combinant deux ou plusieurs techniques. Les méthodes multi-
critères sont les méthodes de sélection les plus utilisées dans le domaine des services
web. Généralement, chaque méthode multicritères offre un classement différent des
services web candidats. Se pose alors la question sur le choix de la méthode à utiliser.
Une méthode de vote simple à mettre en œuvre est proposée dans ce chapitre pour
choisir un compromis entre les différents classements des méthodes multicritères. Des
simulations sont réalisées pour évaluer puis comparer le classement de chaque mé-
thode multicritères avec le classement de compromis.
Chapitre 5 : Sélection de services web basée sur les contraintes de QdS Une deuxième
façon de sélectionner le meilleur service web simple consiste à considérer les contraintes
d’un client où le meilleur service répond aux attentes du client de sorte que chaque
contrainte sur chaque critère est respectée. Il est possible dans certains cas qu’aucun
4 CHAPITRE 1. INTRODUCTION
service web ne réponde aux contraintes du client. Afin de pouvoir proposer des ser-
vices web au client dans ce cas précis, des approches à base de méthodes multicritères
sont utilisées pour sélectionner le meilleur service web en fonction de la QdS des ser-
vices web candidats et les contraintes du client. La distance entre la QdS de chaque
service candidat et les contraintes du client est calculée. Des méthodes multicritères
sont adaptées pour prendre en compte cette distance et ainsi sélectionner le meilleur
service web. Mais il ne faut pas oublier que chaque méthode multicritères propose
son propre classement des services web et comme il n’est pas possible de dire quelle
est la meilleure méthode, l’approche à base de vote est utilisée par chaque méthode
multicritères pour élire le meilleur service web à retourner au client. Des simulations
sont réalisées pour évaluer puis comparer les approches utilisées pour mettre en avant
l’efficacité de ce type d’approche pour le cas précis ou aucun service web ne répond
aux contraintes du client.
composites). Les approches d’indexation de services web simples sont évaluées puis
comparées avec deux méthodes existantes dans le domaine des service web à travers
plusieurs simulations. Ces simulations permettent d’établir, en fonction des perfor-
mances recherchées (temps de traitement, ressources mémoires… etc) et en fonction
du nombre de paramètres des services web, quelles sont les meilleures techniques à
utiliser pour optimiser la découverte de services web dans le registre.
P
our établir le contexte de cette thèse, nous fournissons une introduction aux
services web. Ce chapitre décrit donc le fonctionnement basique des services
web, leur architecture et fournit des exemples d’applications. Dans un se-
cond temps, ce sont certains des principaux problèmes soulevés par le déploiement
des services web pour la composition de services dans leurs cycles de vie qui sont
brièvement introduits, notamment les problèmes de découverte de services web, les
problèmes de sélection de services web ou encore des problèmes de composition de
services web. Finalement, nous terminons par une synthèse de ce chapitre.
7
8 CHAPITRE 2. TECHNOLOGIE DES SERVICES WEB
1 Service web
1.1 Définition
La technologie des services web est un moyen rapide de distribution de l’informa-
tion entre clients, fournisseurs et leurs différentes plates-formes. L’objectif des ser-
vices web est d’obtenir une interopérabilité entre les applications à l’aide de standards
du web tel que XML, HTTP, etc.[9]. Les solutions proposées par les services web,
utilisent un modèle d’intégration faiblement couplé pour permettre une intégration
flexible de systèmes hétérogènes dans divers domaines[115]. Les servies web décrivent
un ensemble de protocoles standards pour faciliter le développement d’applications
réparties très faiblement couplées sur un réseau[73]. L’intégration est le facteur es-
sentiel qui favorise l’utilisation des services web. Selon la définition du consortium
du World Wide Web (W3C) : ”un service web est un composant logiciel conçu pour
prendre en charge une interaction interopérable de machine à machine sur un réseau.
Il possède une interface décrite dans un format pouvant être traité par une machine
(en particulier WSDL). Les requêtes et les réponses utilisées lors de l’interaction des
systèmes avec le service web sont soumises à des standards et normalisées à chacun de
leur échange” [114]. Les services web permettent aux applications développées dans
différentes technologies de communiquer entre elles par le biais de différends stan-
dards (WSDL, HTTP, SOAP, XML, etc.) [20]. Les services web ne sont liés à aucun
système d’exploitation ou langage de programmation[65]. C’est à dire qu’une appli-
cation développée en java peut communiquer avec une application développée en C.
La mise en œuvre des services web repose sur une architecture décentralisée appelée
Architecture Orientée Services AOS (Service Oriented Architecture - SOA).
• La grande distribution : Les services web peuvent être utilisés pour générer un
numéro de colis comme celui proposé par Colissimo [108].
• La logistique : Les services web peuvent être utilisés pour gérer la logistique
d’une entreprise e-commerce comme celui proposé par Endurancelogistique
[109].
• Le e-commerce : Les services web peuvent être utilisés pour la gestion des don-
nées commerciales d’une entreprise e-commerce comme celui proposé par Oxa-
tis [oxatis], pour la gestion de panier (la réservation du stock, la valorisation du
panier, toutes les adresses de livraison et de facturation, le choix de mode de
livraison, le mode de paiement, la transformation du panier en commande…)
comme celui proposé par SRD [113].
• Les sites de réservations en ligne : Les services web peuvent être utilisés pour
réaliser des fonctionnalités avancées et automatiser le système de réservations
comme celui proposé par Planyo [111].
• Le domaine médical : Les services web peuvent être utilisés pour la gestion
d’un cabinet médical (gérer les plages horaires, consulter des dossiers médicaux,
gérer des bilans d’activités,…) comme celui proposé par Ferkal et Chaibi [40].
Amazon Web Services (AWS) est l’un des plus grands registres concrets de ser-
vices web au monde. Il propose plus de 90 services, comprenant le calcul, le
10 CHAPITRE 2. TECHNOLOGIE DES SERVICES WEB
Il existe trois principaux acteurs dans une architecture orientée service : le four-
nisseur, l’annuaire et le client[79].
Un fournisseur de services développe et héberge des services web. Le fournisseur
décrit et publie ses services dans des annuaires. Un annuaire fournit des informa-
tions sur les services web et leurs fournisseurs; On peut classer ces informations en
quatre catégories : les informations générales relatives à la nature du service (nom,
description), les informations techniques relatives à la façon de l’utiliser, les informa-
tions fonctionnelles qui décrivent les fonctionnalités du service et les informations
non fonctionnelles qui concernent la qualité de service. Un annuaire est accessible via
un réseau pour les clients. Un client cherche, découvre, sélectionne des services dans
les annuaires. Un client communique avec le fournisseur pour invoquer et utiliser un
service web.
1.4.2 ▶ Communication
Le standard SOAP (Simple Object Access Protocol) est un protocole recomman-
dé par le W3C basé sur XML généralement utilisé pour assurer la communication
entre machines. Selon la définition du W3C ” SOAP est un protocole léger destiné
à l’échange d’informations structurées dans un environnement décentralisé et dis-
tribué. Il utilise les technologies XML pour définir une infrastructure de messagerie
extensible fournissant une structure de message pouvant être échangée via divers
protocoles sous-jacents. Le cadre a été conçu pour être indépendant de tout modèle
de programmation particulier et de toute autre sémantique spécifique à la mise en
œuvre”[101]. C’est à dire que SOAP est responsable du formatage des données échan-
gées de sorte que les messages peuvent être compris à chaque extrémité (client, four-
nisseur, annuaire). Il peut s’appuyer sur n’importe quel protocole de communication
(HTTP, SMTP, FTP …) pour transmettre les messages. SOAP a pour avantage d’être
aisément porté sur toutes les plates-formes et les technologies existantes.
Un fichier SOAP contient au minimum deux types de balise XML [100].
1.4.3 ▶ Stockage
UDDI (Universal description, discovery, and integration) est un standard basé
sur XML utilisé pour décrire, publier et rechercher des informations sur des services
web[67]. Selon la définition fournie par le consortium OASIS ”UDDI définit une mé-
thode standard permettant aux entreprises de découvrir et d’invoquer de manière dy-
namique des services web”[68]. Trois types d’éléments d’informations (White paper
– pages blanches, Yellow paper – pages jaunes, Green paper – pages vertes) peuvent
être consultés pour rechercher des services web dans un registre UDDI[98].
• Les pages blanches contiennent des informations basiques sur l’entreprise telles
que son identifiant unique son nom, son adresse, numéro de téléphone, son
activité, etc. Ces informations permettent aux clients de découvrir le service
web de l’entreprise en fonction de son identification d’entreprise.
• Les pages jaunes contiennent plus de détails non techniques sur les services
web offerts par l’entreprise. Elles décrivent la qualité de service des services
web. Elles utilisent des schémas de classification industrielle standards tels que
des codes du secteur d’activités, des codes de produits, etc., afin de permettre
aux entreprises du même secteur d’activité de rechercher plus facilement dans
l’annuaire et trouver précisément ce qu’elles veulent.
• Les pages vertes contiennent des informations techniques sur un service web.
Une page verte permet à une entreprise de consulter la description d’un service
web (fichier WSDL) pour pouvoir exécuter un service web.
– Intégrité : Détermine si les données n’ont pas été altérées durant une re-
quête(de manière fortuite ou intentionnelle). Les transactions peuvent être
regroupées dans une unité afin de garantir l’intégrité des données exploi-
tées par ces transactions. L’unité peut être soit réussie où toutes les tran-
sactions sont dans l’unité « commit », soit échec de la transaction où toutes
les transactions qui sont dans l’unité « rollback » sont remises à leur état
initial.
1. SERVICE WEB 15
Remarque :
• Un critère est dit positif si sa valeur maximale représente sa meilleure valeur
(le débit est un critère positif). Un critère est dit négatif si sa valeur minimale
représente sa meilleure valeur (le temps de réponse est un critère négatif).
16 CHAPITRE 2. TECHNOLOGIE DES SERVICES WEB
• Un critère est dit qualitatif s’il est décrit à l’aide d’une échelle ordinale consistant
en un ensemble de valeurs qualitatives prédéfinies que le critère peut avoir (la
réputation est un critère qualitatif). Un critère est dit quantitatif si sa valeur
est mesurable ; sa valeur peut être continue ou discrète (le débit est un critère
quantitatif).
peuvent être connectés pour accomplir des tâches spécifiques[69]. Selon la définition
du consortium OASIS ” WS-BPEL définit un modèle et une grammaire décrivant le
comportement d’un processus métier en fonction des interactions entre le processus
et ses partenaires. L’interaction avec chaque partenaire s’effectue via les interfaces des
services web et la structure de la relation au niveau de l’interface est encapsulée dans
ce qu’on appelle un partnerLink. Le processus WS-BPEL définit la manière dont plu-
sieurs interactions de service avec ces partenaires sont coordonnées pour atteindre un
objectif commercial, ainsi que l’état et la logique nécessaire à cette coordination. WS-
BPEL introduit également des mécanismes systématiques pour traiter les exceptions
métier et traiter les erreurs. En outre, WS-BPEL introduit un mécanisme permettant
de définir le mode de compensation des activités individuelles ou composites d’une
unité de travail en cas d’exception ou de renversement de la demande d’un partenaire”
[115].
Fig. 2.2 : Cycle de vie des services web dans une composition.
Le cycle de vie d’une composition de services web est illustré par la figure 2.2[64].
Dans ce cycle de vie, la première étape est la spécification des besoins du client, dans
laquelle les paramètres fonctionnels (fonctionnalités d’un service web composite) et
non fonctionnels (QdS) sont définis. Suite à cela, les paramètres fonctionnels sont
recherchés d’une manière (semi) automatique dans l’annuaire en utilisant des algo-
rithmes de recherches[5, 65]. Comme résultat, nous aurons un processus métiers (Bu-
siness process - BP) comprenant un ensemble de tâches abstraites. L’étape de décou-
verte recherche une correspondance entre une tache abstraite et des services web
concrets. L’étape de sélection utilise des algorithmes d’optimisation pour sélection-
ner la meilleure composition possible qui peut satisfaire le client [29]. Durant l’étape
de composition, une instance du processus métiers est créée en exécutant le service
composite. Enfin, la maintenance permet de surveiller continuellement l’instance du
18 CHAPITRE 2. TECHNOLOGIE DES SERVICES WEB
processus pour résoudre des problèmes de changement de statut liés à des pannes ou
à l’évolution d’un seul service web ou plusieurs services web[64].
3 Conclusion
Dans ce chapitre, nous avons présenté les principales spécifications des services
web. Nous avons montré l’architecture des services, la description d’un service, la
qualité de service. Nous avons présenté le cycle de vie des services web dans une
composition. Nous avons montré aussi la découverte et la sélection de services web.
Nous notons que la découverte et la sélection de services sont primordiaux pour la
composition de services web. Le chapitre suivant présente plus en détails la sélection
de services web.
Sélection de services web
3
1 Réduction de l’espace de recherche . . . . . . . . . . . . . . . . 20
2 Normalisation des préférences du client . . . . . . . . . . . . . 21
3 Normalisation des valeurs des services web . . . . . . . . . . . 23
4 Calcul de la fonction d’agrégation des valeurs des services web 25
5 Sélection de services web composite . . . . . . . . . . . . . . . 29
6 Indexation de services web pour la découverte de services . . . 32
7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
D
e nos jours, en raison de la croissance rapide du nombre de services web
proposant les mêmes fonctionnalités, la sélection des meilleurs services
web devient une tache délicate. Par conséquent, pour proposer un service
de qualité, les fournisseurs de services web se concentrent maintenant sur les aspects
non fonctionnels des services web plus spécifiquement la Qualité de Service (QdS) . En
effet, la solution basée sur la QdS des services web aide à promouvoir les meilleurs ser-
vices web candidats parmi ceux qui répondent aux mêmes exigences fonctionnelles.
Jusqu’à présent, diverses approches de sélection de services web basées sur la qualité
de service ont été explorées dans la littérature. La sélection de services web simples
et la sélection de services web composites sont les deux principales problématiques
de la sélection de services web . Dans ce chapitre, nous présentons les principales
approches de sélection de services web simples et composites proposées dans la litté-
rature (voir Figure 3.1) et les principales approches de découverte de services à base
d’index.
19
20 CHAPITRE 3. SÉLECTION DE SERVICES WEB
Le traitement des contraintes représente la première étape dans le cas d’une sé-
lection d’un seul service simple comme dans le cas d’une sélection d’un service com-
posite.
Liu et al [50] et Raj et al [77] proposent deux modèles similaires de AOS pour
prendre en compte les paramètres QdS appelés modèle exSOA pour le premier et
QoSDB pour le second. Dans leur modèle, ils ajoutent un acteur appelé gestionnaire
de services web . Son rôle est de gérer toute les opérations dans l’architecture (pu-
blier les services web des fournisseurs après vérification, rechercher les paramètres
fonctionnels et non fonctionnels pour répondre aux requêtes clients …). Son but est
d’assurer des services web fiables aux clients. L’algorithme proposé par les auteurs
élimine les services web qui ne répondent pas aux contraintes client puis classe les
services web restants à l’aide d’une méthode de classement. Song et al [102] pro-
posent un modèle de gestion des services web basé sur la QdS, appelé MQM (QoS-
based multi-dimensionalmanagement model). L’approche est basée sur un modèle de
2. NORMALISATION DES PRÉFÉRENCES DU CLIENT 21
données multidimensionnelles afin de mieux gérer les services web. Les critères QdS
sont extraits de l’annuaire UDDI et stockés dans le cube MOLAP (Multidimensional
OnLine Analytical Processing). MOLAP signifie que les données QdS sont stockées
dans une base de données multidimensionnelles appelé cube. L’objectif de ce modèle
est la restitution instantanée des données aux requêtes OLAP du client.
1.1.2 ▶ ELECTRE
La méthode ELECTRE (ELimination et Choix Traduisant la REalité) est une mé-
thode AMCD proposée par Roy dans [81]. ELECTRE est une méthode dite de surclas-
sement qui effectue des comparaisons par paires des éléments en fonction de deux
indices appelés l’indice de concordance et l’indice de discordance qui sont déterminés
par le client. ELECTRE traite simultanément des critères qualitatifs et quantitatifs et
permet de réduire l’espace de recherche lors de la sélection de services. Cependant, la
méthode ELECTRE est une méthode de prise de décision plutôt complexe qui néces-
site une variété de données primaires techniques à fournir par le client pour réduire
l’espace de recherche.
Chakhar et al [16] proposent une extension d’ELECTRE, appelée ELECTRE-TRI,
pour classer les services web composites lorsque les critères QdS prennent des valeurs
qualitatives.
Le client dans cette étape va exprimer ses préférences sur l’importance relative ou
le poids des critères QdS. Ensuite les poids vont être calculés par une technique spéci-
fique de telle sorte que la somme des poids des critères soit égale à 1. Les méthodes que
22 CHAPITRE 3. SÉLECTION DE SERVICES WEB
nous allons décrire ci-après utilisent le principe de comparaison par paires de critères
pour calculer le poids des critères. En plus ces méthodes facilitent la décision du client
dans ses choix de préférences en offrant une meilleure visibilité des critères traduite
par une matrice de comparaison par paire et ainsi éviter que les choix de préférences
du client ne soient contradictoires.
La méthode AHP (Analytical Hierarchy Process) est une méthode AMCD propo-
sée par Saaty dans [86]. AHP effectue des comparaisons par paires basées sur une
échelle de comparaison standardisée de neuf niveaux (1 à 9). La méthode ANP (Ana-
lytical Network Process) est une autre methode AMCD proposée par Saaty dans [85].
La principale différence entre AHP et ANP est que AHP utilise une hiérarchie lorsque
ANP utilise un réseau. En d’autres termes, ANP est une forme généralisée d’AHP.
AHP peut être utilisée dans des modèles hiérarchiques unidirectionnels sous forme
d’arbre, tandis que ANP peut être utilisée pour des problèmes de décisions plus com-
plexes principalement en raison de sa capacité à considérer des relations de facteurs
interdépendants [27]. AHP organise les critères d’une manière structurée tout en don-
nant une solution relativement simple pour les problèmes de prise de décision. Elle
permet de classer les critères d’ une manière logique et hiérarchique en passant d’un
niveau supérieur à un niveau inférieur jusqu’à parvenir à une comparaison simple
pour chaque paire de critères, par la suite on peut remonter au niveau supérieur pour
la prise de décision.
En effectuant des comparaisons par paires, les deux méthodes sont bien adaptées
pour la normalisation du poids des critères. Elles sont jugées fiables pour assigner
des poids représentant l’importance relative des critères suivant le jugement du client
[124]. Cependant, les comparaisons par paires souffrent de trois insuffisances ma-
jeures. Tout d’abord, un très grand nombre de critères QdS pris en compte dans la
formulation du problème de sélection ne permet pas au client de transmettre explici-
tement un sens à son choix, puisque les clients sont généralement invités à simplement
comparer les critères QdS par paire. Deuxièmement, la complexité de la comparaison
des éléments par paires peut être assez élevée pour un grand nombre de critères QdS
, ce qui entraîne généralement des choix conflictuels. Le dernier et non des moindres,
en raison de l’intervention fréquente du client, le traitement d’un grand nombre de
critères QdS et de services web devient une tache ardue (risque d’incohérence accru)
et couteuse en terme de temps. Par conséquent, elles ne peuvent être appliquées qu’à
des problèmes simples [124].
Dans le contexte de la sélection des services web, AHP a été principalement utili-
sée pour l’attribution et la normalisation des poids des critères QdS sélectionnés par
le client. Tran et al[104] utilisent AHP pour construire une structure hiérarchique qui
permet de normaliser les critères. Les niveaux hiérarchiques de la structure contiennent :
les objectifs de classement, les classes QdS, les critères QdS et les services web. Godse
et al [26] utilisent ANP pour trier les services web. Pour ce faire, les critères QdS sont
regroupés en trois catégories principales : critères orientés exécution, critères orien-
tés sécurité et critères orientés configuration. Les poids sont calculés en fonction du
réseau ANP pour les critères QdS et les scores finaux sont obtenus par la suite.
3. NORMALISATION DES VALEURS DES SERVICES WEB 23
La normalisation basée sur la valeur maximale a été utilisée avec la méthode SAW
et la méthode WPM. Son principal avantage est que si nous modifions les valeurs d’un
service web ou si nous ajoutons ou supprimons des services web (sauf si c’est la valeur
de performance maximale), nous n’avons pas besoin de recalculer la normalisation des
services web déjà calculée.
La normalisation basée sur la somme des valeurs est utilisée avec AHP et ANP pour
normaliser les poids des critères. Son principal inconvénient est que si nous mettons
à jour les données d’un service web ou si nous ajoutons ou supprimons des services
web alors il sera nécessaire de recalculer à nouveau la normalisation.
La normalisation basée sur la valeur maximale et la valeur minimale est l’une des
techniques de normalisation les plus populaires. Elle est utilisée dans MAUT et SAW
dans la composition du service [64], ainsi qu’avec VIKOR [71]. L’avantage de cette
normalisation est qu’il n’est pas nécessaire de normaliser à nouveau les valeurs de
performances déjà calculées lorsqu’un service web est mis à jour (ajouté/ supprimé)
sauf dans le cas d’une mise à jour (ajout/suppression) des valeurs de performances
maximales ou minimales.
La normalisation vectorielle est utilisée dans TOPSIS [34]. Son inconvénient est
que cette approche est sensible à la mise à jour des services web (ajout/suppression).
Norm basée
SAW
max
Norm basée −
− SAW, VIKOR
max-min − −
Norm
TOPSIS, SAW
vectorielle
La table 3.2 est une synthèse des méthodes de normalisation utilisées dans le pro-
cessus de sélection des services web. L’intervalle de valeurs des services web candidats
diffère suivant la technique de normalisation utilisée . Dans le cas de la normalisation
basée sur la valeur maximale, la plage des valeurs s’étend sur l’intervalle . Pour
4. CALCUL DE LA FONCTION D’AGRÉGATION DES VALEURS DES SERVICES WEB25
4.1 SAW
SAW (Simple Additive Weight) est une méthode AMCD introduite dans [123]. SAW,
également appelée méthode des sommes pondérées, est l’une des techniques AMCD
les plus simples et les plus utilisées dans la littérature. La méthode SAW utilise une
fonction d’agrégation simple qui consiste à intégrer les valeurs de performances et les
poids de critères dans une seule valeur. La fonction d’agrégation est utilisée unique-
ment pour les critères positifs. Par conséquent, les critères négatifs peuvent facilement
être transformés en critères positifs lors de la normalisation des valeurs de perfor-
mances (voir la section précédente). SAW possède une faible complexité et possède la
capacité d’agréger les valeurs de performances en étant tout aussi intuitif pour les dé-
cideurs. Cependant, différentes expériences menées ont montré que la méthode peut
fournir des résultats incohérents dans certains cas [107]. Dans [77], les auteurs ont
discuté à travers des exemples des limites de la méthode SAW en termes de précision
lorsque les performances des services web sont très proches.
SAW a été utilisée dans la sélection de services web dans de nombreux travaux.
Cependant, le gain de popularité de certaines méthodes AMCD récentes comme TOP-
SIS et PROMETHEE a réduit son utilisation. Néanmoins, en raison de sa simplicité et
de son efficacité, SAW continue d’être développée et utilisée dans la composition de
services web. Par exemple, Jaeger et al [36], Lo et al [53] et Raj et al [77] utilisent SAW
avec la normalisation basée sur la valeur maximale et la valeur minimale pour classer
les services web en fonction des exigences QdS du client.
4.2 TOPSIS
TOPSIS (The Technique for Order of Preference by Similarity to Ideal Solution) est
une méthode AMCD proposée par Huang et al dans [34]. Cette méthode est basée
sur la distance euclidienne des solutions idéales et des solutions négatives-idéales à
26 CHAPITRE 3. SÉLECTION DE SERVICES WEB
un élément donné. Les valeurs des solutions idéales correspondent aux valeurs maxi-
males des critères QdS; les valeurs des solutions négatives-idéales correspondent aux
valeurs minimales des critères QdS (dans le cas de critères positifs et inversement
dans le cas de critères négatifs). TOPSIS considère simultanément les distances des
solutions idéales et négatives-idéales en prenant une proximité relative avec la solu-
tion idéale pour élaborer le classement final [6].
TOPSIS a l’avantage d’être peu complexe et facile à utiliser ; le nombre d’étapes
reste le même quel que soit le nombre de services web. Cependant, l’utilisation de
la distance euclidienne ne tient pas compte de la corrélation des critères; elle a aussi
comme inconvénient de ne pas pondérer les critères QdS et à garantir la cohérence
dans le processus de décision [107].
TOPSIS a été exploité dans de nombreux travaux pour sélectionner des services
web. Zou et al [126] et Zhang et al [54] proposent une extension de l’algorithme TOP-
SIS pour classer les services web composites dans le but de supporter plusieurs dé-
cideurs (clients) à la fois, appelée permettant la spécification et
l’agrégation des critères QdS suivant le type de valeurs des critères :
• variables discrètes : une valeur est discrète si elle ne prend que des valeurs iso-
lées.
• variables continues : une valeur est continue si elle peut prendre toutes les va-
leurs comprises entre 2 nombres.
• nombre triangulaires flous : est un nombre flou à trois valeurs possibles qui a
une fonction d’appartenance[2].
– nombre flou : est une généralisation d’une valeur discrète. Il fait référence
à un ensemble de valeurs discrètes possibles, où chaque valeur possible a
son propre poids[2].
où les poids des critères QdS sont supposés être préalablement fixés et normali-
sés. Feng et al[25] proposent un modèle étendu de l’architecture AOS pour prendre en
compte les QdS appelé modèle symétrique basé QdS. Dans son modèle, ils ajoutent un
acteur appelé gestionnaire de la qualité de services. Son rôle est de vérifier la fiabilité
de la qualité de service transmise par le fournisseur de services ou le retour d’informa-
tion du client à propos d’un service. Un module ontologie représentant un ensemble
de concepts dans le domaine QdS (cout, débit, réputation, critère, valeurvaleur , critère
négatif , critère positif,…) est utilisé pour publier les informations QdS d’un service
(éviter la redondance) et rechercher des critères qualité de service (correspondance
QdS). Un algorithme étendu de TOPSIS est introduit pour prendre en compte des va-
leurs indéfinies représentées sous forme d’intervalle dans le but de sélectionner les
meilleures services web composites parmi les services web composites candidats.
4.3 VIKOR
La méthode VIKOR (le nom serbe est : VIse Kriterijumska Optimizacija kompromis-
no Resenje) est une méthode AMCD proposée par Opricovi ć et al dans [71]. VIKOR
fait référence à la solution de compromis ; elle a été développée pour résoudre des pro-
blèmes de décision multicritères avec des critères contradictoires et non-proportionnés.
En supposant que le compromis peut être acceptable pour la résolution de conflit, VI-
KOR est approprié lorsque le décideur veut une solution réalisable qui soit la plus
4. CALCUL DE LA FONCTION D’AGRÉGATION DES VALEURS DES SERVICES WEB27
proche de la solution idéale [28]. Cependant, dans VIKOR, l’évaluation des perfor-
mances est quantifiée sous forme de valeurs discrètes. Dans de nombreuses circons-
tances, les valeurs discrètes sont inadéquates pour modéliser la situation réelle. En
outre, en cas de conflit de critères, un décideur doit également prendre en compte des
données imprécises ou ambiguës (flous, intervalle). A notre connaissance, VIKOR n’a
jamais été utilisé seul pour sélectionner des services web, mais combiné avec d’autres
méthodes AMCD pour plus d’efficacité dans la sélection de services web.
4.4 MAUT
MAUT (Multi Attribute Utility Theory) est une méthode AMCD proposée par Kee-
ney et al dans [42]. Elle est basée sur les préférences du client pour déterminer diverses
fonctions d’utilité spécifique pour chaque critère. La courbe d’utilité pour chaque cri-
tère est rendue disponible. Les valeurs des critères QdS peuvent être des valeurs ca-
tégorielles, ordinales ou de type intervalle. Chaque service web peut être évalué sur
chaque critère. L’extraction des courbes d’utilité et leur addition permettent de déri-
ver un score global pour sélectionner le meilleur service. MAUT est utilisé pour aider
le client à mieux comprendre et analyser l’objectif du problème, les sous-objectifs, les
poids et les scores. Cependant, la méthode est considérée comme une méthode plutôt
complexe. La méthode SAW est considérée comme une simplification de MAUT pour
résoudre des problèmes multi-critères. Seo et al [89] utilisent MAUT pour la sélection
de services web composites.
4.5 PROMETHEE
La méthode PROMETHEE (The Preference Ranking Organization METHod for En-
richment of Evaluations) est une méthode AMCD proposée par Brans [11]. PROME-
THEE est une méthode dite de surclassement qui effectue des comparaisons par paires
afin de classer les services web par rapport à un certain nombre de critères. Elle per-
met une modélisation fonctionnelle des préférences en offrant un choix de six types
de critères généralisés (fonctions d’utilité spécifique). PROMETHEE a l’avantage de
traiter simultanément des critères qualitatifs et quantitatifs. Elle fournit un classement
général des différents services web avec respectivement des flux de surclassement po-
sitifs (de combien un service surclasse tous les autres services) et négatifs (de combien
un service est surclassé par tous les autres services). Cependant, il ne fournit pas de
méthode spécifique selon laquelle les poids peuvent être déterminés. Ainsi, dans le
cas d’un nombre important de critères (plus de sept), il devient très difficile pour le
décideur de concevoir le problème et d’évaluer la pertinence des résultats obtenus.
Herssens et al [32] sont les premiers à utiliser PROMETHEE pour la sélection de ser-
vices web.
de AHP pour fixer un poids prioritaire afin d’être applicable sur un système réel. En-
fin, la méthode SAW est utilisée pour classer les services web. Seo et al [90] proposent
une solution générique compatible avec toute les approches de sélection existantes. La
méthode PROMETHEE est utilisée pour définir un système de contrainte de priorité
globale plutôt que de fournir un classement final. En ce qui concerne la pondération
des poids, une extension de la méthode Simos est proposée et appliquée. Jian et al
[38], les auteurs ont proposé un modèle d’intervalle QdS pour mesurer les valeurs in-
certaines des critères QdS. Cette approche utilise une méthode floue, PROMETHEE
et un algorithme génétique pour la sélection de services web composites. Zhang et al
[125] proposent une approche appelée , basée sur une méthode
floue et TOPSIS. Elle est appliquée pour évaluer les informations de QdS dans le cas de
plusieurs registres de QdS afin de réduire la charge et le taux d’échec de l’utilisation
d’un seul registre de QdS. La méthode TOPSIS combinée à une approche floue permet
de classer les services web dont leur valeurs peuvent être exprimées en intervalle. Lo
et al [52] appliquent des nombres flous triangulaires pour fixer le poids de chaque
critère suivant les préférences du client. TOPSIS est ensuite exploité pour classer les
services web. Raed et al [41] proposent de combiner deux méthodes AMCD, à savoir
ANP avec PROMETHEE. ANP est utilisée pour calculer les poids des critères QdS,
puis PROMETHEE est exécutée pour classer et trier les services web. Dans la même
thématique, Negi et al [66] proposent d’utiliser AHP comme solution pour calculer les
poids des différents critères QdS et TOPSIS pour classer les services web. Zhang et al
[48] proposent un algorithme nommé qui combine une approche floue,
AHP et TOPSIS. Ils convertissent les valeurs hybrides des services web en intervalles
avec la méthode floue. Ensuite, ils utilisent AHP pour définir la matrice de compa-
raison par paire en fonction du profil de préférences du client. Enfin, ils classent les
services web candidats pour la composition de services en utilisant TOPSIS. Setiawan
et al [95] combinent les mêmes méthodes pour trouver les solutions optimales qui re-
flètent les besoins et les préférences du client. La méthode AHP floue est utilisée pour
exprimer les besoins et les préférences du client tandis que TOPSIS est appliquée pour
sélectionner la meilleure solution parmi les services web sémantiques. Maheswari et
al [56] proposent un framework composé du client, du fournisseur de services, du
registre et de l’algorithme TOPSIS floue. Un fournisseur de services en plus de pu-
blier le WSDL d’un service web, publie aussi le SLA (Service Level Agreements) du
service web. SLA contient la description QdS d’un service web. L’étape de découverte
de services est effectuée en convertissant le fichier WSDL en fichier OWL-S puis un
algorithme de correspondance(matching) est utilisé pour trouver les services web can-
didats. La méthode TOPSIS floue est appliquée pour classer les services web candidats.
un algorithme de réplication est fourni pour trouver des substituts au meilleur service
web en cas de panne. Khezrian et al [44] proposent de combiner les méthodes AMCD
: VIKOR et AHP. AHP est utilisée pour normaliser les préférences client sur les cri-
tères QdS. VIKOR est utilisée pour sélectionner le meilleur service web. Cependant,
aucune simulation n’est fournie pour évaluer l’efficacité de ce système. Khezrian et
al[43] proposent une approche basée sur la QdS et la méthode VIKOR. Dans leur ap-
proche, il existe deux acteurs importants que sont le client et l’expert. Le client peut
exprimer ses préférences sur les critères QdS d’une manière linguistique pour ensuite
être converties en poids normalisés ou il peut fournir directement les poids normali-
sés des critères QdS . De même, l’expert peut exprimer ses évaluations sur les valeurs
des services web d’une manière linguistique pour ensuite être converties en valeurs
normalisées ou il peut fournir directement les valeurs normalisées des services web.
La méthode VIKOR est ensuite utilisée pour classer les services web. Des tests simples
5. SÉLECTION DE SERVICES WEB COMPOSITE 29
ont été effectués en comparant leur approche avec TOPSIS floue [56].Plus récemment,
Ouadah et al [72] proposent de combiner trois méthodes. Dans un premier temps, la
méthode skyline est utilisée pour éliminer les services web non dominants, puis AHP
pour attribuer des poids aux critères QdS et finalement la méthode PROMETHEE est
utilisée pour classer les services skyline.
La table 3.2 est une synthèse des méthodes AMCD utilisées dans le processus de
sélection des services web. En raison de leur avantage à classer les critères et à faciliter
la prise de décision, AHP et ANP sont les approches les plus utilisées jusqu’ici dans
la normalisation des poids des critères QdS. D’autre part, SAW, MAUT et TOPSIS ont
été largement utilisés pour classer les services en raison de leur faible complexité,
comparativement à ELECTRE et PROMETHEE.
Tab. 3.2 : Comparaison des approches à base de AMCD utilisées pour la sélection de
services web.
Travaux de Travaux de
Méthode Complexité Utilisée pour normalisation des classement des
AMCD poids services
5.1 Negociation
L’approche basée sur la négociation a été proposée pour répondre aux contraintes
des clients en concevant un cadre de négociation. Ceci est réalisé en rendant les exi-
gences de QdS des clients flexibles et négociables entre le client et le fournisseur de
services via un contrat afin de parvenir à un accord [30]. Ce contrat est appelé SLA
(Service Level Agreement) qui contient les termes de la négociation, tels que les attri-
buts QdS, récompenses, pénalités, etc [64]. L’avantage de ce type d’approche est la
30 CHAPITRE 3. SÉLECTION DE SERVICES WEB
5.2 Optimisation
Fig. 3.2 : Approche de sélection de services web composites basée sur le problème
MMKP.
La fonctionnalité d’un service web est représentée par des entrées et des sorties
telles qu’une fonction algorithmique qui nécessite des paramètres en entrées pour
réaliser un algorithme qui ensuite retourne des résultats en sorties. Par exemple, la
fonctionnalité d’un service web de réservation d’hôtel nécessite la date, le lieu et l’hô-
tel en entrées pour effectuer une recherche et retourner si disponible le prix du séjour
et la date d’annulation de la réservation en sorties.
6.1 Index
Un index est une structure, entretenue automatiquement, qui permet de localiser
facilement des services web dans un répertoire. L’utilisation des index est basée sur
l’observation suivante : pour trouver un service dans un répertoire, au lieu d’examiner
un à un chaque service, il est plus rapide de consulter le catalogue où ils sont classés
par fonctionnalité(ou autre). Chaque entrée d’un index comporte une valeur extraite
des données et un pointeur sur son emplacement d’origine. Un service peut être ainsi
facilement retrouvé en recherchant sa localisation dans l’index.
6.1.2 ▶ MLIM
MultiLevel Index Model (MLIM) est une méthode d’indexation proposée dans[119].
Cette méthode se présente comme un index à quatre niveaux. Dans le niveau 4, tous
les services web ayant les mêmes entrées et sorties sont regroupés dans une même
classe. Dans le niveau 3, toutes les classes du niveau 4 ayant les mêmes entrées sont
7. CONCLUSION 33
regroupées dans une même classe. Dans le niveau 2, Les classes du niveau 3 sont re-
groupées dans d’autres classes, en choisissant un de leurs paramètres d’entrées comme
représentant. La stratégie du choix des représentants des classes de niveau 3 est laissée
aux clients et aux spécialistes. Dans le niveau 1, les classes du niveau 2 sont indexées à
l’aide d’une méthode d’indexation classique tels que la table de hachage, le B-Arbre,….
L’index MLIM est très flexible selon le contenu des services web. Il permet de jouer sur
le ratio ressource mémoire/performance grâce à la suppression d’un niveau si le be-
soin se fait ressentir. Il supprime la redondance des paramètres d’entrées. Cependant,
un mauvais choix de représentant peut se révéler très couteux en termes de perfor-
mances de recherches. MLIM a été comparée théoriquement et pratiquement avec la
méthode d’index inversé et la méthode itérative pour des répertoires de services web
dans [119].
7 Conclusion
L
ors de la sélection de services web, les approches basées sur des méthodes
AMCD (Aide MultiCritères à la Décision) suivent généralement les étapes
suivantes :
• Trouver les services web candidats qui répondent aux exigences fonctionnelles
exprimées dans la requête client en utilisant des ontologies ou d’autres ap-
proches classiques (découverte de service).
• Normaliser les valeurs des services web. Une telle tâche peut être réalisée en
utilisant une approche de normalisation telle que la normalisation basée sur la
valeur maximale.
• Traiter le classement des services web candidats. Une fonction d’utilité multi-
critères est utilisée pour classer et trier les services web selon le schéma de
pondération normalisé des poids des critères et les valeurs des services web.
35
36CHAPITRE 4. SÉLECTION DE SERVICES WEB BASÉE SUR DES MÉTHODES AMCD
• Skyline [1] : L’approche Skyline est utilisée en premier lieu pour réduire le
nombre de services web à prendre en compte lors de la sélection et cela en
supprimant les services web à faible performance.
• BWM (Best Worst Method) [80] : Cette méthode est utilisée par le client pour
exprimer ses préférences sur les critères QdS afin de calculer et de normaliser
les poids des critères QdS [91].
1. DESCRIPTION DE NOTRE APPROCHE DE SÉLECTION 37
s wi ∈ S W
s wj ∈ S W qk Q k ∈ { 1 , 2 , ..., n}
q k (s w i ) ≥ q k (s w j ) qk
q k (s w i ) ≤ q k (s w j ) qk
ql Q l ∈ { 1 , 2 , ..., n}
q l (s w i ) > q l (s w j ) qk
q l (s w i ) < q l (s w j ) qk
s wi
s wi s wj
1. DESCRIPTION DE NOTRE APPROCHE DE SÉLECTION 39
pour tout j
pour tout j
où est une variable dont la valeur est utilisée pour calculer le ratio de cohé-
rence. est le poids du meilleur critère. est le poids du pire critère.
Le ratio de cohérence prend ses valeurs dans l’intervalle [0,1]. Plus le ratio est
proche de zéro, plus la solution est cohérente [80].
• Étape 1 : Normaliser les valeurs des paramètres QdS des services web candidats
afin que leurs nouvelles valeurs soit sur une même échèle d’unité entre 0 et
1. Chaque méthode AMCD peut utiliser une ou plusieurs méthodes parmi les
méthodes de normalisation décrites dans le chapitre 3.
• Étape 2 : Calculer le produit des valeurs des services web par les poids des
différents critères afin de prendre en compte les préférences du client.
• Étape 4 : Classer les services web dans un ordre croissant ou décroissant suivant
la ou les distance(s) utilisée(s).
1.3.1 ▶ VIKOR :
…
Le poids des différents critères obtenus par BWM est noté
avec
VIKOR suit les étapes suivantes pour classer les services web [71] :
• Étape 1 : Déterminer et respectivement la meilleure et la pire valeur pour
chaque critère , .
Si le critère représente un critère positif alors :
avec et
Les meilleures valeurs des critères QdS de la matrice seront stockées dans un
vecteur de dimension . Les pires valeurs des critères QdS de la matrice
seront stockées dans un vecteur de dimension .
• Étape 2 : Normaliser les attributs des services web dominants avec la formule ”
Normalisation basée sur la valeur maximale et la valeur minimale ” [71] :
(4.2)
(4.3)
(4.4)
max (4.5)
42CHAPITRE 4. SÉLECTION DE SERVICES WEB BASÉE SUR DES MÉTHODES AMCD
(4.6)
• Étape 7 : Classer les services web avec la formule dans un ordre crois-
sant.
– C1 (Avantage Acceptable) :
Le service web classé en premier par , est celui avec la valeur minimale de
.
1. DESCRIPTION DE NOTRE APPROCHE DE SÉLECTION 43
1.3.2 ▶ TOPSIS :
On utilise la matrice de décision de dimension comme définie dans VI-
KOR. Par conséquent, TOPSIS suit les étapes suivantes pour classer les services
web [34] :
• Étape 1: Normaliser les attributs des services web dominants avec la formule ”
Normalisation vectorielle ” .
(4.7)
(4.8)
min
min
max
(4.9)
(4.10)
44CHAPITRE 4. SÉLECTION DE SERVICES WEB BASÉE SUR DES MÉTHODES AMCD
• Étape 5 : Calculer la proximité à la valeur positive des attributs des services web
notée , , avec la relation : .
(4.11)
Les résultats du score TOPSIS des services web dominants seront stockés dans
un vecteur de dimension .
• Étape 6 : Classer les services web dans l’ordre décroissant en fonction des va-
leurs de .
1.3.3 ▶ COPRAS :
• Étape 1 : Normaliser les attributs des services web dominants avec la formule
de ” Normalisation basée sur la somme des valeurs ” .
(4.12)
• Étape 2 : Calculer le produit des attributs des services web dominants par les
poids des attributs respectifs obtenus avec BWM :
avec et
Les résultats du produit seront stockés dans une matrice de dimension
(4.14)
• Étape 4 : Calculer l’importance ou les priorités relatives des services web domi-
nants :
(4.15)
(4.16)
les résultats du score COPRAS des services web dominants seront stockés dans
un vecteur de dimension .
• Étape 6 : Classer les services web dans l’ordre décroissant en fonction des va-
leurs de .
1.3.4 ▶ SAW :
• Étape 1 : Normaliser les attributs des services web dominants avec la formule ”
Normalisation basée sur la valeur maximale et la valeur minimale ” :
(4.17)
(4.18)
• Étape 2 : Calculer le produit des attributs de services web dominants par les
poids des attributs respectifs obtenus avec BWM :
(4.19)
avec . Les résultats du score SAW des services web dominants seront
stockés dans une vecteur de dimension .
• Étape 4 : Classer les services web dans l’ordre décroissant en suivant les valeurs
de .
• Étape 2 : Classer les services dans l’ordre croissant en fonction du score Borda
. En cas d’égalité dans le score, nous considérons le nombre de fois où le ser-
vice web obtient un meilleur classement, et ainsi de suite. Le classement obtenu
est une solution de compromis des quatre approches de classement.
Pour illustrer l’application de notre approche dans le contexte des services web,
nous considérons un exemple de services web offrant ”les cours de la bourse” pris de
la base de données réelle appelée QWS DataSet [59]. Comme le montre la table 4.4,
48CHAPITRE 4. SÉLECTION DE SERVICES WEB BASÉE SUR DES MÉTHODES AMCD
les services web sont caractérisés par un ensemble de quatre critères QdS, qui sont :
Temps de réponse : C’est le temps écoulé entre l’envoi de la requête par le client et la
réception de la réponse fournie par le service web (ms) ; c’est un critère négatif. Débit :
Il représente le nombre d’invocations pendant une période donnée. L’unité de mesure
est (invocations / seconde) ; c’est un critère positif. Fiabilité : Il mesure le ratio du
nombre de messages d’erreur sur le nombre total de messages ; c’est un critère positif.
Meilleures pratiques : Il mesure le nombre de points pratiques pour chaque service
web suivant le profil WS-I [59] ; c’est un critère positif.
Temps de Meilleures
Nom Débit Fiabilité
réponse pratiques
En appliquant Skyline nous obtenons une liste limitée de services web non domi-
nés (voir la table 4.5, où la marque Oui dénote un service web dominant et la marque
Non dénote un service web dominé ). Plus concrètement, selon l’algorithme Skyline,
nous avons : Le service est dominé par les services , , , et . Le
service est dominé par le service . Le service est dominé par les services
, , , et . Ensuite, seulement les services web dominants (Skyline),
à savoir , , , et seront considérés dans l’étape de classement.
2. EXEMPLE D’ILLUSTRATION DU MODÈLE PROPOSÉ 49
Tab. 4.6 : Comparaison du meilleur critère avec les autres critères en utilisant BWM.
Meilleures
Temps de réponse Débit Fiabilité pratiques
Temps de réponse 1 8 2 4
- Nous considérons le paramètre Débit comme étant le pire critère. table 4.7 illustre
la comparaison du pire critère avec les autres paramètres QdS.
Tab. 4.7 : Comparaison du pire critère avec les autres critères en utilisant BWM.
Meilleures
Temps de réponse Débit Fiabilité pratiques
Débit 8 1 4 2
Grâce à la normalisation des poids des critères QdS obtenus avec la méthode BWM
(voir la table 4.9), nous pouvons classer les services web Skyline (voir la table 4.8)
obtenus dans la première étape en utilisant une des quatre méthodes AMCD. Dans
cette section, nous allons utiliser les approches SAW, VIKOR, TOPSIS et COPRAS pour
classer les services web.
Temps de Meilleures
Nom Débit Fiabilité
réponse pratiques
Meilleures
Temps de réponse Débit Fiabilité pratiques
Temps de Meilleures
Nom Débit Fiabilité
réponse pratiques
• Calcul du produit des valeurs des services web normalisées par les poids des
critères respectifs obtenus avec BWM. : Le produit du critère temps de
réponse du par le poids du critère meilleures pratiques est calculé comme
suit :
Tab. 4.11 : Valeurs du produit des services web normalisées par les poids des critères
(matrice P).
Temps de Meilleures
Nom Débit Fiabilité
réponse pratiques
• Calcul du score SAW des services web candidats noté .: Le score SAW du
est calculé comme suit :
Nom
XigniteStockQuotes 0.6955
HistoricalStockQuotes 0.8558
DelayedStockQuotes 0.8986
QuoteofTheDay 0.4545
StockQuotes 0.636
StockQuotes 0.4595
• Classement des services web suivant les valeurs du score SAW dans un ordre
décroissant (voir la table 4.13).:
XigniteStockQuotes 3
HistoricalStockQuotes 2
DelayedStockQuotes 1
QuoteofTheDay 6
StockQuotes 4
StockQuotes 5
La table 4.14 fournit les classements obtenus pour les quatre méthodes testées.
Comme nous pouvons voir, les quatre méthodes AMCD de classement donnent le
même classement pour les trois premières positions. Cependant, des différences sont
observées pour les trois dernières positions.
Tab. 4.14 : Le classement des services web avec methode AMCD utilisée (la matrice
).
XigniteStockQuotes 3 3 3 3
HistoricalStockQuotes 2 2 2 2
DelayedStockQuotes 1 1 1 1
QuoteofTheDay 5 6 6 6
StockQuotes 4 4 4 5
StockQuotes 6 5 5 4
2. EXEMPLE D’ILLUSTRATION DU MODÈLE PROPOSÉ 53
XigniteStockQuotes 12
HistoricalStockQuotes 8
DelayedStockQuotes 4
QuoteofTheDay 23
StockQuotes 17
StockQuotes 20
• Classement des services web suivant les valeurs du score Borda dans un ordre
croissant (voir la table 4.16):
XigniteStockQuotes 3
HistoricalStockQuotes 2
DelayedStockQuotes 1
QuoteofTheDay 6
StockQuotes 4
StockQuotes 5
4 6 6 4
4/6=0.67 1 1 0.67
54CHAPITRE 4. SÉLECTION DE SERVICES WEB BASÉE SUR DES MÉTHODES AMCD
3 Résultats numériques
DS 1
DS 2
DS 1
DS 2
DS 1
DS 2
RS r
56CHAPITRE 4. SÉLECTION DE SERVICES WEB BASÉE SUR DES MÉTHODES AMCD
Tab. 4.19 : Les services Skyline considérés en utilisant le avec les résultats du
classement.
Temps
d’exé- Réputation Prix Fiabilité Disponibilité COPRAS SAW TOPSIS VIKOR Borda
cu-
tion
temps
13.3 2.6 2.1 0.8 0.9 1 1 1 1 1
15.2 4.3 11.6 0.6 0.9 3 2 2 6 2
24.4 2.8 1.6 0.7 0.9 4 3 3 3 3
7.6 3 18.2 0.8 0.8 6 4 6 2 5
11.7 0.3 17.2 0.6 0.9 10 9 10 9 10
9.9 0.9 3.3 0.7 0.8 2 6 4 5 4
5.8 1.3 15.2 0.8 0.8 9 5 8 4 7
31.5 2.9 1.6 0.9 0.7 5 7 5 7 6
20.8 2 7.6 0.9 0.7 7 8 7 8 8
22.9 4.4 27.5 0.8 0.7 8 10 9 10 9
0.2 0.4 0.6 0.3
1
2
3
4
5
6
7
8
9
10
0 0.17 0.035 0.022
0.6 0.7 0.6 0.2
3. RÉSULTATS NUMÉRIQUES 57
Tab. 4.21 : Les noms originaux des services web de la table 4.20.
getJoke
Service1
GuidGenerator
ProTagService
SERVICE1
XEMBLService
CogoService
TemperatureService
FaxService
RegisterResearchServices
TEMPERATURESERVICE
ZipCodeLookup
net.xmethods.services.stockquote.StockQuoteService
promotionService
InvitationService
eBayWatcherService
DataEnhancement
GetOwamp
Distance
GuidGenerator
WitwService
WQS
DOTSEmailValidate
Comme nous pouvons le constater, il existe des différences dans les résultats. TOP-
SIS parvient à avoir le meilleur ratio de similarité en comparaison avec les trois autres
approches en considérant les deux ensembles de données. Cependant, tous les classe-
ments obtenus sont globalement proches sur la valeur . Le ratio doux de simi-
larité fournit une meilleure indication alors que le ratio dur de similarité
est très variable. Par exemple, dans , bien que VIKOR ne parvienne pas à une
correspondance avec l’une des 226 positions du classement Borda, elle parvient à pro-
mouvoir 6 services web sur les dix sélectionnés dans la solution Borda, contrairement
à COPRAS qui permet de sélectionner seulement deux éléments sur les dix meilleurs
services. Le classement fourni par COPRAS tend à être un peu divergent comparati-
vement aux trois autres classements fournis. Plus particulièrement, le de CO-
PRAS dans est faible comparé aux trois autres. Cependant, ce n’est pas toujours
le cas lors de la génération de données artificielles avec .
RS r
DS 1
DS 2
RS r
DS 1
RS r
R DS r
R DS r
DS 2
DS 1
DS 2
Sélection de services web basée
5
sur les contraintes de QdS
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2 Description de notre approche de sélection . . . . . . . . . . . . 62
3 Une étude de cas . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4 Résultats numériques . . . . . . . . . . . . . . . . . . . . . . . 75
5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
1 Introduction
L
ors de la sélection de services web à base de contraintes client, les approches
existantes suivent généralement les étapes suivantes :
1. Éliminer les services qui ne répondent pas aux contraintes client.
2. Traiter les exigences non fonctionnelles (Critères Qualité de Service (QdS)) ex-
primées dans la requête du client. Pour cela, les préférences du client sur les
critères QdS doivent être normalisées.
3. Classer les services web candidats en utilisant des méthodes AMCD (Aide Mul-
tiCritères à la Décision) de classement traditionnel comme celles décrites dans
le chapitre 4.
Lors du traitement de requêtes réelles, les clients souhaitent souvent limiter la
plage des valeurs QdS dans leur environnement. Pour faire face à ce besoin spéci-
fique, la majorité des approches s’efforce à supprimer en amont tous les services qui
ne répondent pas aux contraintes QdS afin de limiter ainsi l’espace de recherche uni-
quement sur ceux qui répondent à toutes les exigences. Cependant, l’espace résultant
61
62CHAPITRE 5. SÉLECTION DE SERVICES WEB BASÉE SUR LES CONTRAINTES DE QDS
peut être vide ou trop petit pour être de qualité. En outre, parmi les services web re-
jetés, on pourrait trouver des candidats pouvant être promus et proposés au client
comme solution intéressante en termes de performances. De nombreuses méthodes
de normalisation ont été proposées dans la littérature, comme par exemple, la nor-
malisation basée sur la valeur maximale, la normalisation basée sur la somme des
valeurs, la normalisation basée sur la valeur maximale et minimale, la normalisation
vectorielle, etc. Trouver une nouvelle technique de normalisation des valeurs QdS afin
de prendre en compte les contraintes client pour la sélection de services web semble
être une solution adéquate pour prendre en compte les services rejetés. Récemment
dans ce contexte, une nouvelle méthode appelée RIM (Reference Ideal Method) [13]
a été proposée dans la littérature pour traiter le problème des contraintes. Pour ce-
la RIM propose d’utiliser une nouvelle technique de normalisation pour prendre en
compte ces contraintes. Ensuite, elle adapte la méthode TOPSIS (The Technique for
Order of Preference by Similarity to Ideal Solution) pour proposer un classement.
Dans ce chapitre, nous proposons l’utilisation de la méthode RIM pour sélectionner
des services web à base de contraintes client. Ensuite, nous proposons notre propre
technique de normalisation appelée OMRI (Optimized Method of Reference Ideal).
Différentes méthodes AMCD modifiées utilisant notre normalisation seront testées
au niveau du classement et les temps de reponses seront mesurés afin d’évaluer la
complexité de chaque approche. Pour évaluer la précision des différentes méthodes
considérées, nous utilisons la méthode Borda [82] pour calculer la solution de com-
promis. Dans la suite de ce chapitre, nous présenterons nos deux propositions pour
résoudre cette nouvelle problématique.
• Nous utilisons une version optimisée de AHP pour calculer et normaliser les
poids des critères QdS en tenant compte des recommandations de vafaei. et al
décrite dans [106]. Cette extension de AHP (Analytical Hierarchy Process) offre
une meilleure cohérence des choix du client.
• Nous utilisons OMRI qui est une optimisation de la normalisation RIM. Elle
permet d’éliminer les incohérences observées dans RIM.
q1 c1 1 c1 2 c1 j c1 n
q2 c2 1 c2 2 c2 j c2 n
qn cn 1 cn 2 cnj cn n
2. DESCRIPTION DE NOTRE APPROCHE DE SÉLECTION 65
(5.1)
(5.2)
(5.3)
Comme pour RIM, l’idéal de référence d’un critère dans OMRI peut être un in-
tervalle compris entre les valeurs minimales et maximales, que nous notons .
La normalisation des données dans OMRI se déroule comme suit :
si [A,B]
si [ ,A] (5.4)
si [B, ]
Comme nous pouvons le constater, dans OMRI, plutôt que d’utiliser deux intervalles
pour normaliser les données, nous considérons la taille maximale des deux inter-
valles. . Cela garantit un classement équitable pour tous
les services web qui ne répondent pas aux contraintes client. Par exemple, revenons
à l’exemple 1. En appliquant OMRI, on obtient (voir la figure 5.3) :
4− 2
f (s 1 , p ri x) = 1 − M A X ( 9 − 7 ,4 − 1 ) = 0 .3 3
9− 7
f (s 2 , p ri x) = 1 − M A X ( 9 − 7 ,4 − 1 ) = 0 .3 3
f (s 1 , p ri x) =
f (s 3 , p ri x) = 0.8
F (m, n )
w 1 , .., wn n
m
68CHAPITRE 5. SÉLECTION DE SERVICES WEB BASÉE SUR LES CONTRAINTES DE QDS
… …
… …
…
…
…
…
… …
…
…
…
… …
Nous donnons ci-après une brève description du fonctionnement des quatre mé-
thodes :
2.4.1 ▶ VIKOR*
(5.5)
max (5.6)
(5.7)
2.4.2 ▶ TOPSIS*
(5.8)
(5.9)
(5.10)
(5.11)
Les résultats du score TOPSIS* des services web seront stockés dans un vecteur
de dimension .
• Étape 4 : Classer les services web dans un ordre décroissant suivant les valeurs
de .
2.4.3 ▶ WPM*
WPM (The Weighted Product Model ) a été défini dans [105]. Les étapes procédu-
rales impliquées dans l’algorithme WPM sont décrites ci-après.
• Étape 1 : Calculer le score des services individuels :
(5.12)
avec Les résultats du score WPM* des services web seront stockés
dans une vecteur de dimension .
70CHAPITRE 5. SÉLECTION DE SERVICES WEB BASÉE SUR LES CONTRAINTES DE QDS
2.4.4 ▶ SAW*
Les étapes procédurales de l’algorithme SAW * sont décrites ci-après.
• Étape 1 : Calculer le score des services individuels :
(5.13)
Les résultats du score SAW* des services web seront stockés dans une vecteur
de dimension .
• Étape 2 : Classer les services web dans un ordre décroissant suivant les valeurs
de .
Pour illustrer l’application de notre approche dans le contexte des services web,
nous considérons une étude de cas utilisant le ”QWS DataSet” [60]. Comme le montre
la table 5.5 , les services web sont caractérisés par trois critères de qualité de service,
à savoir : - Temps de réponse (ms) : Il représente le temps écoulé entre l’envoi d’une
demande par le client et la réception d’une réponse fournie par le service web ; c’est
un critère négatif. - Débit (hits/sec) : Il représente le nombre total d’invocations pour
une période donnée. L’unité de mesure est le nombre d’appels par seconde pour un
service donné ; c’est un critère positif. - Documentation (%) : Il désigne le rapport de
documentation (c’est-à-dire les balises de description) présent dans WSDL ; c’est un
critère positif.
DictionaryService 45 27.2 58
MyService 71.75 14.6 86
aba 117 23.4 59
AlexaWebSearch 70 5.4 91
ErrorMailer 105.2 18.2 91
getJoke 224 24.6 88
Temps de réponse 1 3 6
Débit 1/3 1 2
Documentation 1/6 1/2 1
- Nous calculons les poids normalisés pour tous les critères. En utilisant d’abord
la normalisation basée sur la valeur maximale (voir la table 5.7)
Temps de réponse 1 1
Débit 1/3 1/3 1/3
Documentation 1/6 1/6 1/6
- Ensuite, Nous appliquons la normalisation basée sur la somme des valeurs (voir
la table 5.8).
mées par le client ; (iii) et enfin la distance de normalisation OMRI calculée. Nous re-
marquons qu’aucun des 6 services web ne répond à toutes les valeurs des contraintes.
En effet,
• le service web 1 ne répond à aucun des 3 critères.
• le service web 2 répond uniquement au critère temps de réponse.
• le service web 3 ne répond à aucun des 3 critères.
• le service web 4 répond uniquement au critère temps de réponse.
• le service web 5 ne répond à aucun des 3 critères.
• le service web 6 ne répond à aucun des 3 critères.
Par conséquent, l’objectif est de sélectionner le service qui répond le mieux à toutes
les contraintes.
la distance de
Plage des valeurs l’idéal de référence
normalisation OMRI
En appliquant le même calcul sur toute la matrice D, nous obtenons la matrice F (ma-
trice contenant les valeurs de la normalisation (voir la table 5.10)
Tab. 5.10 : Normalisation des données de services web à l’aide d’OMRI (matrice F).
3.3.1 ▶ WPM*
Nom
DictionaryService 0
MyService 0.87
aba 0.58
AlexaWebSearch 0
ErrorMailer 0
getJoke 0
• Étape 2 : Classer les services web suivant les valeurs de dans un ordre dé-
croissant (voir la table 5.12).
DictionaryService 3
MyService 1
aba 2
AlexaWebSearch 3
ErrorMailer 3
getJoke 3
La table 5.13 présente les différents classements obtenus avec WPM*, VIKOR*,
SAW* et TOPSIS* , ainsi que le classement obtenu avec Borda. Comme on peut le
constater, les quatre méthodes sélectionnent le même meilleur service. La solution
Borda est similaire à presque tous les classements en ce qui concerne le ratio de simi-
litude dur, à l’exception de WPM *.
4. RÉSULTATS NUMÉRIQUES 75
DictionaryService3 5 5 5 5
MyService 1 1 1 1 1
aba 2 4 4 4 4
AlexaWebSearch3 2 2 2 2
ErrorMailer 3 3 3 3 3
getJoke 3 6 6 6 6
Ratio de
similarité 2/6 6/6 6/6 6/6
dur
Ratio de
similarité 1 1 1 1
doux
4 Résultats numériques
E D A
E D A
4. RÉSULTATS NUMÉRIQUES 77
Temps
d’exécu- 20 ms 18 ms 17 ms 18 ms
tion
1 Service1(xprogramming)
2 GuidGenerator
3 Sydication
4 hunting and consevation CogoService
hunting and
5 ImgCutout
consevation
6 SdssFields(dhu) NewsAndUpdates magic
7 NewsAndUpdates SdssFields(dhu) getJoke
8 ImageService CogoService Testtool
9 SdssFields(dr2fields) ImageService ImgCutout
10 SendEmailService SdssFields(dr2fields) interop2C
Pour comparer les différents classements obtenus avec chaque méthode, nous
avons calculé la solution Borda et donc les ratios et . Les résultats sont
présentés dans la table 5.17.
78CHAPITRE 5. SÉLECTION DE SERVICES WEB BASÉE SUR LES CONTRAINTES DE QDS
1 Service1 1 1 1 1
2 GuidGenerator 2 2 2 2
3 Sydication 3 3 3 3
4 hunting and consevation 4 4 4 5
5 ImgCutout 5 5 5 9
6 NewsAndUpdates 7 7 6 11
7 SdssFields(dhu) 6 6 7 14
8 CogoService 12 12 8 4
9 ImageService 8 8 9 12
10 SdssFields(dr2fields) 9 9 10 17
0.5 0.5 1 0.4
0.9 0.9 1 0.6
Tab. 5.18 : Les noms originaux des services web avec des noms longs de la table 5.16
et la table 5.17.
Sydication
hunting and
consevation
NewsAndUpdates
R DS r
r
R DS
80CHAPITRE 5. SÉLECTION DE SERVICES WEB BASÉE SUR LES CONTRAINTES DE QDS
5 Conclusion
Dans ce chapitre, nous avons proposé une nouvelle technique normalisation, ap-
pelée OMRI, permettant de normaliser les valeurs des services web en fonction de
contraintes client. Ensuite, nous avons étendu différentes méthodes de classement
AMCD avec OMRI afin de promouvoir des services web et ceci même lorsque les
contraintes ne sont pas satisfaites. Dans notre approche, nous avons utilisé une ver-
sion optimisée d’ AHP pour calculer et normaliser les poids associés aux critères de
qualité de service. Nous avons considéré une extension des méthodes SAW, TOPSIS,
VIKOR et WPM pour classer les éléments qui ne respectent pas les contraintes client.
Pour évaluer la cohérence du processus de classement, nous avons calculé la solution
de compromis Borda ainsi que deux ratios de similarité. Pour valider notre approche,
nous avons effectué plusieurs simulations sur un ensemble de données réelles et ar-
tificielles. Le chapitre suivant traite une problématique de sélection de services web
composites. Ce problème est la sélection de services web composites qui répondent à
des contraintes spécifiques à chaque profil client.
Sélection de services web
6
composites pour un groupe de
clients
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
2 Description de notre problématique . . . . . . . . . . . . . . . . 82
3 Approche optimale d’un groupe de clients pour la sélection de
services composites . . . . . . . . . . . . . . . . . . . . . . . . . 84
4 Approche d’un groupe de clients pour la sélection de services
web composites à base de communautés . . . . . . . . . . . . . 86
5 Résultats numériques . . . . . . . . . . . . . . . . . . . . . . . 96
6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
1 Introduction
U
ne coopérative est la combinaison d’un regroupement de personnes et d’une
entreprise fondée sur la participation économique des membres, en capital
et en opérations. Son organisation et son fonctionnement sont caractéri-
sés par des principes et des valeurs, par exemple la démocratie à travers l’égalité de
voix entre les membres. Ce groupement de personnes cherche à créer pour chacun de
ses membres un service web composite suivant ses contraintes (moyens de chacun)
comme par exemple ”un site de réservation de voyages” d’une manière équitable c’est
à dire que chaque membre ne sera pas lésé pour la simple raison que son budget est
faible ou favorisé parce que son budget est trop élevé. Le but est donc d’optimiser
la satisfaction du groupe. Le problème consiste à repartir d’une manière efficace un
81
82CHAPITRE 6. SÉLECTION DE SERVICES WEB COMPOSITES POUR UN GROUPE DE CLIENTS
• Un groupe de clients qui recherchent services web composites avec des fonc-
tionnalités similaires.
• Chaque classe de services web propose une fonctionnalité requise par le service
web composite.
• , où , représente
la valeur du premier critère du service web appartenant à la classe
assigné au client et représente la valeur de la première
contrainte fixée par le client.
• …
• , où
• …
En résumé, le but est de maximiser la distribution de services web sur les ser-
vices web composites souhaités de tel sorte que chaque membre du groupe de clients
soit satisfait du service composite retourné. La figure 6.1 décrit la problématique de la
sélection de services web composites distribués.
La motivation de notre contribution est de proposer deux solutions pour optimi-
ser la satisfaction globale d’un groupe de clients suivant deux critères : le temps de
réponse et l’optimalité de la réponse. Nous proposons dans la première solution un al-
gorithme de sélection de services web composites distribués avec une satisfaction du
groupe optimale mais avec un temps de réponse exponentiel suivant le nombre de ser-
vices composites et le nombre de classes de services. Inversement dans la deuxième
solution, nous proposons une heuristique de sélection de services web composites
distribués avec un temps de réponse très rapide mais avec une satisfaction du groupe
sous-optimale.
La figure 6.2 décrit les différentes étapes d’un processus de sélection de services
web composites distribués. Nous citons ci-dessous les principales que sont :
M
J i i ∈ [ 1, M]
c s j j ∈ [ 1, J]
vmax
mi n
v r
j è me
3. APPROCHE OPTIMALE D’UN GROUPE DE CLIENTS POUR LA SÉLECTION DE SERVICES COMPOSITES85
avec et .
• Étape 4 : Calculer les valeurs des nouveaux services web composites (également
les deux services composites et , respectivement, pour les deux ma-
trices de valeurs maximales et de valeurs minimales) en utilisant des formules
comme celles utilisées dans [122] pour les critères temps d’exécution, disponi-
bilité, fiabilité et coût (voir la table 6.1). Un service web composite peut conte-
nir quatre types de relation entre ses fonctionnalités (classes). Une relation peut
être séquentielle, parallèle, conditionnelle ou en boucle [122]. Canfora et al. [14]
donnent plus de détails sur les différentes formules utilisées pour calculer les
valeurs d’un service web composite pour chaque type de relation. Pour plus de
simplicité, nous supposons dans notre approche que le service web composite
utilise exclusivement des relations séquentielles.
Tab. 6.1 : Calcul des valeurs d’un service web composite (séquentielles).[122].
Critère Formules
Temps d’exécution
Disponibilité
fiabilité
Cout
• Étape 5 : Calculer les poids des critères pour chaque client. Des techniques
comme AHP, BWM et autres [94] sont recommandées pour faciliter et opti-
miser le processus de pondération des différents critères. Comme vu dans le
chapitre précédent, une méthode comme AHP propose une simple comparai-
son par paire en donnant une note entre 1 et 9 pour comparer deux critères.
sorte que représente le nombre de services web composites distincts qui ré-
pondent aux besoins des clients. N est le nombre de critères pris en compte dans
l’étape 5. est une configuration telle que .
– Étape A : Normaliser les valeurs des services web composites avec la for-
mule suivante :
Si critère représente un critère négatif, alors
(6.1)
(6.2)
avec et
(6.3)
(6.4)
(6.5)
avec ,
le registre UDDI des services web simples, la configuration des communautés, le re-
gistre UDDI des services composites et le client de services web. Les communautés
sont crées et détruites selon des contraintes spécifiques détaillées dans la section 4.3.
Le fournisseur de services publie son service dans le registre UDDI ; UDDI permet
de conserver les services web dans un annuaire. Ces informations sont transparentes
pour les clients et peuvent être utilisées pour créer des services web composites (com-
munautés). Deux configurations de communautés sont montrées dans la figure 6.3. Il
peut s’agir, par exemple, d’un service de réservations de voyages ou d’un service de
ventes en ligne . Les informations sur les configurations et les communautés sont sto-
ckées et publiées dans un nouveau registre UDDI dédié à la composition ; le client de
services exprime son processus métier et ses exigences pour trouver son service com-
posite dans le nouveau registre UDDI. La manière de publier et d’appeler des services
web composites est similaire à l’architecture standard orientée service bien que les
services web soient maintenant associés en communautés pour offrir un bon service
composite dans des délais acceptables. Le nouveau registre UDDI garde l’historique
des demandes clients afin de mieux cibler les exigences d’un profil client.
if or cco cons
crep
cco sinon
si et sc sc
pour sc sc
sc sinon
Nous notons Swap comme l’ensemble des configurations obtenues dans par
macro-échange de communauté :
Swap swap
Une configuration est alors stable si aucun échange de ce type n’est avantageux
pour aucune communauté.
Cette définition est basée sur celle de l’équilibre de Nash pour un jeu dans lequel
toutes les communautés doivent sélectionner leurs services et recevoir chacune une
récompense si le résultat est une configuration valide ou sinon tout le monde ob-
tient si plusieurs communautés ont choisi le même service.
Remarque :
90CHAPITRE 6. SÉLECTION DE SERVICES WEB COMPOSITES POUR UN GROUPE DE CLIENTS
Nash-stabilité : Pour une communauté donnée, un échange n’est autorisé que s’il
augmente sa récompense.
La condition de stabilité de Nash garantit qu’il peut y avoir au plus échanges après
un ajout. Et comme le nombre de communautés pouvant vouloir un service donné
m
C 3
92CHAPITRE 6. SÉLECTION DE SERVICES WEB COMPOSITES POUR UN GROUPE DE CLIENTS
4.3.2 ▶ Addition
Le problème de l’addition de communautés est considéré du point de vue de la
théorie des jeux en définissant le jeu suivant :
Joueurs : Considérez chaque communauté comme un joueur. le nombre de com-
munautés détermine le nombre de joueurs impliqués dans la partie. Soit le nombre
de communautés. Un joueur est noté , .
Stratégies : La stratégie proposée à chaque joueur consiste à ajouter un nouveau
service web.
Gains : Le gain considéré pour chaque joueur sera le score de la communauté.
Dans ce jeu, chaque joueur (communauté) cherche à maximiser son gain en choi-
sissant le service web avec le raisonnement ”le plus à gagner en l’incluant ou le plus
à perdre en ne l’ayant pas en tant que membre”.
L’équilibre de Nash de ce jeu peut être une situation dans laquelle aucun joueur
(aucune communauté) ne peut améliorer ses gains par déviation unilatérale (en mo-
difiant ses services web uniquement par lui-même).
La définition ”configuration Nash-stable ” donne le principe de base pour la sélec-
tion d’un nouveau service web. Sur la base de ce principe, une méthode de la théorie
des jeux est proposée pour ajouter un nouveau service web sur le marché des com-
munautés. Lorsqu’un nouveau service est ajouté dans les communautés :
4.3.3 ▶ Suppression
Le problème de suppression de communautés peut être considéré comme un pro-
blème de substitution susceptible de remplacer le service supprimé par un service
appartenant aux mêmes classes de services.
Un algorithme de base est donné pour ajouter un nouveau service dans la com-
munauté. Lorsqu’un service est supprimé de la communauté :
1. Éliminer les services web de la classe contenant le service supprimé qui ne res-
pectent pas la contrainte de la communauté.
Dans la table 6.3, nous proposons une configuration composée de quatre commu-
nautés. chaque communauté est composée de quatre services avec des fonctionnalités
complémentaires afin de proposer une nouvelle fonctionnalité appelée réservation de
voyage.
80
60
40
20
1. La création de la communauté 4.
2. La création de la communauté 3.
3. La création de la communauté 2.
4. La création de la communauté 1.
La table 6.4 donne toutes les compositions possibles qui respectent la contrainte
de coût de la communauté 4. Nous faisons la même opération pour la création
des autres communautés .
94CHAPITRE 6. SÉLECTION DE SERVICES WEB COMPOSITES POUR UN GROUPE DE CLIENTS
Réserver Réserver
Nom de Vérifier la ,
Contraintes une une Paiement
la classe météo
chambre voiture
Supposons que le service (8,2) soit ajouté à la classe de service nommée ”Paie-
ment”.
Réserver Réserver
Nom de Vérifier ,
Contraintes une une Paiement
la classe la météo
chambre voiture
Réserver Réserver
Nom de Vérifier ,
Contraintes une une Paiement
la classe la météo
chambre voiture
5 Résultats numériques
• nc(cas1) = = pour
• nc(cas2) = = pour
• nc(cas3) = = pour
• comp(cas1) = =
• comp(cas2) = =
• comp(cas3) = =
Dans le pire cas, c’est à dire que toute les configurations répondent aux contraintes
des clients. La complexité du cas 2 est plus grande que la complexité du cas 3 qui est
plus grande que la complexité du cas 1.
La table 6.9 indique le nombre de configurations ainsi que le nombre de web ser-
vices composites par cas. Comme on peut le constater, la complexité du cas 2 devient
supérieure au cas 3 à partir de k=9.
5. RÉSULTATS NUMÉRIQUES 97
Nombre de
(cas (cas (cas
services par (cas 1) (cas 2) (cas 3)
1) 2) 3)
classe
5.3.1 ▶ Ajout
Fig. 6.6 : Comparaison des ratios de satisfaction des deux approches dans le cas de
deux communautés et deux classes de services web.
Les courbes illustrées dans les figures 6.6, 6.7 et 6.8 représentent l’évolution du
temps de réponse de chaque méthode de classement en faisant varier le nombre de
services web supprimés dans chaque cas. Nous avons ajouté des services web dans
le processus à chaque nouvelle simulation pour calculer les différentes valeurs du
temps d’exécution. Les résultats montrent que la méthode heuristique a un ratio de
satisfaction très proche du ratio de satisfaction de la solution optimale ; plus le nombre
de service web augmente plus les deux ratios se rapprochent jusqu’à devenir égaux à
certains points. Plus le nombre de communautés et le nombre de classes augmentent
6. CONCLUSION 99
Fig. 6.7 : Comparaison des ratios de satisfaction des deux approches dans le cas de
trois communautés et deux classes de services web.
Fig. 6.8 : Comparaison des ratios de satisfaction des deux approches dans le cas de
deux communautés et trois classes de services web.
plus le ratio de satisfaction augmente. Le nombre de classes influe plus que le nombre
de communautés sur le ratio de satisfaction.
6 Conclusion
Dans ce chapitre, nous avons décrit une problématique liée à la sélection de ser-
vices composites distribués sur un groupe de clients. Nous avons décrit puis propo-
100CHAPITRE 6. SÉLECTION DE SERVICES WEB COMPOSITES POUR UN GROUPE DE CLIENTS
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
1 Introduction
N
ous décrivons dans ce chapitre nos approches d’indexation de découverte
de services qui reposent sur la construction d’index à plusieurs niveaux
que nous avons appelées ITACOM (Indexation de Tous les Arbres des ser-
vices web COMposites) pour l’indexation des services web composites stockés dans
le registre UDDI de composition(voir l’architecture chapitre 6) et INWEB (Indexation
des arbres d’eNtrées des services WEB), INOWEB (Indexation des arbres d’eNtrées et
de sOrties des services WEB) pour l’indexation de services web simples stockés dans
le registre UDDI.
101
102 CHAPITRE 7. DÉCOUVERTE DE SERVICES WEB BASÉE SUR L’INDEXATION
Nos deux approches d’indexation de services web simples se concentrent sur les
paramètres des services web et se présentent sous forme d’un index à plusieurs ni-
veaux. Nos index représentent chaque service par chacun de ses paramètres et pour
optimiser la recherche, nous avons décidé de trier les paramètres de chaque service
puis de construire un arbre avec les dits paramètres où chaque nœud de l’arbre est re-
présenté par un paramètre alors que chaque feuille est un ensemble de services ayant
comme paramètres les clés des nœuds nous ayant conduit à cette feuille. Le fait de trier
les paramètres nous permet de choisir lequel représenter en premier dans l’arbre mais
aussi, à l’arrivée d’une requête, de savoir lequel rechercher. Nous rajoutons deux ni-
veaux supérieurs afin de faciliter la recherche de la bonne feuille. Le premier consiste
au regroupement des services ayant le même nombre de paramètres dans un même
arbre (un sous arbre est construit pour chaque nombre de paramètres existants dans le
répertoire). Le second facilite la détection du bon arbre grâce à la mise en place d’une
structure de recherche liant chaque arbre au nombre de paramètres que contient les
services qu’il regroupe.
Dans ce chapitre, nous distinguons le niveau et la profondeur de l’index :
Notation 1. Soit S l’ensemble contenant tous les services web de notre annuaire.
Definition 3. L’ajout de service est défini par Ajouter ( , ) où l’objectif est simplement
d’ajouter le service web ” ” dans l’ensemble ” ” tout en respectant les règles imposées par
la structure (la méthode) utilisée.
l = |S | S =
{ s 1 , s2 , s3 , ..., sl }
n n =
(|s i .i n p ut s|) i ∈ [ 1, l]
n n =
(|s i . o ut p ut s|) i ∈ [ 1, l]
m
m = |Si n gl e ({ s i .i n p ut s} )|
m
m = |Si n gl e ({ s i . o ut p ut s} )|
S = { s 1 , s2 , s3 , s4 } s 1 = { { b, a } , { c, d } } s 2 = { { d, b, c } , { a } } s 3 = { { d, c } , { a, c } }
s4 = { { d } ,{ d } }
l = | {s 1 , s2 , s3 , s4 }| = 4
n = | {d, b, c }| = 3
n = | {c, d }| = | {a, c }| = 2
m = | {a, b, c, d }| = 4
m = | {a, c, d }| = 3
n
n
m m − i i
s1 s8
N 4 S
N 4
106 CHAPITRE 7. DÉCOUVERTE DE SERVICES WEB BASÉE SUR L’INDEXATION
p, entrées, ASE, CSS}, entrées est un ensemble de paramètres, ASE est un ensemble
de AE, et enfin CSS est l’ensemble de Classes de services.
Definition 10. est un ensemble d’AE défini par les règles suivantes :
Le choix de la clé de chaque AE est crucial dans cette méthode car il dirige la
construction de l’index et par conséquent la recherche. Comme expliqué pré-
cédemment, nous avons choisi d’adopter l’ordre alphabétique dans notre cas,
ce qui veut dire que lorsque nous voulons choisir une clé nous prenons la clé
la mieux classée alphabétiquement si l’index se construit de haut en bas pour
représenter un AE, et l’inverse dans le cas où l’index se construit de bas en haut
(cela importe peu tant que nous respectons l’ordre choisi dans la recherche).
A ce niveau, nous regroupons les arbres d’entrées (AE) ayant la même profon-
deur dans la même classe nommée ” Profondeur d’entrées” ou ”PE”.
Definition 11. une Profondeur d’entrées est définie par PE = (p, classes), où p est la
profondeur et classes est un ensemble de AE tel que .
elle peut également être représentée par PE: .
Une structure qui facilite la recherche est mise en place (table de hachage, B-
Arbre). Elle relie chaque profondeur à sa PE. La profondeur ici dénote le nombre
d’entrées caractérisant les SW contenus dans la PE correspondante.
Definition 13. une clé d’une profondeur est définie par C = (c,p), où c est une clé
et p est une profondeur de l’ensemble P qui est défini par :
: Toute PE de est représentée par sa profondeur dans P, et
toute profondeur de P représente une seule PE de .
2. DESCRIPTION DE NOS APPROCHES D’INDEXATION DE SERVICES WEB SIMPLES107
figure 7.4). Cela peut être intéressant s’il y a une grande redondance dans la fonc-
tionnalité globale des SW dans le répertoire. Cela conduira aussi à une utilisation
assez grande en ressource mémoire. Dans la première variante, l’accès aux sorties des
services web se faisait séquentiellement lorsque nous atteignons la feuille de l’arbo-
rescence AE, à la recherche des différentes configurations des paramètres de sorties
caractérisant les services de la classe de services recherchée. Cela peut prendre énor-
mément de temps si le nombre de services web par feuille classe de services est très
grand. L’ajout des profondeurs de sorties pour dénoter le nombre de paramètres de sor-
ties et des Arbres de sorties pour construire l’arborescence des chemins, permet d’ac-
célérer l’accès aux listes de services ayant les mêmes entrées et sorties. Les niveaux 4
et 5 sont introduits pour affiner l’index. Le niveau 4 contient les profondeurs de sorties.
Le niveau 5 les Arbres de sorties menant vers les classes de services.
Contrairement à INWEB où l’accès aux services est effectué en parcourant de ma-
nière séquentielle la table du dernier niveau ( Classe de services) à la recherche de la
clé du services web correspondant aux paramètres de sortie, dans INOWEB, l’accès est
indexé par le chemin de l’ Arbre de sorties qui conduit aux classe de services correspon-
dant aux paramètres de sortie inclus dans ce même chemin.
La figure 7.5 montre le processus d’indexation INOWEB de l’échantillon de la fi-
gure 7.1.
1. Addition
Pour ajouter un nouveau service web à la structure, il faut :
2. Recherche
Pour rechercher un service web existant dans la structure, il faut :
3. Suppression
4. Mise à jour
Pour mettre à jour les entrées d’un service web existant, il faut :
Nous considérons comme étant le nombre moyen de services web dans une
classe de services .Nous considérons comme le nombre d’entrées et comme
le nombre de paramètres de sorties d’un service web recherché ( est le nombre
total de paramètres).
La complexité de l’algorithme de recherche de INWEB est calculée comme suit
:
-Trier les entrées. (= )
-Interroger une fois le dernier niveau pour savoir s’il existe une qui a
comme clé . (= 1)
-Interroger fois la structure de recherche des pour trouver le bon .
(= )
-Comparer fois deux ensembles de paramètres de tailles . (= * )
Le nombre de calculs pour traiter les entrées est le même pour les deux algo-
rithme. La différence est dans le traitement des sorties. Là où INWEB prône
une approche itérative pour trouver la bonne classe de services, INOWEB suit
les mêmes étapes que pour les entrées.
Pour l’index inversé, nous considérons comme étant le nombre moyen de ser-
vices web pour chaque paramètre d’entrée et de sortie et comme le nombre
d’entrées et comme le nombre de paramètres de sorties d’un service web re-
cherché.
La complexité de l’algorithme de recherche de l’index inversé est calculée comme
suit :
3. DESCRIPTION DE NOTRE APPROCHE D’INDEXATION DE SERVICES WEB COMPOSITES111
La création d’une approche d’indexation pour les services web composites pour
notre approche du chapitre 6 (communautés) permet d’accélérer le processus de dé-
couverte et de sélection de services web composites. Cependant la création d’une telle
approche est relativement complexe. Le problème principal d’indexation de services
composites est qu’un service composite est représenté par la combinaison de plusieurs
arbres de services (une foret). Cela nous oblige à parcourir tous les arbres à plusieurs
reprises (suivant le nombre d’arbres du service composite recherché) ensuite faire
l’union des différents résultats ce qui peut être extrêmement coûteux dans le temps.
Pour éviter ce problème, nous décidons de proposer un algorithme de transforma-
tion de la représentation de services composites sous formes de chemins, ensuite, ces
chemins seront regroupés sous formes d’arbres suivant les profondeurs triées par le
nombre de services web. Chaque nœud de l’arbre représente un service web. Chaque
feuille est un ensemble de services web composites ayant pour paramètres les clés des
nœuds ayant en tête cette feuille. Le tri suivant la profondeur nous permet, lorsqu’une
requête arrive, de savoir dans quel arbre rechercher le service composite requis.
Notation 2. Soit l’ensemble contenant tous les services web composites de notre
annuaire.
112 CHAPITRE 7. DÉCOUVERTE DE SERVICES WEB BASÉE SUR L’INDEXATION
Definition 14. Les relations d’un service web avec d’autres services web dans une com-
position sont représentées par =( ). Elles peuvent également être
représentées sous forme d’un arbre de relations par :
. C’est à dire que le service web de pointe vers les
services web .
Definition 15. Un service composite peut être vu comme une suite d’arbres. Il est repré-
senté par = ( , ,… ) où correspond à l’arbre des relations
du service web 1 et correspond à l’arbre des relations du service web m où m
correspond au nombre de services web dans . Il peut également être représenté par
.
Definition 16. La découverte de services composites est représentée par la paire DC(A,SC)
= , le symbole est utilisé sur le contexte de l’ontologie.
Par exemple est vraie si et seulement
si est une sous-classe de dans l’ontologie.
Nous n’irons pas plus loin avec les ontologies car cela ne concerne pas notre travail.
Definition 17. L’ajout de service web composite est défini par Ajouter (sc, SC) où l’ob-
jectif est simplement d’ajouter un service web composite ”sc” dans l’ensemble ”SC” tout
en respectant les règles imposées par la structure (la méthode) utilisée.
Definition 18. est le nombre de services web composites contenus dans un an-
nuaire.
Definition 19. est le nombre maximum d’arbres de relations qu’un service composite
peut avoir, noté max avec
Definition 20. est le nombre maximal de services web qu’un service composite peut
avoir, noté max avec
Definition 21. est le nombre total d’arbres uniques dans l’annuaire (chaque arbre est
compté une fois), noté
Definition 22. est le nombre total de services web uniques dans l’annuaire (chaque
service web est compté une fois), noté
En utilisant l’exemple suivant :
,
,
,
.
1. ,
2. ,
3. ,
4. ,
5. .
3. DESCRIPTION DE NOTRE APPROCHE D’INDEXATION DE SERVICES WEB COMPOSITES113
3.2 Indexation des arbres de services web des services web compo-
sites
ITACOM se concentre sur l’indexation de tous les services web composites sous
forme d’un arbre. ITACOM représente chaque service composite par un chemin unique
de services web et pour optimiser la recherche, nous avons décidé de trier suivant les
noms des services web puis de construire un arbre avec les dits services où chaque
nœud de l’arbre est représenté par un service web alors que chaque feuille est un en-
semble de services web composites ayant comme paramètres les clés des nœuds nous
ayant conduit à cette feuille. Le fait de trier les noms des services web nous permet, à
l’arrivée d’une requête, de savoir dans lequel rechercher.
Pour représenter un service web composite sous forme d’un chemin il faut :
• Trouver tous les arbres de relations des services web du service web composite.
• Trier par les noms des services web.
• Construire l’arbre de services web du service web composite.
• Construire le chemin de services web du service web composite (voir figure 7.8)
:
Pour chaque arbre de services web d’un service web composite (voir figure 7.9)
:
– Si la racine d’un arbre n’a pas de fils alors la lier à la racine suivante. (cas
1)
– Si la racine d’un arbre a un seul fils alors lier le fils à la racine suivante.
(cas 2)
– Si la racine d’un arbre a plus qu’un fils alors garder le lien avec le premier
fils et enlever les autres liens. Tant que ce n’est pas le dernier fils alors
lier chaque fils à son frère suivant. Si dernier fils alors le lier à la racine
suivante. (cas 3)
n
n
m m − i i
sc1 sc2 sc3
P S 1
P S 2
P S 3
N 4
N 3
(∀ C C ∈ N 4 ) ⇔ ((∃ A ∈ N 3 ) ∧ (C C ∈ A. C C S ))
N 4 N 3
N 3 N 4
((∀ A 1 , A2 ∈ N 3 ) ∧ (A 1 . p = A 2 . p) ∧ (A 1 . k = A 2 . k) ∧ (A 1 . s e vi c e s =
A 2 . s e r vi c e s)) ⇔ (A 1 = A 2)
N 3
p cl a s s e s p
cl a s s e s ∀ A ∈ cl a s s e s → (A. p = p )
p → cl a s s e s
N 2
(∀ A ∈ N 3 ) ⇔ (∃ P ∈ N 2 ) ∧ (A ∈ . cl a s s e s)) N 3
118 CHAPITRE 7. DÉCOUVERTE DE SERVICES WEB BASÉE SUR L’INDEXATION
au moins une fois par une PS dans , et si une PS représente un AS alors cette AS
appartient à l’ensemble .
2. : La profondeur d’une PS la
rend unique dans l’ensemble .
1. Addition
Pour ajouter un nouveau service web composite à la structure, il faut :
2. Recherche
Pour rechercher un service web composite existant dans la structure, il faut :
3. Suppression
Pour supprimer un service web composite existant dans la structure, il faut :
4. Mise à jour
Pour mettre à jour les entrées d’un service existant, il faut :
(= )
Pour l’index inversé, nous considérons comme étant le nombre moyen de ser-
vices web composites pour chaque service web, comme étant le nombre de ser-
vices web d’un service composite recherché, comme étant le nombre moyen
de relations d’un service web avec d’autres services web du service composite
recherché et comme étant le nombre de services web composites différents
ayant les mêmes services web.
4 Résultats numériques
Paramètres Intervalles
Paramètres Intervalles
Paramètres Intervalles
4.2.1 ▶ Ajout
La figure 7.12 présente les différents temps d’exécution des quatre approches d’in-
dexation pour l’ajout de services web. L’index inversé est le plus rapide pour ajouter de
nouveaux services, suivent les approches INWEB, MLIM et INOWEB. L’index inversé
est le plus rapide du au fait qu’il utilise un seul niveau d’index par rapport aux autres
approches. INOWEB est le moins rapide en raison du nombre élevé de paramètres de
sorties par service.
4.2.2 ▶ Recherche
La figure 7.13 présente les différents temps d’exécution des quatre approches d’in-
dexation pour la recherche de services web avec 50000 requêtes. Nos deux approches
ont les meilleures performances en comparaison avec l’index inversé et MLIM. Comme
nous l’avons dit dans la figure 7.12, INOWEB a le temps d’exécution le moins rapide
pour ajouter des nouveaux services avec un nombre élevé de sorties, Cependant, IN-
OWEB dispose du plus rapide temps d’exécution pour rechercher des services web.
4.3.1 ▶ Ajout
Dans la figure 7.14, le temps d’exécution des approches d’index inversé, INWEB
et INOWEB augmente d’une manière linéaire , tandis que pour l’approche MLIM,
son temps d’exécution augmente d’une manière exponentielle. Comme on pouvait s’y
attendre, la méthode de l’index inversé est la plus rapide, suivie par INWEB, INOWEB
et loin derrière, la méthode MLIM.
E D AC
E D A C
124 CHAPITRE 7. DÉCOUVERTE DE SERVICES WEB BASÉE SUR L’INDEXATION
Fig. 7.16 : Nombre de structures utilisées avec variation du nombre de services web.
4.4.1 ▶ Ajout
Dans la figure 7.17, le temps d’exécution des approches d’index inversé et ITA-
COM augmente d’une manière linéaire. Comme on pouvait s’y attendre, la méthode
de l’index inversé est la plus rapide que la méthode ITACOM .
4. RÉSULTATS NUMÉRIQUES 125
4.4.2 ▶ Recherche
Dans la figure 7.18, le temps d’exécution des approches d’index inversé et ITACOM
augmente d’une manière linéaire. La méthode ITACOM est nettement plus rapide que
l’index inversé.
5 Conclusion
Dans ce chapitre, nous avons proposé plusieurs solutions à base d’index pour l’op-
timisation du temps d’accès et la pertinence des résultats dans un répertoire de ser-
vices web. L’ index ITACOM est proposé pour la gestion des services web composites.
Les index INWEB et INOWEB sont proposés pour la gestion des services web simples.
Pour évaluer les performances de nos approches, nous avons mené différentes expé-
riences en les comparant avec les approches existantes dans la littérature (MLIM et
index inversé). Les résultats ont validé les performances des index ITACOM, INWEB
et INOWEB.
Conclusion et Persepectives
8
1 Synthèse des contributions . . . . . . . . . . . . . . . . . . . . . 127
2 Perspectives pour les travaux futurs . . . . . . . . . . . . . . . 129
A
u cours de ces dernières années, plusieurs types de paradigmes de dévelop-
pement d’applications distribuées ont été proposés. La technologie des ser-
vices web représente une des meilleures solutions pour le développement
d’applications distribuées sur le web. Avec le nombre gigantesque de services web
disponible sur le réseau internet, les clients auront toujours besoin de techniques effi-
caces de découverte, de sélection et de composition pour trouver des services web qui
correspondent à leurs exigences et à leurs besoins. Les travaux présentés dans cette
thèse s’inscrivent dans ce cadre-là.
Dans cette section, les contributions et les réalisations sont discutées. Les objec-
tifs, décrits dans le chapitre 1, sont examinés individuellement. De plus, cette section
explique comment cette contribution atteint les objectifs.
127
128 CHAPITRE 8. CONCLUSION ET PERSEPECTIVES
deuxième niveau, la complexité des approches est examiné pour déterminer les
méthodes rapides et efficaces. Le principal problème après évaluation des mé-
thodes de sélection de services est le classement différent fourni par chaque mé-
thode pour un même échantillon de service web. Par conséquent, pour combler
ce problème en matière de sélection, une approche est proposée dans laquelle
le classement de chaque méthode AMCD rapide est pris en compte pour élire
un classement des meilleures services web à l’aide d’une méthode de vote. Aus-
si, ce classement est utilisé pour évaluer la précision de classement de chaque
méthode à l’aide de ratios.
• Objectif 2 : Sélection efficace des services web simples à base de QdS et à base
de contraintes.
Pour atteindre cet objectif, nous avons tout d’abord effectué une recherche
sur les approches existantes dans la littérature de la sélection de services web
et la normalisation des valeurs des services web. Ensuite, ces normalisations
sont examinées et comparées. Le principal problème après évaluation des mé-
thodes de sélection de services est le cas où aucun service web ne réponds aux
contraintes du client. Par conséquent, pour combler ce problème en matière
de sélection, une approche de normalisation prenant en compte les contraintes
du client est proposée. Cette normalisation est ensuite combinée avec des mé-
thodes AMCD adaptées pour proposer un classement des services web qui s’ap-
prochent des contraintes du client. Aussi, les différents classements fournis par
les différentes méthodes AMCD adaptées sont évalués à l’aide de ratios.
Nous avons déjà mené une étude poussée sur les processus d’optimisation de la
sélection des services web simples et composites, mais il reste néanmoins beaucoup de
pistes de réflexion à explorer. Une des pistes à explorer est la mise en place d’un sys-
tème de qualité d’expérience. En effet, le succès d’un service web dépend grandement
de sa capacité à offrir une performance applicative exceptionnelle aux clients. Mesurer
l’expérience client est un défi majeur dans la littérature des services web souvent résu-
mée avec le critère QdS ”réputation” en raison d’une constante évolution du paysage
informatique et des clients. En outre, la performance des services web et l’expérience
client doivent être gérées de manière à ce que les clients puissent bénéficier pleine-
ment des retours d’expériences. Comment s’assurer qu’un service web soit facilement
disponible et réponde parfaitement aux exigences client (performances erronées d’un
service web, pannes fréquentes d’un service, efficacité d’un service…etc). Une autre
piste à explorer est l’automatisation du système d’attribution des poids des critères
QdS. Pour cela, un profil client peut être créé en se recentrant, analysant, étudiant
les préférences QdS exprimées par un client pour un service web suivant le domaine,
la catégorie, etc. . Des applications de ces méthodes méritent d’être étudiées dans un
environnement réel, dynamique et spécifique. En fonction des scénarios déployés, les
mécanismes de sélection devront peut-être subir de nouvelles adaptations. Quoi qu’il
en soit, les résultats numériques obtenus par simulation profiteraient logiquement de
l’usage d’applications plus proches d’une mise en production réelle. Mais nous pour-
rions faire encore mieux : implémenter de telles approches pour offrir des solutions
efficaces aux gestionnaires d’annuaires de services web, tel que AWS, ce qui nous per-
mettrait d’obtenir des valeurs en meilleure adéquation avec une mise en production
du système.En fonction des résultats, il serait alors possible de rechercher l’améliora-
tion des approches proposées, ou bien l’utilisation d’architectures plus adaptés pour
obtenir des résultats plus fidèles et plus efficaces.Le modèle utilisant les données qua-
litatifs et quantitatifs constitue une base de travail intéressante que nous aimerions
étudier, dans le but d’améliorer le processus de sélection de services, par exemple en
parvenant à convertir les données qualitatifs d’une manière efficace sans perdre son
échelle de valeur. Toutes ces approches sont autant de perspectives à étudier dans de
futurs travaux, afin de concevoir, à partir des solutions apportées au cours de cette
thèse, des mécanismes et des modèles toujours plus performants dans la sélection de
services web simples ou composites.
130 CHAPITRE 8. CONCLUSION ET PERSEPECTIVES
Bibliographie
131
132 BIBLIOGRAPHIE
[25] H. Feng et Y. d. Cao. «Multiple attribute decision making with intervals for
QoS-based web service selection». In : Communication Technology (ICCT), 2011
IEEE 13th International Conference on. 2011, p. 1041–1045 (cf. p. 26, 29, 36).
[26] Manish Godse, Rajendra M. Sonar et Shrikant Mulik. «Web Service Selection
Based on Analytical Network Process Approach». In : APSCC. IEEE Computer
Society, 2008, p. 1103–1108 (cf. p. 22, 29, 36).
[27] Kannan Govindan, Joseph Sarkis et Murugesan Palaniappan. «An analy-
tic network process-based multicriteria decision making model for a reverse
supply chain». In : The International Journal of Advanced Manufacturing Tech-
nology 68.1 (2013), p. 863–880 (cf. p. 22).
[28] Muhammet Gul, Erkan Celik, Nezir Aydin, Alev Taskin Gumus et Ali Fuat
Guneri. «A state of the art literature review of {VIKOR} and its fuzzy exten-
sions on applications». In : Applied Soft Computing 46 (2016), p. 60–89 (cf.
p. 27).
[29] X. Han, Y. Liu, B. Xu et G. Zhang. «A Survey on QoS-Aware Dynamic Web
Service Selection». In : 2011 7th International Conference on Wireless Communi-
cations, Networking and Mobile Computing. Sept. 2011, p. 1–5. doi : 10.1109/
wicom.2011.6040618 (cf. p. 17).
[30] Khayyam Hashmi, Amal Alhosban, Zaki Malik, Brahim Medjahed et Salima
Benbernou. «Automated negotiation among web services». In : Web Services
Foundations. Springer, 2014, p. 451–482 (cf. p. 29).
[31] Turki Hazar, Leila Baccouche et Henda Ben Ghezala. «ETUDE DE CAS
POUR LA SELECTION DES SERVICES WEB BASEE SUR LES CONTRAINTES
TEMPORELLES». In : fév. 2009 (cf. p. 31).
[32] Caroline Herssens, Ivan Jureta et Stéphane Faulkner. «Dealing with Qua-
lity Tradeoffs during Service Selection». In : ICAC. IEEE Computer Society,
2008, p. 77–86 (cf. p. 27, 29).
[33] Angus F. M. Huang, Chi-Wei Lan et Stephen J. H. Yang. «An optimal QoS-
based Web service selection scheme». In : Inf. Sci. 179.19 (2009), p. 3309–3322
(cf. p. 29).
[34] Ching-Lai Hwang, Young-Jou Lai et Ting-Yun Liu. «A New Approach for
Multiple Objective Decision Making». In : Comput. Oper. Res. 20.9 (1993), p. 889–
899 (cf. p. 24, 25, 43).
[35] Inverted index. https://www.oasis- open.org/committees/tc_home.
php?wg_abbrev=uddi-spec. Accessed : 2018-11-10 (cf. p. 32).
[36] M. C. Jaeger et H. Ladner. «Improving the QoS of WS compositions based
on redundant services». In : International Conference on Next Generation Web
Services Practices (NWeSP’05). 2005, 6 pp (cf. p. 25, 29).
[37] C. Jatoth, G. R. Gangadharan et R. Buyya. «Computational Intelligence Ba-
sed QoS-Aware Web Service Composition : A Systematic Literature Review».
In : IEEE Transactions on Services Computing 10.3 (mai 2017), p. 475–492. issn :
1939-1374. doi : 10.1109/TSC.2015.2473840 (cf. p. 31).
[38] Xing Jian, Qingsheng Zhu et Yunni Xia. «An interval-based fuzzy ranking
approach for QoS uncertainty-aware service composition». In : Optik - Inter-
national Journal for Light and Electron Optics 127.4 (2016), p. 2102–2110 (cf.
p. 28, 36).
134 BIBLIOGRAPHIE
[51] Yutu Liu, Anne H. Ngu et Liang Z. Zeng. «QoS Computation and Policing
in Dynamic Web Service Selection». In : Proceedings of the 13th International
World Wide Web Conference on Alternate Track Papers &Amp ; Posters. WWW
Alt. ’04. New York, NY, USA : ACM, 2004, p. 66–73. isbn : 1-58113-912-8. doi :
10 . 1145 / 1013367 . 1013379. url : http : / / doi . acm . org / 10 . 1145 /
1013367.1013379 (cf. p. 32).
[52] Chi-Chun Lo, Ding-Yuan Cheng, Chen-Fang Tsai et Kuo-Ming Chao. «Ser-
vice Selection Based on Fuzzy TOPSIS Method». In : AINA Workshops. IEEE
Computer Society, 2010, p. 367–372 (cf. p. 28, 29, 36).
[53] N. W. Lo et Chia-Hao Wang. «Web services QoS evaluation and service selec-
tion framework - a proxy-oriented approach». In : TENCON 2007 - 2007 IEEE
Region 10 Conference. 2007, p. 1–5 (cf. p. 25).
[54] Fang-chun. YANG Long-chang ZHANG Hua Zou. «Web service composition
algorithm based on TOPSIS». In : the journal of china universities of posts and
telecommunications 18.4 (2011), p. 89–97 (cf. p. 26, 29, 36).
[55] Zakaria Maamar, Quan Sheng, Samir Tata, Djamal Benslimane et Moha-
med Sellami. «Towards an approach to sustain web services high‐availability
using communities of web services». In : IJWIS 5 (avr. 2009), p. 32–55. doi :
10.1108/17440080910947303 (cf. p. 8).
[56] S. Maheswari et G. R. Karpagam. «Enhancing Fuzzy Topsis for web service
selection». In : IJCAT 51.4 (2015), p. 344–351 (cf. p. 28, 29).
[57] David Martin, Massimo Paolucci, Sheila Mcilraith, Mark Burstein, Drew
Mcdermott, Deborah Mcguinness, Bijan Parsia, Terry Payne, Marta Sa-
bou, Monika Solanki, Naveen Srinivasan et Katia P. Sycara. «Bringing Se-
mantics to Web Services : the OWL-S approach». In : t. 3387. Juil. 2004, p. 26–
42. doi : 10.1007/978-3-540-30581-1_4 (cf. p. 11).
[58] David Martin, Massimo Paolucci, Sheila McIlraith, Mark Burstein, Drew
McDermott, Deborah McGuinness, Bijan Parsia, Terry Payne, Marta Sa-
bou, Monika Solanki, Naveen Srinivasan et Katia Sycara. «Bringing Se-
mantics to Web Services : The OWL-S Approach». In : Semantic Web Services
and Web Process Composition. Sous la dir. de Jorge Cardoso et Amit Sheth.
Berlin, Heidelberg : Springer Berlin Heidelberg, 2005, p. 26–42. isbn : 978-3-
540-30581-1 (cf. p. 16).
[59] E. Al-Masri et Q. H. Mahmoud. «QoS-based Discovery and Ranking of Web
Services». In : Computer Communications and Networks, 2007. ICCCN 2007.
Proceedings of 16th International Conference on. 2007, p. 529–534 (cf. p. 47, 48).
[60] E. Al-Masri et Q. H. Mahmoud. «QoS-based Discovery and Ranking of Web
Services». In : Computer Communications and Networks, 2007. ICCCN 2007.
Proceedings of 16th International Conference on. 2007, p. 529–534 (cf. p. 71).
[61] ”Eyhab Al-Masri et Qusay H. Mahmoud. «Investigating web services on the
world wide web.» In : WWW Conference. 2008, p. 795–804 (cf. p. 54, 75, 96).
[62] Brahim Medjahed. «Semantic Web Enabled Composition of Web Services».
Phd. Virginia Polytechnic Institute et State University, avr. 2004 (cf. p. 90).
[63] Michael Papazoglou . Web Services : Principles and Technology. Prentice Hall ;
1 edition, 2007. isbn : 0321155556 (cf. p. 9, 13).
136 BIBLIOGRAPHIE
[78] Shuping Ran. «A Model for Web Services Discovery with QoS». In : SIGecom
Exch. 4.1 (mar. 2003), p. 1–10. issn : 1551-9031. doi : 10 . 1145 / 844357 .
844360. url : http://doi.acm.org/10.1145/844357.844360 (cf. p. 13).
[79] Reference Model for Service Oriented Architecture 1.0. http://docs.oasis-
open.org/soa-rm/v1.0/soa-rm.html. Accessed : 2018-11-11 (cf. p. 10).
[80] Jafar Rezaei. «Best-worst multi-criteria decision-making method». In : Omega
53 (2015), p. 49–57 (cf. p. 36, 37, 39, 40).
[81] B. Roy. «Classement et choix en présence de points de vue multiples». In :
RAIRO - Operations Research - Recherche Opérationnelle 2.6 (1968), p. 57–75
(cf. p. 21).
[82] D G. Saari. Chaotic elections, a mathematician looks at voting. American Ma-
thematical Society, 2001 (cf. p. 36, 46, 62).
[83] D G. Saari. Chaotic elections, a mathematician looks at voting. American Ma-
thematical Society, 2001 (cf. p. 70).
[84] Thomas L. Saaty. «How to make a decision : the analytic hierarchy process».
In : European journal of operational research 48.1 (1990), p. 9–26 (cf. p. 65).
[85] T.L. Saaty. Decision Making with Dependence and Feedback : The Analytic Net-
work Process. RWS Publications, 1996 (cf. p. 22).
[86] T.L. Saaty. Fundamentals of Decision Making and Priority Theory With the Ana-
lytic Hierarchy Process. AHP series. RWS Publications, 2000. isbn : 9781888603156
(cf. p. 22, 63).
[87] M. Sathya, P. Dhavachelvan et K. Vivekanandan. «Egalitarian based Ne-
gotiation model for QoS based Web Service Selection». In : International Jour-
nal of Soft Computing 8.2 (2013), p. 134–142 (cf. p. 30).
[88] Semantic Annotations for WSDL and XML Schema. https://www.w3.org/
TR/sawsdl/. Accessed : 2018-11-11 (cf. p. 12).
[89] Young-Jun Seo, Hwa-Young Jeong et Young-Jae Song. «A Study on Web Ser-
vices Selection Method Based on the Negotiation Through Quality Broker :
A MAUT-based Approach». In : ICESS 2004, Hangzhou, China, December 9-10.
Springer Berlin Heidelberg, 2004, p. 65–73 (cf. p. 27, 29).
[90] Young-Jun Seo, Hwa-Young Jeong et Young-Jae Song. «Best Web Service
Selection Based on the Decision Making Between QoS Criteria of Service».
In : ICESS. T. 3820. Lecture Notes in Computer Science. Springer, 2005, p. 408–
419 (cf. p. 13, 28).
[91] W. Serrai, A. Abdelli, L. Mokdad et Y. Hammal. «An efficient approach for
Web service selection». In : 2016 IEEE Symposium on Computers and Commu-
nication (ISCC). IEEE Computer Society, 2016, p. 167–172 (cf. p. 36).
[92] W. Serrai, A. Abdelli, L. Mokdad et A. Serrai. «Dealing with user constraints
in MCDM based web service selection». In : 2017 IEEE Symposium on Compu-
ters and Communications (ISCC). Juil. 2017, p. 158–163. doi : 10.1109/ISCC.
2017.8024522 (cf. p. 63).
[93] W. Serrai, A. Abdelli, L. Mokdad et A. Serrai. «How to deal with QoS va-
lue constraints in MCDM based Web service selection». In : Concurr. Comput.
Pract. Exp. 31.24 (2019). doi : 10.1002/cpe.4512. url : https://doi.org/
10.1002/cpe.4512 (cf. p. 62).
138 BIBLIOGRAPHIE
[94] Walid Serrai, Abdelkrim Abdelli, Lynda Mokdad et Youcef Hammal. «To-
wards an efficient and a more accurate web service selection using MCDM
methods». In : Journal of Computational Science Supplement C (2017), p. 253–
267. issn : 1877-7503. doi : https://doi.org/10.1016/j.jocs.2017.05.
024. url : http://www.sciencedirect.com/science/article/pii/
S1877750317306154 (cf. p. 36, 70, 85).
[95] N. Y. Setiawan et R. Sarno. «Multi-criteria decision making for selecting
semantic web service considering variability and complexity trade-Off». In :
Journal of Theoretical and Applied Information Technology Jatit 86.2 (2016),
p. 316–326 (cf. p. 28, 29, 36).
[96] Quan Z. Sheng, Xiaoqiang Qiao, Athanasios V. Vasilakos, Claudia Szabo,
Scott Bourne et Xiaofei Xu. «Web services composition : A decade’s over-
view». In : Information Sciences 280 (2014), p. 218–238 (cf. p. 31, 32).
[97] Y. Shi et X. Chen. «A Survey on QoS-aware Web Service Composition». In :
2011 Third International Conference on Multimedia Information Networking and
Security. Nov. 2011, p. 283–287. doi : 10.1109/MINES.2011.118 (cf. p. 30,
90).
[98] Munindar P. Singh et Michael N. Huhns. Service-Oriented Computing : Seman-
tics, Processes, Agents. John Wiley et Sons, 2006 (cf. p. 13).
[99] D. Skoutas, D. Sacharidis, Alkis Simitsis, Verena Kantere et Timos K. Sel-
lis. «Top-k dominant web services under multi-criteria matching». In : EDBT.
T. 360. ACM International Conference Proceeding Series. ACM, 2009, p. 898–
909 (cf. p. 21).
[100] SOAP. https://www.tutorialspoint.com/soap/. Accessed : 2019-01-30
(cf. p. 12).
[101] SOAP Version 1.2 Part 1 : Messaging Framework (Second Edition). https : / /
www.w3.org/TR/soap12/. Accessed : 2018-11-11 (cf. p. 12).
[102] Jie Song, Hongying Hou, Tiantian Li, Guoqi Liu et Zhiliang Zhu. «QoS Cube:
Management and Navigating Web Services through Multi-dimensional Mo-
del». In : Computational Science and Engineering (CSE), 2011 IEEE 14th Inter-
national Conference on. IEEE, 2011, p. 9–15 (cf. p. 20).
[103] Anja Strunk. «[IEEE 2010 IEEE 8th European Conference on Web Services
(ECOWS) - Ayia Napa, Cyprus (2010.12.1-2010.12.3)] 2010 Eighth IEEE Eu-
ropean Conference on Web Services - QoS-Aware Service Composition : A
Survey». In : 2010. isbn : 978-1-4244-9397-5. doi : 10.1109/ECOWS.2010.16
(cf. p. 31).
[104] Vuong Xuan Tran, Hidekazu Tsuji et Ryosuke Masuda. «A new QoS onto-
logy and its QoS-based ranking algorithm for Web services». In : Simulation
Modelling Practice and Theory 17.8 (2009), p. 1378–1398 (cf. p. 22, 29, 36).
[105] Evangelos Triantaphyllou. «Multi-criteria decision making methods». In :
Multi-criteria decision making methods : A comparative study. Dordrecht, The
Netherlands : Kluwer Academic Publishers (now Springer)., 2000, p. 5–21 (cf.
p. 62, 69).
[106] Nazanin Vafaei, Rita A. Ribeiro et Luis M. Camarinha-Matos. «Normali-
zation Techniques for Multi-Criteria Decision Making: Analytical Hierarchy
Process Case Study». In : Doctoral Conference on Computing, Electrical and In-
dustrial Systems. Springer, 2016, p. 261–269 (cf. p. 23, 25, 62, 65).
BIBLIOGRAPHIE 139
[124] Noorul Hassan Zardari, Kamal Ahmed, Sharif Moniruzzaman Shirazi et Zul-
kifli Bin Yusop. Weighting Methods and their effects on multi-criteria decision
making model outcomes in water ressources management. SpringerBriefs in Wa-
ter Science and Technology. Springer, 2015 (cf. p. 22).
[125] Long-chang ZHANG, Chun-jie LI et Zhan-lin YU. «Dynamic Web service se-
lection group decision-making based on heterogeneous QoS models». In :
The Journal of China Universities of Posts and Telecommunications 19.3 (2012),
p. 80–90 (cf. p. 28, 29, 36).
[126] Hua Zou, Longchang Zhang, Fangchun Yang et Yao Zhao. «A Web Ser-
vice Composition Algorithmic Method Based on TOPSIS Supporting Multiple
Decision-Makers». In : SERVICES. IEEE Computer Society, 2010, p. 158–159
(cf. p. 26, 29, 36).
Index
A cout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
adressable . . . . . . . . . . . . . . . . . . . . . . . . . . 10 coût . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
AHP . . . . . . . . . . . . . . . . . . . . . 22–25, 28, 29 critère . . . . . . . . . . . . . . . . . . . . . . . 22–29, 32
AMCD . . . . . . . . . . . . . . . . . . . . . . . . . . 21–29 critère négatif . . . . . . . . . . . . . 16, 25–27, 38
annuaire . . . 9, 10, 12, 13, 16, 18, 21, 28, 29 critère orienté client . . . . . . . . . . . . . . . . . 16
ANP . . . . . . . . . . . . . . . . . . . . . . 22, 23, 28, 29 critère orienté configuration et coûts . 15
AOS . . . . . . . . . . . . . . . . . . . . 8, 10, 20, 27, 31 critère orienté exécution . . . . . . . . . . . . . 14
architecture des services web . . . . . . . . 10 critère orienté sécurité . . . . . . . . . . . . . . 15
authentification . . . . . . . . . . . . . . . . . . . . . 15 critère orienté transaction . . . . . . . . . . . 15
autorisation . . . . . . . . . . . . . . . . . . . . . . . . 15 critère positif . . . . . . . . . . . . . 16, 25–27, 38
AWS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 critère qualitatif . . . . . . . . . . . . . . . . . 16, 28
critère quantitatif . . . . . . . . . . . . . . . . 16, 28
B critères qualitatifs . . . . . . . . . . . . . . . . . . . 21
besoins de messagerie garantis . . . . . . . 15 critères quantitatifs . . . . . . . . . . . . . . . . . 21
BP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 cycle de stabilité / changement . . . . . . . 15
BPEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 cycle de vie . . . . . . . . . . . . . . . . . . . . . . . 7, 18
bénéfice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
D
C description . . . . . . . . . . . . . . . . 11, 13, 16, 18
capacité . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 description abstraite . . . . . . . . . . . . . . . . . 11
chiffrement des données . . . . . . . . . . . . . 15 description concrète . . . . . . . . . . . . . . . . . 11
classe de services web . . . . . . . . . . . . . . . 32 description hybride . . . . . . . . . . . . . . . . . 12
classement . . . . . . . . . . . . . . . . . . . . . . . . . 28 description syntaxique . . . . . . . . . . . 11, 12
cleint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 description sémantique . . . . . . . . . . . . . . 12
client . . 8–13, 15–18, 20–22, 25–27, 29, 31, disponibilité . . . . . . . . . . . . . . . . . . . . . 13, 14
32 dynamique . . . . . . . . . . . . . . . . . . . . . . . . . 10
clients . . . . . . . . . . . . . . . . . . . . . . . . . . . 9, 30 débit . . . . . . . . . . . . . . . . . . . . . . . . 14, 16, 27
comparaison par paire . . . . . . . . 22, 28, 29 découverte de services . . . . . . 7, 16, 18, 29
comparaisons par paires . . . . . . . . . . . . . 21 découverte de services web . . . . . . . . . . 11
complexité . . . . . . . . . . . . . . . . 21, 26, 29, 31 découvrable . . . . . . . . . . . . . . . . . . . . . . . . 10
complétude . . . . . . . . . . . . . . . . . . . . . . . . . 15
composables . . . . . . . . . . . . . . . . . . . . . . . . 10 E
composition de services . . 7, 17, 18, 26, 29 ELECTRE . . . . . . . . . . . . . . . . . . . . . . . 21, 29
composition dynamique . . . . . . . . . . 32, 33 espace de recherche . . . . . . . . . . . . . . . . . 21
composition statique . . . . . . . . . . . . . 32, 33 évolutivité . . . . . . . . . . . . . . . . . . . . . . . . . . 14
compromis . . . . . . . . . . . . . . . . . . . 16, 27, 31
confidentialité . . . . . . . . . . . . . . . . . . . . . . 15 F
contrainte . . . . . . . . . . . . . 11, 16, 17, 20, 28 fiabilité . . . . . . . . . . . . . . . . . . . . . . 13, 14, 27
contraintes . . . . . . . . . . . . . . . . . . . . . . 30, 32 fiables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
contrat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 flexibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
couplage faible . . . . . . . . . . . . . . . . . . . 8–10 fonction d’agrégation . . . . . . . . . . . . 25, 26
141
142 INDEX
L O
OASIS . . . . . . . . . . . . . . . . . . . . . . . 10, 13, 17
latence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 ontologie . . . . . . . . . . . . . . . . . . . . . . . . 12, 27
optimisation globale . . . . . . . . . . . . . . . . . 32
M optimisation locale . . . . . . . . . . . . . . . . . . 32
matching . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 optimisation mono-objectif . . . . . . . . . . 32
matrice de décision . . . . . . . . . . . . . . . . . 23 optimisation multi-objectif . . . . . . . . . . . 32
matrice de décision normalisée . . . . . . . 23 OWL-S . . . . . . . . . . . . . . . . . . . . . . . . . 12, 29
MAUT . . . . . . . . . . . . . . . . . . . . . . . 24, 27, 29
MMKP . . . . . . . . . . . . . . . . . . . . . . . . . . 31, 32 P
méthode d’optimisation . . . . . . . . . . . . . 21 page blanche . . . . . . . . . . . . . . . . . . . . . . . 13
méthode de classement . . . . . . . . . . . . . . 20 page jaune . . . . . . . . . . . . . . . . . . . . . . . . . 13
méthode de normalisation . . . . . . . . . . . 25 page verte . . . . . . . . . . . . . . . . . . . . . . . . . . 13
méthode de surclassement . . . . . . . . 21, 28 pair à pair . . . . . . . . . . . . . . . . . . . . . . . . . . 16
méthode floue . . . . . . . . . . . . . . . . . . . 28, 29 paramètre d’entrée . . . . . . . . . . . . . . . 11, 12
paramètre de sortie . . . . . . . . . . . . . . 11, 12
N paramètre fonctionnel . . . . . . . . . . . . 16, 18
ne supporte pas les contraintes QdS . . 32 paramètre non fonctionnel . 13, 17, 18, 20
non-répudiation . . . . . . . . . . . . . . . . . . . . 15 paramètres fonctionnelles . . . . . . . . . . . 19
normalisation . . . . . . . . . . . . . . . . 23–25, 29 paramètres fonctionnels . . . . . . . . . . . . . 20
normalisation basée sur la valeur maxi- paramètres non fonctionnel . . . . . . . . . . 19
male et la valeur minimale . . 25 performance . . . . . . . . . . . . . . . . . . . . . . . . 14
normalisation basée sur la valeur maxi- poids . . . . . . . . . . . . . . . . . . . . . . . . . . . 22–29
male et la valeur minimales . 24 prise de décision . . . . . . . . . . . . . . 22, 26, 29
normalisation basée sur la somme des va- processus métie . . . . . . . . . . . . . . . . . . . . . 17
leurs . . . . . . . . . . . . . . . . . . . . . . 24 processus métier . . . . . . . . . . . . . . . . 16–18
INDEX 143
Q T
QdS . . . . . . . . . . . . . . . . . 8, 10, 13, 14, 17–32 temps d’exécution . . . . . . . . . . . . . . . . . . . 21
temps de réponse . . . . . . . . . . . . . . . . 14, 16
R TOPSIS . . . . . . . . . . . . . . . . . . . . . . . . . 24–29
requête . . . . . . . . . . . . . . . . . . . . 8, 11, 14, 15 traitement des exceptions . . . . . . . . . . . . 15
reseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 traçabilité . . . . . . . . . . . . . . . . . . . . . . . . . . 15
responsabilité . . . . . . . . . . . . . . . . . . . . . . . 15
robustesse . . . . . . . . . . . . . . . . . . . . . . . . . . 14 U
récompenses . . . . . . . . . . . . . . . . . . . . . . . 31 UDDI . . . . . . . . . . . . . . . . . . . . . . . 8, 9, 13, 21
réglementation . . . . . . . . . . . . . . . . . . . . . 15
réponse . . . . . . . . . . . . . . . . . . . . . . . . . . 8, 11
V
VIKOR . . . . . . . . . . . . . . . . . . . . . . . 24, 27, 29
réputation . . . . . . . . . . . . . . . . . . . . . . . 16, 27
réseau . . . . . . . . . . . . . . . . . . . . . . . . 8, 10, 12 W
réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 W3C . . . . . . . . . . . . . . . . . . . . . . 8, 11, 12, 16
réutilisation . . . . . . . . . . . . . . . . . . . . . . . . . 9 WPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
WS-BPEL . . . . . . . . . . . . . . . . . . . . . . . . . . 17
S WS-Policy . . . . . . . . . . . . . . . . . . . . . . . . . . 31
satisfaction du client . . . . . . . . . . . . . 13, 16
WSDL . . . . . . . . . . . . . . . . . . . . . 8, 11–13, 29
SAW . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23–29
WSDL-S . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
SAWSDL . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
WSMO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
score . . . . . . . . . . . . . . . . . . . . . . . . . . . 23, 27
WSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
service composite . . . . . . . . . . . . . . . . 18, 20
service simple . . . . . . . . . . . . . . . . . . . . . . 20 X
service web . . . . . . . . . . . . . . . . 7–29, 31–33 XML . . . . . . . . . . . . . . . . . . . . . . 8, 11–13, 17
service web
composite, 19
simple, 19
service web candidat . . . . . . . 21, 25, 29, 32
service web composite . 16, 21, 26–28, 31,
32
service web dominant . . . . . . . . . . . . . . . 21
service web dominé . . . . . . . . . . . . . . 21, 29
service web simple . . . . . . . . . . . . . . . . . . 16
service wev . . . . . . . . . . . . . . . . . . . . . . . . . 26
services web . . . . . . . . . . . . . . . . . . . . 28, 30
Skyline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
skyline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
SLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29, 31
SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
SOA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
SOAP . . . . . . . . . . . . . . . . . . . . . . . . . 8, 12, 13
solutions optimales . . . . . . . . . . . . . . . . . 32
144 INDEX
Liste des sigles
145
Les systèmes logiciels accessibles via le web sont construits en utilisant des
services web existants et distribués qui s’interagissent par envoi de messages. Le
service web expose ses fonctionnalités à travers une interface décrite dans un for-
mat manipulable par ordinateur. Les autres systèmes interagissent, sans interven-
tion humaine, avec le service web selon une procédure prescrite en utilisant les
messages d’un protocole. Les services web peuvent être déployés sur des plate-
formes cloud. Ce type de déploiement occasionne un grand nombre de services à
gérer au niveau de mêmes répertoires soulevant différents problèmes : Comment
gérer efficacement ces services afin de faciliter leur découverte pour une éventuelle
composition. En effet, étant donné un répertoire, comment définir une architecture
voire une structure de données permettant d’optimiser la découverte des services,
leur composition et leur gestion. La découverte de services consiste à trouver un
ou plusieurs services satisfaisant les critères du client. La composition de services
consiste quant à elle à trouver un nombre de services pouvant être exécutés selon
un schéma et satisfaisant les contraintes du client. Comme le nombre de services
augmente sans cesse, la demande pour la conception d’architectures permettant
d’offrir non seulement un service de qualité mais aussi un temps de réponse rapide
pour la découverte, la sélection et la composition, est de plus en plus intense. Ces ar-
chitectures doivent de plus être facilement gérables et maintenables dans le temps.
L’exploration de communautés et de structures d’index corrélée avec l’utilisation de
mesures multi critères pourrait offrir une solution efficace à condition de bien choi-
sir les structures de données, les types de mesures, et les techniques appropriées.
Dans cette thèse, des solutions sont proposées pour la découverte, la sélection de
services et leur composition de telle façon à optimiser la recherche en termes de
temps de réponse et de pertinence des résultats. L’évaluation des performances des
solutions proposées est conduite en utilisant des plateformes de simulations.
Software systems accessible via the web are built using existing and distributed web
services that interact by sending messages. The web service displays its functionalities
through an interface described in a computer-readable format. Other systems interact,
without human intervention, with the web service according to a prescribed procedure
using the messages of a protocol. Web services can be deployed on cloud platforms. This
type of deployment causes a large number of services to be managed at the level of the
same directories raising different problems : How to manage these services effectively
to facilitate their discovery for a possible composition. Indeed, given a directory, how
to define an architecture or even a data structure to optimize the discovery of services,
their composition, and their management. Service discovery involves finding one or
more services that meet the client’s criteria. The service composition consists of finding
many services that can be executed according to a scheme and that satisfy the client’s
constraints. As the number of services is constantly increasing, the demand for the de-
sign of architectures to provide not only quality service but also rapid response time for
discovery, selection, and composition, is getting more intense. These architectures must
also be easily manageable and maintainable over time. The exploration of communities
and index structures correlated with the use of multi-criteria measures could offer an
effective solution provided that the data structures, the types of measures, are chosen
correctly, and the appropriate techniques. In this thesis, solutions are proposed for the
discovery, the selection of services and their composition in such a way as to optimize
the search in terms of response time and the relevance of the results. The performance
evaluation of the proposed solutions is carried out using simulation platforms.