• Aucun résultat trouvé

Conception, implantation et expérimentation d'une architecture en bus pour l'auto-réparation des applications distribuées à base de services web

N/A
N/A
Protected

Academic year: 2021

Partager "Conception, implantation et expérimentation d'une architecture en bus pour l'auto-réparation des applications distribuées à base de services web"

Copied!
163
0
0

Texte intégral

(1)

DOCTORAT DE L'UNIVERSITÉ DE TOULOUSE

ET DE L'UNIVERSITÉ DE SFAX

Délivré par l'Université Toulouse III- Paul Sabatier

et la Fa ulté des S ien es É onomiques et de Gestion - Sfax

Dis ipline : Informatique

Présentée et soutenue par

Riadh BEN HALIMA

LeMer redi17Juin 2009

Con eption, implantation et expérimentation d'une

ar hite ture en bus pour l'auto-réparation des

appli ations distribuées à base de servi es web

JURY

Présidente

Me. Mi helle SIBILLA Professeur à l'Université Paul Sabatier,Toulouse III

Rapporteurs

Me. Lauren e DUCHIEN Professeur àl'Université de Lille

M. Ahmed HADJKACEM Professeur àlaFSEG-Sfax, Tunisie

Examinateurs

Me. Louise TRAVÉ-MASSUYÈS Dire teur de Re her he, LAAS-CNRS

M. ChristopheCHASSOT Professeur àl'INSA de Toulouse

M. MohamedKarim GUENNOUN Professeur Assistant àl'EHTP,Casablan a,Marro

Dire teurs de thèse

M. Khalil DRIRA Chargé de Re her he au LAAS-CNRS

M. MohamedJMAIEL Professeur àl'ENI-Sfax, Tunisie

Laboratoired'Ar hite tureet d'Analysedes

Systèmes

***

UnitédeRe her heenDéveloppementet

Contrled'Appli ationsDistribuées

(2)
(3)

Résumé

Nos travaux de re her he abordent la problématique de l'auto-réparation dans les

appli ationsorientées servi e et plus spé iquement elles basées sur la te hnologie

desservi esweb.Nousnousintéressonsàun ontexteimpliquantdesappli ations

lo-gi ielles onstruitespar ompositiondeservi esweb distribuésetmultipropriétaires.

Notre but est de garantir la abilité et la qualité de servi e (QdS) de es

appli a-tionsàtraversdes te hniquesd'auto-réparation.Siunservi e web (SW) montre des

perturbations ontinues de la qualité oerte pour un problème de traitementou de

ommuni ation, e i est onsidéré omme une dégradation. Il est alors né essaire

de remédier à une telle dégradation en substituant le servi e défaillant par un ou

plusieursautres servi es réalisantdes fon tions équivalentes. Notre re her he vise à

on evoir une ar hite ture qui permet le ontrle, l'analyse des données de la QdS

et la re onguration des appli ations à base de SW en ours d'exé ution. Au une

hypothèse sur la logique interne des servi es n'est né essaire pour l'appli abilité de

notre appro he. Celle- i repose sur des moniteurs apables d'étendre les messages

SOAP, é hangés entre le lient et le fournisseur du servi e, et des onne teurs

a-pables de rediriger les requêtes à destination d'un servi e défaillant vers un autre,

supposé e a e, implantant lamême logique métier.Dans e adre, l'obje tif

prin- ipalest de fournirdes mé anismesnonintrusifsd'observation etde re onguration

an d'éviter le dysfon tionnement qui surviendrait et qui deviendrait per eptible

par les lients. Nous dénissons pour ela un adri iel et des servi es logi iels

ou-vranttoutelabou lede lagestiond'auto-réparationallantdumonitoringdelaQdS

jusqu'aux a tions de re onguration. Nous retrouvons, par onséquent, les quatre

modules prin ipauxsuivants. Enpremier lieu, nous avons le monitoring qui

orres-pondàlasupervisiondel'appli ation.Ilobserveetsto kedesvaleursdesparamètres

de QdS. En deuxième lieu, vient l'analyse. Il s'agit de la phase d'exploitation des

valeurs obtenues par le monitoring permettant de s'assurer du bonfon tionnement

del'appli ationetdeprédireetdéte teruneéventuelledégradationdelaQdS.Cette

déte tionutilise un algorithmebasé sur des fon tions statistiquesetdes ontraintes

temporellesetproduit,le asé héant,desalarmesquivonten len her lediagnosti .

Nous nous intéressons à la surveillan e de l'évolution d'une ara téristique donnée

de QdS plus qu'à ses valeurs absolues. Entroisième lieu, nous trouvons le

(4)

qui orrespond à la re onguration de l'appli ation pour rétablir la QdS.

L'exé u-tiondes a tions de re ongurationest réaliséeà travers des Conne teurs de Liaison

Dynamique qui seront générés, ompiléset déployés automatiquement. Nous avons

élaborédeuxprototypesimplantant esdiérentsmodulessousformedeservi eweb.

Le premier prototype onsidère l'appli ation de revue oopérative, qui est une

o-opérationdeservi eswebgérantles onféren ess ientiques.Ledeuxièmeprototype

représente un as d'étude pour le ommer e éle tronique. Ils'agit d'uneappli ation

(5)

Dédicace

A tous eux qui omptent pour moi...

(6)

Remerciement

C'estave un grandplaisirqueje réserve ettepage ensigne de gratitudeetde

pro-fondere onnaissan e à tous eux qui ontbien voulu apporterl'assistan e né essaire

aubondéroulement de e travail.

Je veux d'abord remer ier mes en adreurs Monsieur Khalil DRIRA et Monsieur

MohamedJMAIELquin'ontépargné au uneortdansl'en adrementde ettethèse

andemepermettrededéerlesentravesren ontréesetdetravaillerave volonté.Ils

ontététoujoursdisponiblespourm'orienteràprendre lesbonnesdé isions. J'espère

être à la hauteur de leur onan e. Qu'ils trouvent dans e travail le fruit de leurs

eorts etl'expression de maprofonde gratitude.

Je tiens à exprimer mon profond respe t et mes vifs remer iements envers les

membres de ejury :MadameMi helleSIBILLA,pour l'honneurqu'elle m'a faiten

a eptant de le présider, Madame Lauren e DUCHIEN etMonsieur Ahmed HADJ

KACEMpourêtrerapporteursetMadameLouiseTRAVÉ-MASSUYÈSetMonsieur

ChristopheCHASSOT pour être examinateursde mon travail.

J'adresseégalement,unremer iementensoleilléàMonsieurMohamedKarim

GUEN-NOUN pour sa bienveillan e,sa fraternité,sa gentillesse. Son soutien onstant m'a

en ouragédurantl'élaborationde ettethèse.J'appré iesesgrandesqualitésmorales

et son extrême modestie. Qu'il trouve dans e travail l'expression de mon profond

respe t etmon innie re onnaissan e.

Je remer ie aussi tous les membres du laboratoire LAAS-Toulouse, ainsi que les

membres de l'unité de re her he REDCAD-Sfax pour l'ambian e haleureuse qui

règneau sein des deux équipeset pour leur bonne humeur.

Mesremer iements vont aussi à Monsieur René PEGORARO,à Monsieur German

SANCHO,àMonsieurIsmailBOUASSIDA,àMadameEmnaFKI,àMonsieur

Mou-rid MARRAKCHI, et à Monsieur Ahmed JMAL qui n'ont jamais hésité à m'orir

(7)

1 Chapitre 1 : État de l'Art et Problématique 9

1.1 Servi es web :historique, on ept et te hnique . . . 9

1.1.1 Introdu tion . . . 9

1.1.2 Objet, omposantet servi e . . . 10

1.1.3 L'Ar hite ture Orientée Servi e (AOS) . . . 11

1.1.4 Servi es web : Dénitionet infrastru ture . . . 12

1.1.4.1 Transport: SOAP . . . 13

1.1.4.2 Dé ouverte : UDDI . . . 14

1.1.4.3 Des ription : WSDL . . . 15

1.1.4.4 Invo ation d'un servi e web . . . 16

1.1.4.5 Apports des servi es web . . . 18

1.1.5 Composition des servi es web . . . 18

1.1.5.1 BPEL . . . 19

1.1.5.2 WS-CDL . . . 19

1.1.5.3 BPML . . . 19

1.1.5.4 BPSS . . . 20

1.1.5.5 WSCL . . . 21

1.2 La Qualitéde Servi e dans lesservi es web . . . 21

1.2.1 Introdu tion . . . 21

1.2.1.1 Modèles de QdS existants . . . 22

1.2.1.2 QdS spé iques . . . 23

1.2.1.3 QdS génériques . . . 24

1.2.2 QdS onsidérées . . . 24

1.2.2.1 Performan e des servi es web . . . 25

1.2.2.2 Monitoring de QdS de pointde vue lient . . . 27

1.2.2.3 Colle tion des mesures des tés lient etfournisseur 28 1.2.3 Te hniques de mesure des QdS. . . 28

(8)

1.2.3.2 Utilisation de l'appro he orientée aspe t . . . 30

1.2.3.3 Modi ation de la bibliothèque du SOAP . . . 30

1.2.3.4 Appro he du proxy . . . 31

1.2.3.5 Appro he basée sur le monitoringde paquets . . . . 31

1.2.3.6 Environnements d'expérimentation . . . 32

1.2.3.7 Synthèse . . . 33

1.3 L'auto-réparation . . . 35

1.3.1 Appro hes existantes d'auto-réparation . . . 35

1.3.1.1 Les appro hes basées Modèle . . . 36

1.3.1.2 Les appro hes basées Middleware . . . 38

1.3.1.3 Les appro hes basées Plate-forme . . . 42

1.3.2 Appro hes existantes de monitoring . . . 46

1.3.3 Appro hes existantes de substitution . . . 48

1.4 La problématique . . . 50

1.4.1 Système d'auto-réparation :Externe vs Interne . . . 50

1.4.2 Niveau de gestionde laQdS : Instan e vs Classe. . . 50

1.4.3 Servi e ible par lagestion de la QdS :Sans-état vs Ave -état 51 1.4.4 Gestion du monitoring et du diagnosti : Lo alvs Global . . . 52

1.4.5 Gestion de la QdS : Pronosti vs Diagnosti . . . 52

1.4.6 Gestion de la QdS : Or hestration vs Chorégraphie . . . 53

1.5 Con lusion . . . 54

2 Chapitre 2 : Un Middleware Auto-Réparable guidé par la QdS (MARQ) 55 2.1 Introdu tion . . . 55

2.2 Appro he Générale . . . 56

2.3 Le Monitoring . . . 57

2.3.1 Algorithmes etmodèles sous-ja ents . . . 57

2.3.1.1 Le monitoring lo aldes ommuni ations syn hrones . 58 2.3.1.2 Le monitoring global des ommuni ations asyn hrones 59 2.3.2 Fon tionnalités etar hite ture de mise en ÷uvre . . . 60

2.3.2.1 L'inter eption niveau SOAP . . . 61

2.3.2.2 L'inter eption niveau HTTP . . . 62

2.4 L'Analyse . . . 63

2.4.1 Algorithmes etmodèles sous-ja ents . . . 63

2.4.2 Fon tionnalités etar hite ture de mise en ÷uvre . . . 67

2.5 Le Diagnosti /Pronosti etla Dé ision . . . 68

(9)

2.5.1.2 Prévention de dégradation : Lemodèle Markovien . 72

2.5.2 Fon tionnalités etar hite ture de mise en ÷uvre . . . 76

2.6 Con lusion . . . 76

3 Chapitre 3 : La Gestion de la Re onguration pour l'Auto-Réparation 77 3.1 Introdu tion . . . 77

3.2 La Re onguration . . . 78

3.2.1 Algorithmes etmodèles sous-ja ents . . . 78

3.2.1.1 L'algorithme de substitution d'un servi e . . . 78

3.2.1.2 L'algorithme de substitution d'une opération . . . . 79

3.2.2 La formalisationde la substitution . . . 82

3.2.2.1 La formalisationde la substitution d'unservi e . . . 83

3.2.2.2 La formalisationde la substitution d'uneopération . 85 3.2.3 Fon tionnalités etar hite ture de mise en ÷uvre . . . 87

3.2.3.1 La re onguration par Conne teur de Liaison Dynamique 87 3.2.3.2 La re onguration par routage adaptatifauniveau HTTP 90 3.2.3.3 Les niveaux de gestion de la QdS : SOAP vs. HTTP 91 3.3 Le proto ole d'é hange entre les omposants de MARQ . . . 91

3.4 Le déploiement des omposants de MARQ . . . 94

3.5 La re her he etla séle tionde servi e de substitution . . . 95

3.6 La on eption de MARQ . . . 96

3.7 Règles de transformationen ar hite ture auto-réparable en bus . . . . 103

3.8 Intégration de l'auto-réparation de niveau lasse etde niveau instan e 105 3.8.1 Intégration passive . . . 105

3.8.1.1 La phase transitoire gérée par SH-BPEL (I1) . . . . 105

3.8.1.2 La phase transitoire gérée par MARQ (I2) . . . 106

3.8.2 Intégration a tive (I3) . . . 107

3.8.3 Illustration . . . 108

3.9 Con lusion . . . 109

4 Chapitre 4 : Expérimentations et Appli ations 111 4.1 Introdu tion . . . 111

4.2 La revue oopérative : Unpro essus de oordinationdistribuée . . . . 112

4.2.1 Des ription du s énario Re her he de onféren es . . . 113

4.2.2 Hypothèses d'implantation . . . 114

4.2.3 Environnement de développement . . . 115

(10)

4.2.3.3 Conguration etpréparatifs de l'expérimentation . . 116

4.2.3.4 Résultats etanalyses . . . 119

4.3 Le FoodShop : Unexemple de haîne de ommandes automatisées . . 123

4.3.1 Hypothèses d'implantation . . . 124

4.3.2 Implantation . . . 125

4.3.3 La réparation . . . 128

4.3.3.1 Le onne teur de re onguration niveau HTTP . . . 128

4.3.3.2 Le onne teur de re onguration niveau SOAP . . . 129

4.4 Con lusion . . . 131

(11)

1.1 Le formatagevisuel d'un messageSOAP . . . 14

1.2 Les étapesd'invo ationd'un servi e web [99℄ . . . 17

1.3 La lassi ationdes attributsde QdS [33℄ . . . 22

1.4 La listedes QdS mesurées . . . 25

1.5 Les diérents niveaux d'inter eption. . . 33

2.1 L'ar hite ture du Middleware Auto-Réparable guidépar laQdS . . . 56

2.2 Le mode de fon tionnementde l'inter eption niveau SOAP . . . 62

2.3 Le mode de fon tionnementde l'inter eption niveau HTTP . . . 62

2.4 Un modèle de hroniquede déte tion de dégradation de QdS . . . . 65

2.5 La propagationde ladégradation de la QdS . . . 70

2.6 La matri eA de transition . . . 73

2.7 Le degré d'appartenan e de lalogique oue . . . 74

2.8 L'estimation du pro hainétat du système ave lesCMC . . . 75

3.1 Les étapesprin ipales du pro essus de génération automatique du CLD 88 3.2 Les opérationsdu Conne teur de Liaison Dynamique . . . 90

3.3 Le uxde messages é hangés entre lesservi es d'auto-réparation . . . 92

3.4 Des exemples de messages SOAP . . . 94

3.5 Diagramme de omposants : L'ar hite ture d'auto-réparation . . . . 96

3.6 Diagramme de omposants : Lemonitoring impliquant deux lients . 97 3.7 Diagramme de Séquen es :Les a tionsde monitoring . . . 97

3.8 Diagramme d'a tivités: Lesa tivités de monitoring . . . 98

3.9 Diagramme de omposants : LeDiagnosti /Pronosti et Dé ision. . . 98

3.10 Diagramme de Séquen es :Les intera tions entre les modules de MARQ 99 3.11 Diagramme de omposants : L'Exé uteur de Re onguration . . . . 100

3.12 Diagramme de omposants : Lagénération de onne teur . . . 101

(12)

3.15 Un bus par un servi e et ses lients . . . 104

3.16 Un bus pour tous lesservi es de l'appli ation. . . 104

3.17 La phase transitoire gérée par leSH-BPEL . . . 106

3.18 La phase transitoire gérée par MARQ . . . 107

3.19 L'intégration a tive entre MARQ et SH-BPEL . . . 107

3.20 L'intégration de MARQ etSH-BPEL illustrée par le FoodShop . . . . 108

4.1 Le Système de Revue Coopérative ave les omposants d'auto-réparation112 4.2 Diagramme de séquen es :Re her he de Conféren es . . . 114

4.3 L'infrastru ture de l'expérimentation . . . 117

4.4 La variation des paramètres de QdS . . . 120

4.5 La sur harge des moniteurs . . . 122

4.6 L'instan iation de MARQ ave l'appli ationdu FoodShop . . . 123

4.7 Le visualisateur graphiqueappliqué au FoodShop . . . 126

4.8 L'historique des onversations . . . 126

4.9 Les opérationsstatistiques . . . 127

4.10 Le reroutage des requêtes. . . 129

4.11 Le prototypede FoodShop . . . 130

(13)

1.1 Le modèle de QdS des servi es web proposé par Arabanet Sterling[5℄ 23

1.2 Le Timer de monitoring . . . 29

1.3 La synthèse des appro hes de mesure . . . 34

1.4 La omparaisondes appro hes d'auto-réparationbasées middleware . 41 1.5 La omparaisondes appro hes d'auto-réparationbasées plate-forme . 44 2.1 Le omportement du MCF envers les ommuni ations syn hrones . . 58

2.2 Le omportement du MCC envers les ommuni ations syn hrones . . 59

2.3 Le omportement du MCC envers les ommuni ations asyn hrones . 59 2.4 Le omportement du MCF envers les ommuni ations asyn hrones . 60 2.5 L'algorithme de déte tion (Moyenne pré- al ulée). . . 66

2.6 L'algorithme de déte tion (Moyenne al ulée au ours de l'exé ution). 67 2.7 L'algorithme de lo alisationde dégradation . . . 69

3.1 L'algorithme de re onguration d'un servi e (1/3) . . . 78

3.2 L'algorithme de re onguration d'un servi e (2/3) . . . 79

3.3 L'algorithme de re onguration d'un servi e (3/3) . . . 80

3.4 L'algorithme de re onguration d'une opération(1/3) . . . 81

3.5 L'algorithme de re onguration d'une opération(2/3) . . . 81

3.6 L'algorithme de re onguration d'une opération(3/3) . . . 81

3.7 Un exemple de grammaire de graphes . . . 83

3.8 GG1 :La substitutionsimple d'un servi e . . . 84

3.9 GG2 :La substitution omposée sans sur harge . . . 84

3.10 GG3 :La substitution omposée selon la disponibilité . . . 85

3.11 GG4 :La substitution omposée ave balan ede harge . . . 86

3.12 GG5 :La substitutionsimple d'une opération . . . 86

3.13 GG6 :La substitutionselon ladisponibilitéde l'opération . . . 86

(14)

3.16 La des ription des messages é hangés entre lesservi es d'auto-réparation 92

3.17 Les ontraintes de déploiementdes omposantsde gestionde laQdS 95

4.1 La ongurationdes n÷udsde laplate-formeGrid'5000 . . . 117

4.2 Tableau ré apitulatifdes valeursissues de l'expérimentation. . . 120

(15)

Edsger W. Dijkstra,

(16)
(17)

Les travaux présentés dans ette thèse se situent dans le ontexte des appli ations

distribuéesàbasedeservi esweb.Unservi ewebestuneentitélogi iellepermettant

la ommuni ationetl'é hangededonnéesentreappli ationsetsystèmeshétérogènes

dans des environnements distribués. Il vise à assurer l'interopérabilité,et e à

tra-vers une présentationstandardiséedes servi esoerts etd'unproto olestandard de

ommuni ationpermettantdestru turerlesmessagesé hangésentreles omposants

logi iels.Il oreaussi une spé i ation de publi ationet de lo alisationde servi es.

Laparti ularitédes servi esweb résidedans lefaitqu'ilsutilisentla te hnologie

In-ternet omme infrastru ture pour la ommuni ation entre les omposants logi iels.

Lesar hite turesorientéesservi e onstituentunparadigmede on eptionetde

réa-lisation appli able aux diérents niveaux d'intera tion d'un système ommuni ant.

Ellessont amenées àjouerun rle de plusen plus importantdansla on eption des

futurs systèmes de ommuni ation etleurs appli ations logi ielles.

Les travaux élaborés dans le adre de ette thèse visent à soutenir l'exé ution des

servi es web auto-réparables, guidée par la Qualité de Servi e (QdS). La

problé-matique traitée on erne l'observation et l'analyse de la QdS, et l'implantation de

l'auto-réparation au ours de l'exé ution des appli ations oopératives distribuées.

Cette problématique onstitue un enjeu et un dé s ientique important dans la

mesureoùlaréparationautomatique d'uneappli ationestdevenue impérativedans

un ontexte d'autonomie de systèmes fortement distribués et ontenant un large

nombre de servi es [53℄. Dans e ontexte, notre obje tif est d'orir un adre

logi- iel de plus en plus autonome et qui s'adapte aux diérents prols et besoins des

lients. Ces besoins peuvent être exprimés dans des ontrats de niveau de servi e

(Servi eLevel Agreement, SLA)spé iques tels queave WSLA [52℄et WSOL[97℄.

Cependant, l'existen e des SLAs prédéterminés n'est pas appli ablepour toutes les

(18)

QdS, omme le temps d'exé ution et le temps de réponse, et les ompare au ours

de l'exé ution ave les valeurs obtenues des observations passées. Les a tions de

re onguration sont mises en ÷uvre à travers des entités intermédiaires entre les

lients et les fournisseurs des servi es web, telles que les médiateurs dans [100℄, et

les ommunautés dans [91℄. Dans e as, l'ajout d'un servi e de substitution à la

listedes servi eséquivalents,né essite uneintervention minimale.Cependant,notre

appro he prendlades riptionWSDLduservi e substituant ommeparamètre

d'en-tréeet établitautomatiquementla liaisonave e derniergrâ eà un Conne teurde

Liaison Dynamique.

LaQdS est dé rite par les paramètresstandards représentant lestemps de

ommu-ni ationet de traitement,ainsi qued'autres paramètres plus spé iques tels que la

disponibilité et la s alabilité. L'observation de la QdS né essite le monitoring

et l'analyse des messages SOAP é hangés. Nous l'avons réalisé au niveau

ommu-ni ationde façon générique indépendamment de la logique métier des servi es web

observés, et sans hypothèse de modi ation du ode de l'appelant et de l'appelé.

Ce i est mis en ÷uvre à travers le marquage et l'extension des messages é hangés

pardes métadonnéesdé rivantlaQdS.Lesservi esweb ommuniquentparé hange

de messages suivant deux types d'intera tion, à savoir les intera tions syn hrones

(requête-réponse) et les intera tions asyn hrones (requête). Dans le premier mode

de ommuni ation, l'appelant est bloqué jusqu'au retour du résultat de sa requête.

En revan he, dans le deuxième mode de ommuni ation, les requêtes et leurs

ré-ponses (sous forme de requêtes) sont é hangées de façon symétrique sans blo age

de l'appelant.Dans e as, le al ul de la QdS exploite des données de orrélation,

MessageId etRelatedTo,danslesentêtesdesmessagesSOAPindiquantl'asso iation

entres les deux messages de type requête. Des moniteurs sont mis en pratique de

deux façons diérentes. Le premier type de moniteur (niveau SOAP) est implanté

en exploitant et étendant la te hnique d'inter eption oerte par les onteneurs de

déploiementdesservi esweb. Cesmoniteursserestreignentàlagestiondes

ommu-ni ationssyn hronesvuqu'ilsne retiennentpas lesdonnées de orrélationauniveau

du onne teur de re onguration. En résultat, les données re ueillies à partir des

moniteurs SOAP limitent le pro essus d'auto-réparation au niveau des gestions

lo- alesdumonitoringetdu diagnosti .Pourpallier esdéfauts,nousavons élaboréun

deuxièmetypede moniteur niveau HTTP.Ce moniteur ne manipulepas le ontenu

du message SOAP mais uniquement l'enveloppe HTTP englobante. Ce i permet la

gestion des ommuni ations asyn hrones en plus des ommuni ations syn hrones.

(19)

stru ture d'intera tion (prol) entre les diérents servi es web impliqués dans

l'ap-pli ation.Ce prolenri hitnos onnaissan es sur lesindépendan es stru turellesde

l'appli ationet permet,par lasuite, un monitoring global des QdS.

L'étapesuivanteestladéte tiondesdégradationsdelaQdS.Ellerepose surles

don-nées olle tées de l'étapede monitoring.Deux appro hes ont été expérimentées. La

première appro he est dis rète. Elle utilise les hroniques et lesvaleurs statistiques

pour la déte tion de dégradation en se fo alisant sur l'évolution du omportement

duservi etout enévitantla onsidérationdes violationstransitoires.Une hronique

dénitunensembled'événementsliéspardes ontraintestemporelles.Unévénement

(nomméaussiviolation), orrespondàladéte tiond'unevaleurde QdSmesuréequi

dépasse un seuil al ulé statistiquement en fon tion des valeurs de QdS déjà

sto- kées. La su ession non ontrlée de es violations entraîne l'évolution du système

vers l'état de dégradation. Le dé len hement d'alarmes par la hronique, signale la

présen e de violations. La deuxième appro he est analytique. Elle se base sur les

haînesde Markov a hées pour prévenir des dégradationsimminentes. Enplus de

es deux appro hes, lediagnosti ombine lesQdS pour identier l'originede la

dé-gradationetéliminelephénomènede propagationdedégradationquipeut onduire

àdes a tions de re ongurationinutiles.

Suiteàun dé len hementd'alarmes,une opérationde re ongurationintervientpar

des a tions de substitution élémentaires an de permettre d'établir une meilleure

QdS.Un adre on eptueldebus deservi edynamiquementre ongurableaété

dé-ni. Nousl'appelons dans la suite : Middleware Auto-Réparable guidé par la QdS

(MARQ). Il intègre des Conne teurs de Liaison Dynamiques omme éléments lés

pour leroutage des requêtes vers diérents fournisseurs de servi es web. Diérents

niveaux de re onguration sont possibles (opération, servi e, groupe de servi es).

Le middleware MARQ gère la réi ation entre plusieurs servi es web sans états

quiimplantent lamême logique métier.Deux te hniques ont été élaborées. La

pre-mière s'ee tue au niveau SOAP. Son déploiement est adaptable aux diérentes

ontraintes d'a essibilité et de ressour es du té lient ou du té fournisseur du

servi e web. Cette te hnique a été illustrée ave une appli ation horéographée à

travers des expérimentations à grande é helle sur la plate-forme Grid'5000, et une

appli ation or hestrée ave BPEL. La deuxième te hnique agit au niveau HTTP.

Elleest implantée omme un proxy HTTP qui intègre des omposantsde

modi a-tion des adresses de routage. Cette te hnique a été illustrée ave une or hestration

(20)

La première expérimentation menée sur la plate-forme Grid'5000, a prouvé que

la harge de nos moniteurs reste quasiment nulle (

≃ 0s

) tant que le nombre des

lientssimultanésne dépasse pas50,etraisonnablejusqu'à500 lients(

≤ 0, 5s

).La

deuxième expérimentation a validé ave su ès le monitoring des ommuni ations

syn hronesetasyn hrones,lepro essusdedéte tiondedégradationainsiquelamise

en ÷uvre des onne teurs de re onguration.

Lerapportse ompose de quatre hapitres :

Dans le premier hapitre, nous ommençons par introduire les notions de servi e

web etl'ar hite ture orientéeservi e. Ensuite,nous passonsen revuelesmodèles de

QdSexistants,enprésentant eux adoptésparnotretravailainsi quel'ensembledes

te hniquesutiliséesdanslalittératurepourlesmesurer.Parlasuite,unesynthèsedes

travauxportantsurl'auto-réparationestprésentée.Nousavons lassiélesappro hes

existantesentroisprin ipales atégories,àsavoir ellesorientéesmodèle,middleware

et plate-forme. La dernière partie aborde les problématiques onfrontées tout au

long de e travail, telles que les propriétés des systèmes d'auto-réparation (interne

vsexterne), lesservi es web iblés par lare onguration (sansétat vs ave état), le

niveau de gestionde laQdS (lo alvs global), et .

Nousintroduisons,dans ledeuxième hapitre,notremiddleware MARQ sous forme

d'unmiddlewareauto-réparableguidéparlaQdSpourlesservi esweb.Nous

présen-tonslesfon tionnalitésoertesparle y led'auto-réparation,partantdumonitoring

jusqu'auxa tionsde re onguration.Nous ommençonspardétaillerlesalgorithmes

et les fon tionnalités oertes pour la gestion lo ale et globale du monitoring. Une

omparaison entre les deux niveaux de mise en ÷uvre des moniteurs (SOAP et

HTTP) est réalisée. Par la suite, nous expliquons les modèles de déte tion utilisés.

La partie suivante traite la manière dont le diagnosti intervient pour identier la

sour edeladégradationetéliminerl'eetlapropagationdedégradation.Ladernière

partieest onsa rée aupronosti à travers les haînesde Markov a hées.

Letroisième hapitre présente l'ar hite ture en bus re ongurable implantée par le

middleware MARQ. Il met l'a ent sur l'étape de réparation. Dans e hapitre, la

re onguration est présentée sous forme d'algorithmes et puis formalisée à travers

lesmodèlesdegraphesd'ar hite ture.Leranementd'unea tiondere onguration

varie delasubstitution totaledu servi eweb à lasubstitutiond'uneouplusieursde

sesopérations.Ensuite,nousprésentons leproto oled'é hangeentre les omposants

(21)

de niveau instan e (représentée par SH-BPEL).

La validation des résultats d'expérimentation fera l'objet du quatrième hapitre.

Nousavons illustrénotre appro he par deux appli ationsorientées servi e : un

sys-tèmederevue oopérative,implantépar une olle tionde servi es horéographés, et

une appli ationde ommer e éle tronique (FoodShop)implantée par une

or hestra-tion de servi es. Une expérimentation à large é helle sur la plate-forme Grid'5000

est menée pour mesurer la performan e et vérier la harge de nos moniteurs. Les

détails de la mise en ÷uvre des expérimentations sur l'environnement Grid'5000

sont présentés et les résultats sont analysés. Ave l'appli ation du FoodShop, nous

avons développé une interfa e de visualisation graphique de la gestion de la QdS.

Cemodule permetausside re onstruirelesintera tions entrelesservi es web

impli-quésdans l'appli ationetdepronostiquer l'étatdetouteslesopérationsdesservi es

(22)
(23)

1

Chapitre 1 : État de l'Art et

Problématique

1.1 Servi es web : historique, on ept et te hnique

1.1.1 Introdu tion

Lesappli ationslogi iellesd'entreprises deviennentdeplusenplusdistribuées,

om-plexeset oûteusesen eorts de gestion.Parallèlement,l'espéran edevie de es

ap-pli ationsne essed'êtreremiseenquestionparledynamismequi ara térise,denos

jours, lemonde de l'entreprise. Pour remédier à es insusan es, ilfaut développer

de nouveaux on epts te hnologiques ontribuant audéveloppement d'appli ations

plusétenduesetplus omplexessurun mar hé enmutation onstante. C'estdans e

ontexte que se situent les ar hite tures distribuées, partant de elles à 2niveaux,

passant par elles à 3niveaux et aboutissant à elles à Nniveaux, et dont les

ob-je tifssont les suivants :

(24)

 La favorisation de laréutilisation des omposantslogi iels;

 L'augmentation de l'exigen e non-fon tionnelle;

 La garantie de l'évolutivité fon tionnelle et te hnique du système (i.e. préserver

une ertaine indépendan e du système vis-à-vis des évolutions te hniques

poten-tielles de ha unde ses éléments).

1.1.2 Objet, omposant et servi e

L'évolutiondes langages de programmationa amenéde nouveaux outilsaidantà la

on eptualisationdes problèmes en informatique.En eet, l'avènement de l'orienté

objet a fa ilité l'abstra tion du problème à résoudre en fon tion des données du

problème lui même(par l'utilisationde lasses et d'objets). L'apparition de la

pro-grammationorientéeobjetaaussidonnélieuàde nouvelleste hnologiesde

distribu-tion des appli ations [105℄ telles que RMI (Remote Method Invo ation) etCORBA

(CommonObje t RequestBrokerAr hite ture). RMI,middlewarede Sun 1

, assurela

portabilité de l'exé ution grâ e à la ma hine virtuelle Java. CORBA, ar hite ture

et norme d'OMG (Obje t Management Group), est indépendante des plate-formes

grâ eau proto ole de ommuni ation IIOP (InternetInter-ORB Proto ol).

L'obje tifprin ipaldes modèlesobjet estd'améliorerlamodélisationd'une

appli a-tion,etd'optimiserlaréutilisationdu ode produit.Cependant,l'intégration

d'enti-tés logi iellesexistantes peut s'avérer di ilesi leur modèle d'exé ution est

in om-patible ave le modèle imposé par le langage objet hoisi pour le développement

de nouvelles entités. Par ailleurs,les modèles et les langages objets ne sont pas, en

général,adaptés àla des ription des s hémas de oordination etde ommuni ation

omplexes[64℄.

Pourpallierlesdéfautsdel'appro heobjet,l'appro he omposantestapparue.Cette

appro he est fondée sur des te hniques et des langages de onstru tion des

appli- ations qui intègrent, d'une manière homogène, des entités logi iellesprovenant de

diverses sour es. Un omposant est une boite noire, ommuni antave l'extérieur à

travers uneinterfa edédiée,permettantlagestiondudéploiement,de lapersistan e,

et [67℄. En plus du on ept d'objet, le omposant se ara térise par la notion de

déploiement, qui gère son y le de vie de l'installation à l'instan iation. Cette

no-tionpermetauxdéveloppeurs de sefo alisersur lalogique métierdu omposant,et

délègue la gestion des propriétés non-fon tionnelles à l'environnement d'exé ution

l'hébergeant.L'enjeu est de fa iliterlaprodu tionde logi ielsables,maintenables,

(25)

évolutifs et toujours plus omplexes. L'un des maîtres mots est la réutilisation par

la disponibilité d'ingrédients logi iels, fa ilement omposables et adaptables. Les

te hnologies EJB (Enterprise JavaBeans)et CCM (Corba Component Model) sont

les te hnologies les plus onnues de l'ar hite ture de omposants logi iels pour la

plate-formeJ2EE(Java 2 Enterprise Edition)[105℄.

Ladistributionde omposantsfaitnaîtredenouvellesdi ultésqu'il onvientde

gé-rere a ement ande préserverlasouplesse etde garantirl'évolutivitédu système

d'information. D'une part, l'interdépendan e de omposants distribués diminue la

maintenabilitéetl'évolutivité du système. Ainsi,onperçoit que,pour préserver son

e a ité, une ar hite ture distribuée doit minimiser l'interdépendan e entre

ha- un de ses omposants qui risque de provoquer des dysfon tionnements en as ade

dontil estsouvent omplexede déte terla ause etdedéterminer pré isément

l'ori-gine.D'autrepart,lapréservationdelaqualitéde servi edusystème d'information,

dans le adre d'ar hite tures distribuées, est une lourde tâ he, souvent omplexe,

en parti ulier lorsque les omposants te hniques de l'ar hite ture sont hétérogènes

et qu'ils exploitent de multiples produits et standards. Ces di ultés imposent la

né essitéd'unear hite tureplus exibleoùles omposantssontréellement

indépen-dants et autonomes, le tout permettant de déployer plus rapidement de nouvelles

appli ations.D'où l'apparitionde l'ar hite ture orientée servi e [67℄.

1.1.3 L'Ar hite ture Orientée Servi e (AOS)

L'AOS est une appro he ar hite turale permettant la réation des systèmes basés

sur une olle tion de servi es développés dans diérents langages de

programma-tion, hébergés sur diérentes plate-formes ave divers modèles de sé urité et

pro- essus métier [49℄. Chaque servi e représente une unité autonome de traitement et

degestion de données, ommuniquantave son environnementà l'aidede messages.

Les é hanges de messages sont organisés sous forme de ontrats d'é hange. L'idée

maîtresse de l'ar hite ture orientée servi e est que tout élément du système

d'in-formation doit devenir un servi e identiable, do umenté, able, indépendant des

autres servi es, a essible, et réalisant un ensemble de tâ hes parfaitement dénies

[15℄.L'AOSest axée autourde trois on epts fondamentaux, àsavoir,lefournisseur

de servi es, le lient de servi es, et l'annuaire de publi ation [48℄. Le fournisseur

permet l'a ès à son servi e à travers une interfa e. Le lient désigne une interfa e

(26)

le lient. Les fournisseurs y enregistrent leurs servi es, et les lients y her hent le

servi e satisfaisant leurs besoins.

L'AOS présente plusieurs avantages bénéques pour le domaine de la te hnologie

d'information et de ommuni ation. Elle se ara térise par la simpli ité à travers

les on epts de dé omposition, de dé ouplage et de réutilisation [102℄. En plus, elle

parti ipe à la rédu tion du oût de développement des grands projets et rend le

développement plus e a e.

L'ar hite ture orientée servi e est apparue pour palier les limites des ar hite tures

distribuées.Cettear hite turen'estpas simplementune mode.Ellesepla e,plutt,

dansla ontinuité logiquedes multiplestentativesde distributiondetraitements,de

répartition de données, d'intégration d'appli ations, d'homogénéisationdu système

d'information,et . L'adoption de l'AOS a été énormément fa ilitéepar l'émergen e

opportune de la te hnologiedes servi es web etleurs standards bien dénis.

Late hnologiedesservi es webreprésentelate hnologielaplusutiliséepour migrer

vers e type d'ar hite tures.

1.1.4 Servi es web : Dénition et infrastru ture

Selon Justin et al.[48℄ : Un servi e web est une agrégation de fon tionnalités

pu-bliées pour être utilisées. Il utilise Internet omme onduit pour réaliser une tâ he.

Il est semblable à un pro essus métier virtuel qui dénit des intera tions au niveau

appli ation.

Selon W3C 2

: Un servi e web est un système logi iel onçu pour supporter les

in-tera tions entre appli ations à travers le réseau. Les servi es web orent un moyen

standard d'interopérabilité entre diérentes appli ations qui s'exé utent sur une

va-riétéde ma hines/plate-formes.Ils sont ara térisés par leur grande interopérabilité

et extensibilité, ainsi qu'une des ription interprétable/ ompréhensible

automatique-ment par lama hinegrâ e au standard XML. Ilspeuvent être ombinés d'unefaçon

faiblement oupléeande réaliserdesopérations omplexes.Les programmesorant

des servi es simples, peuvent interagir ensemble an demettre en pla e des servi es

sophistiquésave des valeurs ajoutées.

Lesservi eswebsontdes omplémentsauxprogrammesetappli ationsexistants,

dé-veloppésdansdiérentslangagesde programmation,etserventdepontpourque es

(27)

programmes ommuniquententreeux[10℄.Ainsi,lesservi eswebpermettent

d'inter-fa erdes systèmes d'information hétérogènes. Ces derniers présentent les avantages

suivants:

 Un faible ouplage ave leste hnologiesemployées en interne;

 Une grandeexibilité de mise à jour des systèmes employésde part etd'autre;

 L'emploi de proto oles réseaux simples, répandus et béné iant d'implantations

dans toutes leste hnologies majeures.

Les servi es oerts par l'infrastru ture des servi es web ouvrent essentiellement

deux aspe ts fondamentaux [27℄ :

 Un servi e de ommuni ation qui permet l'é hange de données entre les servi es

web;

 Un ensemble de servi es te hniques destinés àautomatiser le pro essus de

lo ali-sation etd'invo ation des omposants.

L'originalitéde l'infrastru ture des servi es web onsisteà lesmettreen pla een se

basantex lusivementsur lesproto oles lesplus répandus d'Internettels que HTTP

(HyperText Transfer Proto ol) et les formats standards d'é hange de données tels

queMIME (Multipurpose InternetMail Extensions), XML, et .

L'infrastru turedesservi eswebs'est on rétiséeautourdetroisspé i ations

onsi-dérées ommedesstandards,àsavoirSOAP,UDDIetWSDL[20℄.Nouslesdétaillons

dans lesparties suivantes.

1.1.4.1 Transport : SOAP

Simple Obje t A essProto ol appeléégalementServi e Oriented A essProto ol 3

SOAP est leproto ole quiassurel'é hangede messages danslesAOSs.Du faitqu'il

est basé sur XML, il permetl'é hange de données stru turéesindépendamment des

langagesde programmationoudessystèmesd'exploitation.SOAPpermetl'é hange

d'informations dans un environnement dé entralisé et distribué, omme Internet,

indépendamment du ontenu du message. Il peut être employé dans tous les styles

de ommuni ation:syn hronesouasyn hrones,pointàpointoumulti-points.SOAP

utiliseprin ipalement lesdeux standards HTTP et XML :

 HTTP estun proto ole detransportdes messagesSOAP.Il onstitue,d'unepart,

un moyen e a e de transportet d'autrepart, il est très utilisé sur le web.

 XMLest unlangageutilisépour stru turerlesrequêtesetlesréponses etindiquer

3

(28)

les paramètres des méthodes, les valeurs de retour, et les éventuelles erreurs de

traitement.

Contrairement aux autres proto oles, IIOP pour CORBA, ORPC (Obje t RPC)

pour DCOM, ou JRMP (Java Remote Method Proto ol) pour RMI, qui sont des

proto oles binaires [31℄, SOAP se base sur XML pour en oder les données. Les

messages é hangésvia e proto ole jouissentdon des avantages queleur pro ure le

langageXML pour stru turer lesdonnées.

<?xml version="1.0" encoding="UTF-8" ?>

-

<

soapenv:Envelope

xmlns:soapenv

="

http://schemas.xmlsoap.org/soap/envelope/

"

xmlns:xsd

="

http://www.w3.org/2001/XMLSchema

"

xmlns:xsi

="

http://www.w3.org/2001/XMLSchema-instance

">

-

<

soapenv:

Header/

>

-

<

soapenv:Body

>

-

<

Addition

xmlns

="

http://doc

">

<

a

>

4

</

a

>

<

b

>

7

</

b

>

</

Addition

>

</

soapenv:Body

>

</

soapenv:Envelope

>

Fig. 1.1 Le formatagevisueld'un message SOAP

Lagure 1.1illustreun exemplede messageSOAPrequêted'unservi e web qui

ad-ditionnedeux entiers. Lemessage est englobédans une enveloppe etdiviséen deux

parties : l'entête et le orps. L'entête (Header) ore des mé anismes exibles pour

étendre un message SOAP sans au une préalable onnaissan e des parties

ommu-ni antes. Les extensions peuvent ontenir des informations on ernant

l'authenti- ation,la gestiondes transa tions, le payement, et [41℄.

Le orps(Body)oreun mé anismesimple d'é hangedes informationsmandataires

destinées aure eveur du message SOAP. Cette partie ontient les paramètres

fon -tionnels tels que le nom de l'opération à invoquer, les paramètres d'entrée et de

sortieou des rapports d'erreur [41℄.

1.1.4.2 Dé ouverte : UDDI

UniversalDes ription, Dis overy and Integration 4

UDDI est une norme d'annuaire de servi es web appelée via le proto ole SOAP.

4

(29)

Pour publier un nouveau servi e web, il faut générer un do ument appelé Business

Registry.IlseraenregistrésurunUDDIBusinessRegistryNode.LeBusinessRegistry

omprendtrois parties[98℄ :

 Pagesblan hes:noms,adresses, onta ts,identiantsdesentreprises enregistrées;

 Pages jaunes:informationspermettantde lasserlesentreprises, notamment

l'a -tivité,la lo alisation,et ;

 Pages vertes :informationste hniques sur lesservi es proposés.

Leproto ole d'utilisationde l'UDDI ontient trois fon tions de base :

 publish pour enregistrer un nouveau servi e;

 nd pour interroger l'annuaire;

 bind pour ee tuerla onnexionentre l'appli ation lienteet leservi e.

Commepourla erti ation,ilest possiblede onstituerdesannuairesUDDIprivés,

dont l'usage sera limité àl'intérieur de l'entreprise.

1.1.4.3 Des ription : WSDL

Web Servi es Des riptionLanguage 5

WSDL, basé sur XML, permet de dé rirele servi e web, en pré isant les méthodes

disponibles, lesformats des messages d'entrée etde sortie, et omment y a éder.

L'élémentra ine d'unedes ription WSDL est une dénition.Chaque do ument

dé-nit un servi e omme une olle tion de points naux ou ports. Chaque port est

asso ié à un ratta hement spé ique qui dénit la manière ave laquelle les

mes-sages seront é hangés. Chaque ratta hement établit une orrespondan e entre un

proto ole et un type de port. Un type de port se ompose d'une ouplusieurs

opéra-tionsquireprésententunedénitionabstraitedes apa itésfon tionnellesduservi e.

Chaqueopération est dénie en fon tion des messages é hangés au ours de son

in-vo ation. La stru ture du message est dénie par des éléments XML asso iés à un

s héma de typespé ique.

Ainsi,undo umentWSDLutiliselesélémentssuivantspourladénitiondesservi es

[24℄ :

 Types : qui dénissentdes typesde données é hangées;

 Message : qui dénit d'unemanière abstraitedes données transmises;

 Operation :quidé ritd'unemanièreabstraitelesa tionssupportéesparleservi e;

5

(30)

 Port Type (appeléInterfa e depuisWSDL2.0) :quireprésenteunensemble

d'opé-rations orrespondant ha une àun messageentrant ousortant;

 Binding (Ratta hement) : qui est un proto ole de ommuni ation et un format

des données é hangées pour un port;

 Port :qui est une adressed'a ès auservi e;

 Servi e : qui regroupeun ensemble de ports.

1.1.4.4 Invo ation d'un servi e web

Lepro essusd'invo ation d'unservi e web est similaireà elui de touteappli ation

distribuéeutilisantlate hnologieCORBAouRMI. Les étapes lesplusimportantes

de l'invo ation d'unservi e web sont lessuivantes (voir gure1.2) :

1. Le fournisseur de servi e se harge de l'enregistrement et de la publi ation des

servi esauprèsd'un serveur UDDI. Cetteopérationsefait parl'envoid'un message

(en apsulé dans une enveloppe SOAP) à l'annuaire UDDI. Ce message ontient la

lo alisation du servi e, la méthode d'invo ation (et les paramètres asso iés) ainsi

queleformat de réponse. Toutes es informationsserontformalisées,par lasuite, à

l'aidede WSDL.

2.Un utilisateur désirant onsulter un servi e interroge, en premier lieu, le serveur

UDDI dontil possède l'adresse an de onnaître les servi es disponibles

orrespon-dant àses besoins. Leserveur luiretourne la listedes possibilitésparmilesquelles il

séle tionneune.A e stade,l'utilisateurne possèdequ'une URL(Uniform Resour e

Lo ator) identiant leservi e séle tionné.

3. L'utilisateur ré upère ensuite une interfa e WSDL, a essible depuis l'URL, et

qui lui permet de savoir omment utiliser le servi e. A partir de ette interfa e, il

génèreautomatiquement le proxydu servi e. Il s'agit d'un objet lo aldisposant

des mêmesfon tionsque leservi e distant etquipermettraà l'utilisateurd'a éder

au servi e distant en toute transparen e. Le proxyest réé grâ e à un outil et

peut être généré dans un grand nombre de langages de programmation diérents.

L'utilisationdu servi ese faitsimplementen invoquantlaméthode du proxyqui

orrespond aux besoins de l'utilisateur.

4.Leproxyreprésentel'appeldelaméthodedistantesousformed'unerequêteSOAP

dans laquelle seront in lus les paramètres fournis par l'utilisateur. Ces paramètres

(31)

1. Enregistrer et

publier des services

3. Récupérer une

interface WSDL

2. Interroger

4.

Envoyer la requête

6. Envoyer la réponse

5. Recevoir et

traiter la requête

Consommateur du service

Utilisateur

Proxy

Fournisseur du service

Module métier

Stub

WSDL

WSDL

WSDL

Serveur UDDI

Invocation

MonServiceWeb.x.y.z

Fig. 1.2 Les étapes d'invo ationd'un servi e web [99℄

vers l'URLdésignant le servi e web.

5. Sur la ma hine hébergeant le servi e, la requête est reçue puis ouverte par la

sou he serveur (stub).

6. Une fois la requête est omprise, une réponse SOAP est formulée puis émise en

dire tion de l'expéditeur initial.

A tuellement, SOAP, WSDL et UDDI sont lestrois standards qui onstituent

l'ar- hite turedesservi esweb.Ilexisteplusieursenvironnementsquienglobent estrois

standardsetquisupportent, parlasuite,l'implantationdesservi es web. Parmi es

derniers, nous pouvons iter :

 Axis et leserveur Tom at (http ://ws.apa he.org/axis/);

 ServeursHTTP IIS deMi rosoft ave leframework.NET(http ://www.iis.net/);

 Ora leWebLogi deBEAetOra le(http

://www.ora le. om/appserver/weblogi /weblogi -suite.html);

 WebSphere d'IBM (http ://www-01.ibm. om/software/websphere/);

(32)

1.1.4.5 Apports des servi es web

L'utilisationdes servi es web engendre plusieursavantages dont nouspouvons iter

[10℄ :

 L'interopérabilité: 'estla apa itédesservi eswebd'interagirave d'autres

om-posanteslogi iellesviades élémentsXMLenutilisantdesproto olesdel'Internet.

 Lasimpli ité:lesservi es webréduisentla omplexitédesbran hementsentre les

parti ipants. Cela se fait en ne réant la fon tionnalité qu'une seule fois plutt

qu'en obligeanttouslesfournisseursàreproduirelamêmefon tionnalitéà ha un

des lients selon leproto olde ommuni ation supporté.

 Une omposante logi ielle légèrement ouplée : l'ar hite ture modulaire des

ser-vi es web, ombinée aufaible ouplage des interfa es asso iées [9℄, permet

l'utili-sation et la réutilisation de servi es qui peuvent être re ombinés fa ilement dans

d'autres appli ations.

 L'hétérogénéité:lesservi eswebpermettentd'ignorerl'hétérogénéitéentreles

dif-férentes appli ations.Eneet, ilsdé rivent lamanièrede transmettreun message

(standardisé) entre deux appli ations, sans imposer la façonde le onstruire.

 L'auto-des riptivité : les servi es web ont la parti ularité d'être auto-des riptifs,

'est à dire, ils sont apables de fournir des informations permettant de

om-prendre la manière de les manipuler. La apa ité des servi es à s'auto-dé rire

permet d'envisager l'automatisationde l'intégration des servi es.

1.1.5 Composition des servi es web

Généralement,unservi eweb uniquenesatisfaitpasauxbesoinsdesutilisateursqui

sont, de plus en plus, omplexes. Pour fournir une solution à une tâ he omplexe,

onpeut ombiner des servi es web pour n'en former qu'un seul; on parle, alors, de

omposition de servi es web. La omposition peut être élaborée soitd'une façonad

ho , soit en utilisant un langage dédié. Pour la première, il s'agit d'un assemblage

de plusieurs servi es web, dont les intera tions sont odées manuellement par le

développeur.Cedernierprenden hargel'organisationdudéroulementdespro essus

(33)

1.1.5.1 BPEL

Business Pro ess Exe ution Language 6

Initialement onnu sous le nom de BPEL4WS, renommé par la suite WS-BPEL,

ettespé i ation est plus onnue sous le nom de BPEL [4℄. Ce dernier asu édé à

XLANG (de Mi rosoft) et WSFL (d'IBM) omme un standard de spé i ation des

ux entre lesservi es web. Il s'agit d'un langage d'exé ution des pro essus métiers

qui permet la omposition d'un ensemble de servi es web, et spé ie les règles de

dialogueentreeux.Ildénitunproto oled'intera tiondesservi esweb(ensebasant

sur leurs WSDL) tout en spé iant l'ordre d'invo ation des opérations. Le pro ess

exé utable ressemble à une des ription d'un adre de travail représentée par des

a tivitésbasiquesetstru turellesspé iantun modèled'exé ution desservi es web.

Le do ument BPEL agit sur des éléments omme la transformation de données,

l'envoide messagesoul'appeld'opérations.Unpro essusBPELpeutêtrevu omme

un servi e web autonome etson interfa e peut être représentée en utilisant WSDL.

BPEL est supporté par de nombreux éditeurs de logi iel omme Adobe, BEA

Sys-tems,HP, IBM,Ora le, JBoss, Sun, Tib o, Webmethods etMi rosoft.

1.1.5.2 WS-CDL

Web Servi esChoreography Des riptionLanguage 7

Développé par le groupe de travail Choreography de W3C, WS-CDL [51℄ dé rit

le proto ole métier de omposition selon un point de vue globale. La des ription

est implantée par un pro essus distribuéindividuel sans ontrle entral[19℄. Tout

omme BPEL, il dé rit les relations entre servi es omposites mais, ontrairement

à BPEL, qui entralise le ontrle (or hestration), WS-Choreography s'intéresse à

une des ription distribuée des messages é hangés entre les partenaires.

1.1.5.3 BPML

Business Pro ess Modeling Language 8

6

ProposéparBEASystems,IBM,Mi rosoft,SAPetSiebelSystemsen2002,etstandardisépar

OASISen2007

7

ProposéparOra le,Commer eOne,Novell,Choreology,W3CetAdobeSystemsIn orporated

en2005

(34)

C'estun méta-langagede modélisation[95℄ des pro essus métiersdontlespremières

spé i ationssontapparuesauprintemps2001[8℄.BPMLfournitunmodèleabstrait

etune grammaire pour exprimer des pro essus métiers abstraitset exé utables. En

utilisantBPML, lespro essusd'entreprise,lesservi esweb omplexesetles

ollabo-rations multi-partenaires peuvent être dénis et dirigés par des ompositions

d'a -tivités qui exé utent des fon tions spé iques. Un pro essus BPML peut être une

partied'une omposition.Chaquea tivitédanslepro essuspossèdeun ontextequi

dénit les omportements ommuns et les a tivités s'exé utant dans tel ontexte.

Ainsi,un pro essus peut être déni omme un type d'a tivité omplexe qui dé lare

sonpropre ontexte d'exé ution. Laspé i ation BPML dénitdix-septtypes

d'a -tivitéet trois types de pro essus. Lades ription WSDL d'un servi e web peut être

importée ou référen ée dans une spé i ation BPML. Une standardisation des

do- umentsBPML estproposéeen utilisantRDFpourlasémantiquedes métadonnées,

desmétadonnéesXHTMLetDublinCore 9

pouraméliorerlalisibilitéetletraitement

de l'appli ation.

1.1.5.4 BPSS

Business Pro ess Spe i ation S hema 10

ebXML est un standard éle tronique basé sur XML qui permet aux entreprises de

seretrouveret d'a omplir des aaires en utilisantdes messages bien dénis et des

pro essus métiers standards [92℄. Le s héma de spé i ation de pro essus métiers

d'ebXML(BPSS) estune représentationdes modèlesde ollaborationdespro essus

métiers éle troniques. En utilisant la syntaxe de XML, les parties impliquées dans

une ollaboration peuvent être modélisées et être d'a ord sur le pro essus métier

pertinent.LestandardBPSSd'ebXMLpeut êtreutilisépour ongurerlessystèmes

métiers an de soutenir la ollaboration ommer iale. Ainsi, ette spé i ation

dé-terminel'é hange en ours (représenté par des modèles graphiques) des do uments

et des signaux métiers entre les partenaires. Une bibliothèque de modèles de

pro- essuspeut être rééeen utilisantlesdénitions de BPSS.Chaquemodèlepermet à

l'utilisateurl'extra tiondesinformationsduBPSS orrespondantetla onguration

deson système au ours de l'exé ution.Cependant,iln'yapas un supportexpli ite

dedes ription desuxde données durantlestransa tions.Maisilexisteun support

pour la spé i ation de la sémantique de laqualité de servi e pour lestransa tions

9

DublinCoreestunmodèleàbased'unensembledequinzepropriétésutiliséespourla

des rip-tiondesressour es

(35)

tellesque l'authenti ationet ledépassement du tempslimite.

1.1.5.5 WSCL

Web Servi esConversationLanguage 11

WSCL [11℄ permet de dénir le omportement externe visible des servi es web en

spé iantles onversationsduniveaumétierainsiquelespro essusmétierspubliques

supportés par un servi eweb. Les onversationssontdénies en utilisantlasyntaxe

de XML. Un do ument WSCL spé ie les do uments XML é hangés omme une

partie de la onversation ainsi que l'ordre dans lequel ils sont é hangés. WSCL

fournitunensembleminimalde on eptsné essairespourspé ierles onversations.

Laspé i ation dé lare quela onversation est typiquement déterminéeà partir de

laperspe tive du fournisseur du servi e, qui peut aussi être utilisée pour déduire la

onversation de la perspe tive du lient.Bien que la onversation soit dénie de la

perspe tivedu fournisseurdu servi e, ellesépare la logique de la onversationde la

logique de mise en ÷uvre oudes aspe ts d'implantationdu servi e.

1.2 La Qualité de Servi e dans les servi es web

1.2.1 Introdu tion

Ave la prolifération des servi es web, la notion de QdS émerge aujourd'hui. Son

intérêtpour lesfournisseurs etles lientsde servi e devient,de plusen plus,

impor-tante. Dans ette se tion, nous détaillons lesparamètres de qualité de servi e pour

lesservi es web etprésentons lesdiérentes te hniques de mesure existantes.

Il n'existe pas de onsensus sur la dénition de la qualité de servi e (QdS). La

re ommandation ITU-X.902 12

dénit la QdS omme un ensemble d'exigen es dans

le omportement olle tifd'unou plusieursobjets.Dans le ontexte des te hnologies

de l'information et multimédia, la QdS a été dénie par Vogel et al.[101℄ omme

l'ensembledes ara téristiquesquantitativesetqualitativesd'unsystèmemultimédia,

né essaires pour atteindre la fon tionnalité requise par l'appli ation. Nous pouvons

aussidirequelaqualitédeservi ereprésentel'aptituded'unservi eàrépondred'une

11

ProposéparHP en2002et publiéparW3Cen2005

12

(36)

-manière adéquate à des exigen es, exprimées ou impli ites, qui visent à satisfaire

ses usagers. Ces exigen es peuvent être liées à plusieurs aspe ts d'un servi e, par

exemple: sa disponibilité,saabilité,et .

Commepour lesexigen es en QdS dans lesservi es des ou hes basses des réseaux,

il y a un besoin d'identier et de dé rire la QdS d'un servi e web. Les attributs

de QdS peuvent être lassiés en deux parties : les QdS spé iques, et les QdS

génériques. Celles- i peuvent être, également, divisées en des attributs mesurables

etdes attributs non mesurables. Cette lassi ation est montrée par la gure 1.3.

AttributsdeQdS AttributsdeQdS spé iques AttributsdeQdS génériques AttributsdeQdS mesurables AttributsdeQdS nonmesurables

Fig. 1.3 La lassi ationdes attributsde QdS [33℄

1.2.1.1 Modèles de QdS existants

LegroupedetravailAr hite turedesServi esWebdu W3C,travaillantsurles

ar hi-te turesdesservi esweb,aidentiéetdé ritunensembledeparamètresdeQdSpour

lesservi esweb [58℄, àsavoir: laperforman e quienglobele débit(throughput), le

tempsde réponse etletempsd'exé ution, laabilité,las alabilitéoul'adaptation

aufa teurd'é helle(s alability),la apa ité,larobustesse,letraitementd'ex eption,

l'exa titude,l'intégrité, l'a essibilité,ladisponibilité,l'interopérabilité,la sé urité,

etles exigen esen QdSliées auréseau.

Iln'yapasun onsensusbienpré isausujetdel'ensembledesQdSimportantespour

lesservi es web,mais laplupartdes travauxde re her he, quiontessayéd'identier

etde lassierlesparamètresdeQdS,ontprisen onsidérationlesparamètresdénis

par leW3C auxquels sont asso iés, dans ertainstravaux, d'autres paramètres.

Lemodèlede QdSpourlesservi es web, proposé dans[5℄, suggèreune lassi ation

(37)

l'environne-du servi e (partie non fon tionnelle).

Fa teurs QdS Attributs internes

(Mé-triques)

Attributs externes

(Mé-triques)

Fiabilité Corre tion (Exa titude,

Pré i-sion)

(Disponibilité, Consistan e)

Performan e E a ité (Complexité

tempo-relle etspatiale)

Gestion de la harge

(Dé-bit, Attente & Temps de

ré-ponse)

Intégrité Sé urité

Utilisation (paramètresd'entrée etde

sor-tie)

Tab. 1.1  Lemodèlede QdS des servi es web proposé par Araban etSterling [5℄

Bienquelesmétriquesdétailléesdansletableau1.1soientmoinsbiendéniesquele

modèledétaillédans l'appro he [58℄,lemodèlede[5℄donneuneorientationgénérale

que ertainsdesattributs de QdSdoiventêtremesurés en examinantl'implantation

du servi e ( -à-d lesattributsinternes).

Letravailmenépar [82℄aidentiéet organisélesattributsde QdS des servi es web

en atégories :

 Attributs liés à l'exé ution (Runtime Related QoS) : s alabilité, apa ité,

per-forman e (temps de réponse, temps de laten e, et débit), abilité, disponibilité,

robustesse/exibilité, traitement d'ex eption, etexa titude;

 Attributsliés ausupportde transa tion : intégritéde transa tion;

 Attributsliésauprixetàlagestionde onguration:standardsupporté,stabilité,

prix et omplétude;

 Attributs liés à la sé urité : authenti ation, autorisation, ondentialité,

traça-bilité, ryptage de données, et non-répudiation.

1.2.1.2 QdS spé iques

Les QdS spé iques sont des qualités qui on ernent une appli ation parti ulière,

et qui sont en relation ave sa logique métier. Par exemple, pour le pro essus de

revue oopérative dans les onféren es s ientiques (voir hapitre 4), nous pouvons

(38)

du système. Ces QdS spé iques peuvent être des QdS liées aux arguments omme

le renvoi de onféren e dont ladate limite de soumission est dépassée suite à une

requêtede re her he de onféren es par mot lé, oulerenvoi de onféren e dont

lethème n'est pas pertinent.

1.2.1.3 QdS génériques

Dans e qui suit, nousprésentons l'ensembledes attributsde QdS génériques. Nous

distinguons,i i, lesattributs mesurables et lesattributsnon mesurables.

Attributs mesurables :

Lesattributs mesurables les plus ommuns sont dé rits pas les paramètres liés à la

performan e.

 Le débit :le nombre de requêtes servies pendant un intervallede temps;

 Letempsderéponse:letempsrequispour ompléterunerequêteduservi e web;

 La abilité: la apa ité d'un servi e d'exé uter orre tement ses fon tions;

 La s alabilité : la apa ité du servi e de traiter le plus grand nombre

d'opéra-tions ou de transa tions pendant une période donnée, tout en gardant les mêmes

performan es;

 Larobustesse:laprobabilitéqu'unservi epuisseréagirproprementàdesmessages

d'entrée invalides, in omplets ou oni tuels;

 La disponibilité: laprobabilité d'a essibilitéd'un servi e.

Attributs non mesurables :

Ilyades attributsde QdSquine sontpasmesurables,mais quiontdel'importan e

pour lesservi es web omme :

 Leprixd'exé ution: 'estleprixqu'un lientduservi edoitpayerpourbéné ier

du servi e;

 Laréputation : 'est une mesurede la rédibilitédu servi e qui dépend,

prin ipa-lement,des expérien es d'utilisateurs naux;

 La sé urité : 'est un regroupement d'un ensemblede qualités à savoir : la

on-dentialité, le ryptage des messages et le ontrle d'a ès.

1.2.2 QdS onsidérées

(39)

1.2.2.1 Performan e des servi es web

La performan e des servi es web n'est pas un on ept formellement déni. Elle est

quantiéeàl'aide de diérentes métriques.Nousallons adopterladénitionfournie

par legroupetravaillantsur les ar hite tures des servi es web du W3C ommeune

fondation pour notre propre dénition. Cette dénition est omposée du débit, du

temps de réponse, du temps de ommuni ation et du temps d'exé ution. Le temps

d'exé utionetletempsde ommuni ationsontdeuxdérivésdeladénitiondutemps

de réponse du W3C. Dans le adre de ette thèse, nous onsidérons lesparamètres

in lusdans ettedénition. Enplus,nous tenons omptede ladisponibilitéetde la

s alabilité.

Pour assurer le monitoring des paramètres de QdS onsidérés dans notre étude,

quatre valeurs de temps sont mesurées, ommele montre lagure 1.4:

t1 :Le temps d'envoi de la requête par le lient;

t2 :Le temps de ré eption de larequête par le fournisseur;

t3 :Le temps d'envoi de la réponse par lefournisseur;

t4 :Le temps de ré eption de laréponse par le lient.

Client du

service

Fournisseur

du service

    

Requête

       

Réponse

Temps



(40)

Danslasuite,nousénumérons l'ensembledes paramètresdeQdS onsidérés ennous

basant sur lesmesures représentées par lagure 1.4.

1-Le Temps de réponse :

Déni omme Letemps né essaire pour traiter unerequête dès l'instantde

son envoijusqu'au momentde laré eption de laréponse. Le

tempsderéponsepeutêtrediviséentempsde ommuni ation

eten tempsd'exé ution [85, 86℄.

Formule Tresp = t4 - t1

Quanti ation Millise onde

Type Entier

2-Le Temps d'exé ution :

Déni omme Letemps mispar leservi e pour exé uterla requête.

Formule Texe = t3 - t2

Quanti ation Millise onde

Type Entier

3-Le Temps de Communi ation :

Déni omme Le temps né essaire pour le transportde la requête et de sa

réponse.

Formule T omm = Tresp - Texe

Quanti ation Millise onde

Type Entier

4-Le Débit :

Déni omme La apa ité du fournisseur du servi e web de traiter les

re-quêtes on urrentes. Il est mesuré en requêtes par se onde

[66, 96℄.

Formule Débit = # requêtes/période de temps

Quanti ation Requête/unité de temps telles que minute, se onde,

(41)

5-La Disponibilité:

Dénie omme Lepour entagederequêtesréussiesparlefournisseur[66,85℄.

Les réponses qui ont é houé, orrespondent aux ex eptions

reçues du té lient.

Formule Disponibilité = Nombre de requêtes r

éussites/-Nombre total de requêtes

Quanti ation Pour entage

Type Réel

6-La S alabilité :

Dénie omme La apa ité de ne pas dégrader les performan es oertes par

le servi e web tout en augmentant le nombre de requêtes

si-multanées [86℄.

Formule S alabilité = fn(Performan e, Nombre de requêtes),

où fn est une fon tion qui représente la variationde

perfor-man e pendant que le nombre de lients augmente (voir le

tableau4.3).

Quanti ation Evolution au ours du temps exprimée à l'aide de plusieurs

valeurs oud'une ourbe.

Type Couples de réels oupour entage

1.2.2.2 Monitoring de QdS de point de vue lient

Laplupartdes attributs des modèlesde la QdS sont mesurés du té fournisseur et

nené essitentpas desmesures du té lient.Lesmesures du té lientpermettent

de prendre en onsidérationles ara téristiques de la onnexionentre le lient et le

fournisseur. En eet, l'informationde QdS est utilisée pour diéren ier les

fournis-seurs de servi e orant des servi es similaires, e quiest prin ipalementàla harge

du lientplutt quele fournisseur.

Considérons deux fournisseurs de servi e qui orent les mêmes fon tionnalités, le

premierassure un tempsd'exé ution minimaletun débit élevé (i i,letemps

d'exé- utionetledébit sont mesurablesdu té fournisseur), tandisquele deuxièmeore

untempsd'exé utionetundébita eptables.Le hoixdufournisseurpeutdépendre,

dans ettesituation,des QdSmesurables du té lient.Dansle asoùla onnexion

(letemps de ommuni ation) est meilleureave ledeuxième fournisseur du servi e,

le lient hoisit de se onne ter ave elui- i. Ce s énario peut se produire si les

(42)

délai.

1.2.2.3 Colle tion des mesures des tés lient et fournisseur

La performan e pourrait être mesurée du té serveur, et dans quelques as, les

mesures ee tuées peuvent être diérentes de elles ee tuées du té lient. Les

attributsde performan e,de disponibilitéetde abilitépeuvent être olle tés

auto-matiquement du té fournisseur du servi e ou du té lient. Les autres attributs

(sé urité, pré ision, prix, et .) ne sont pas dynamiques omme le as des attributs

liés à la performan e qui varient dans le temps. Les mesures de es attributs ont

besoin d'être soumises manuellement lors du déploiement et à haque mise à jour

de version. Nous nous on entrons, dans notre travail, sur les QdS génériques et

parti ulièrementsur lesattributs de performan edes servi es web, tout en essayant

de ouvrir es paramètres des deux tés : té lient et té fournisseur du servi e

pour être le plus obje tif possible.

1.2.3 Te hniques de mesure des QdS

Lemonitoringestuneétapeprimordialedanslepro essusdemesuredelaQdS(voir

se tion2.3).Il orrespond àune étaped'observationdu omportementduservi e et

d'extra tiondesmétriquesné essairespouree tuerlesmesuresdesQdS.Lavariété

potentielle de paramètres de QdS rend ette tâ he en ore plus déli ate. Diérentes

appro hes ontété proposées an d'extrairel'informationutile pour l'étude de QdS.

1.2.3.1 Le Timer inséré dans le ode

Selon l'appro he proposée dans [2℄, une méthode simple de mesurer les

ara té-ristiques de performan e des servi es web peut être développée en ajoutant des

fon tionnalitésdans le ode lientduservi e. Lesétapesimpliquéesdansle

dévelop-pementde e modèle, apablede mesurerletemps deréponse,seprésentent omme

suit :

1. Générer lasou he logi ielle liente(stub) à partirdu WSDL du servi e;

2. Développerle ode du lientetajouter le ode de hronométrage du temps;

(43)

import java.net.

; import java.util .

;

import org.apa he.soap.

;

import org.apa he.soap.en oding.

; import org.apa he.soap.rp .

; import org.apa he.soap.util.xml.

; import mytimer.Timer;

publi lass E hoServi eClient

{

private Call all = new Call();

private URL url = null;

private String SOAPA tionURI = "";

private SOAPMappingRegistry smr = all .getSOAPMappingRegistry();

publi E hoServi eProxy() throws MalformedURLEx eption

{

.

.

.

// Démarrer le Timer

Timer timer = new Timer();

timer.start();

Response resp = all.invoke(url , SOAPA tionURI); // Invo ation de servi e

// Arrêter le Timer

timer.stop();

// Affi her le temps de réponse en al ulant la différen e

System.out.println("Response Time = " + timer.getDifferen e());

// Vérifier la réponse

if (resp.generatedFault())

{

Fault fault = resp.getFault();

throw new SOAPEx eption(fault.getFaultCode(), fault.getFaultString());

}

else

{

Parameter retValue = resp.getReturnValue();

return (java.lang.String)retValue.getValue();

}

}

Figure

Fig. 1.1  Le formatage visuel d'un message SOAP
Fig. 1.2  Les étapes d'invo
ation d'un servi
e web [99℄
Fig. 2.1  L'ar
hite
ture du Middleware Auto-Réparable guidé par la QdS
Tab. 2.3  Le 
omportement du MCC envers les 
ommuni
ations asyn
hrones
+7

Références

Documents relatifs

No setor de saúde há muitas mudan¡;:as que levam a necessidade de melhorar o processo de gestao como, por exemplo, o processo de des- centraliza¡;:ao das decisoes e da

1. The Travel Agent initiates the Business Activity with the Flight and Hotel participants by sending the Request messages. The Flight and Hotel Web services enroll in the

Bases de données géospatiales; type de données spatiales [point, ligne, polygone; données de type OGC], SESQL [opérateurs spatiaux]; contraintes d'intégrité des données

Depuis 2015, grâce à des dons et de l’argent ré- colté suite à différentes actions menées, un centre de santé, une école et 5 cases permet- tant de loger 5 familles ont vu

Une configuration doit permettre de fournir une syn- taxe simple et une s´ emantique permettant de (a) faciliter la communication entre les diff´ erents partenaires d’un

Chaque partie d’un ´ el´ ement de l’architecture sous Wright (glue du connecteur, rˆ oles du connecteur, calcul ou ports d’un composant, configuration de l’ar- chitecture du

Cette approche permet, dans une premi`ere ´etape, une transformation auto- matique du style architectural et de chaque op´eration de reconfiguration vers le langage Z.. Elle permet

Dans la gure 4.5, nous avons dressé deux ourbes du temps de réponse.