• Aucun résultat trouvé

Approche multi-perspective centrée exigences de composition de services Web

N/A
N/A
Protected

Academic year: 2021

Partager "Approche multi-perspective centrée exigences de composition de services Web"

Copied!
127
0
0

Texte intégral

(1)

HAL Id: tel-00648131

https://tel.archives-ouvertes.fr/tel-00648131

Submitted on 5 Dec 2011

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Approche multi-perspective centrée exigences de composition de services Web

Maha Driss

To cite this version:

Maha Driss. Approche multi-perspective centrée exigences de composition de services Web. Génie

logiciel [cs.SE]. Université Rennes 1, 2011. Français. �tel-00648131�

(2)

N

o

d’ordre : 4475 ANN ´ EE 2011

TH ` ESE / UNIVERSIT ´ E DE RENNES 1

sous le sceau de l’Universit ´e Europ ´eenne de Bretagne

pour le grade de

DOCTEUR DE L’UNIVERSIT ´ E DE RENNES 1 ET DE L’UNIVERSIT ´ E DE LA MANOUBA

Mention : Informatique Ecole doctorale Matisse ´

pr ´esent ´ee par

Maha D RISS

Pr ´epar ´ee `a l’unit ´e de recherche IRISA Equipe d’accueil: TRISKELL ´ Composante universitaire: IFSIC

Et

Au laboratoire de recherche RIADI-GDL Composante universitaire: ENSI

Approche

multi-perspective centr ´ee exigences de composition de

services Web

Th `ese soutenue `a Rennes le 8 D ´ecembre 2011

devant le jury compos ´e de :

Marie-Odile C

ORDIER

Universit ´e de Rennes 1 /Pr ´esidente

Han ˆene

BEN

A

BDALLAH Universit ´e de Sfax

/

Rapporteuse

Flavio O

QUENDO

Universit ´e de Bretagne Sud

/

Rapporteur

Jean-Marc J ´

EZEQUEL

´

Universit ´e de Rennes 1

/

Directeur de th `ese

Henda H

AJJAMI

B

EN

G

HEZALA

´

Universit ´e de la Manouba

/

Directrice de th `ese

Yassine J

AMOUSSI

(3)

R´ esum´ e

Le paradigme architecture orient´ ee service AOS est devenu un standard pour la conception et le d´ eveloppement d’applications distribu´ ees ` a base de services Web. Malgr´ e tous les avantages qu’elles apportent en termes d’interop´ erabilit´ e et de r´ eutilisation, les solutions de d´ eveloppement associ´ ees au paradigme AOS sont destin´ ees aux programmeurs et restent difficiles ` a comprendre par le monde de l’entreprise. Pour ˆ etre en phase avec le monde de l’entreprise, les applications ` a base de services Web doivent ˆ etre d´ ecrites en termes d’exigences qu’elles permettent de satisfaire et non pas en termes de fonctionnalit´ es qu’elles permettent de r´ ealiser. Ceci permet de minimiser la discordance conceptuelle entre les services logiciels et l’´ enonc´ e des exigences des utilisateurs.

Nous proposons dans le cadre de ce travail de th` ese, une approche multi-perspective centr´ ee exigences pour la composition de services Web. Notre approche positionne la composition des services dans une perspective centr´ ee exigences dans laquelle les services m´ etiers de haut niveau sont d´ ecrits en termes d’exigences qu’ils permettent de satisfaire. Un processus d’alignement est propos´ e pour assurer une mise en corres- pondance de ces services avec les services logiciels de bas niveau qui sont d´ ecrits en termes de d´ eclarations techniques au niveau d’une perspective centr´ ee fonctions. Ce processus int` egre la variabilit´ e de composition tout au long des ´ etapes de construction de ces applications ` a base de services.

Mots-cl´ es : Services Web, Composition de services, Exigences, Multi-perspective,

Alignement, Variabilit´ e.

(4)

Abstract

The service-oriented architecture paradigm SOA has become the standard for the design and development of distributed Web service-based-applications. Despite all the advantages they offer in terms of interoperability and reuse, the development solutions associated with the SOA paradigm is intended for programmers and are difficult to understand by the business world. To be in tune with the business world, service-based applications should be described in terms of requirements they can meet and not in terms of features they can achieve. This minimizes the discrepancy between the conceptual software services and the statement of user requirements.

We propose, as part of this thesis, a multi-perspective requirement centric approach for Web service composition. Our approach places the composition of services at a requirement-centered perspective in which high level business services are described in terms of requirements they can meet. An alignment process is proposed to ensure a matching between these services and the low-level software services that are described in terms of technical reports at a function-centered perspective. This process incorpo- rates the composition variability throughout the different phases of the service-based applications development cycle.

Keywords : Web services, Service composition, Requirements, Multi-perspective,

Alignement, Variability.

(5)

Je d´ edie cette th` ese

`

a mon cher mari Wadii,

`

a mes chers parents Noureddine et Zeineb,

`

a mes soeurs Sawssen et Kaouthar,

`

a toute ma famille,

`

a tous mes amis

et ` a tous ceux qui m’on aid´ e de pr` es ou de loin...

(6)

Remerciements

Au terme de cette exp´ erience riche et passionnante, j’exprime tout d’abord ma gratitude ` a Madame Marie-Odile CORDIER, Professeure ` a l’Universit´ e de Rennes 1, pour avoir accept´ e de pr´ esider ce jury de th` ese.

Je remercie Madame Hanˆ ene BEN ABDALLAH, Professeure ` a l’Universit´ e de Sfax, et Monsieur Flavio OQUENDO, Professeur ` a l’Universit´ e de Bretagne Sud, d’avoir accept´ e la fastidieuse tˆ ache de rapporter ce travail.

Je tiens ` a exprimer ma haute reconnaissance ` a mes directeurs de th` ese : Madame Henda HAJJAMI BEN GH ´ EZALA, Professeure ` a l’Universit´ e de la Manouba, et Monsieur Jean-Marc J ´ EZ ´ EQUEL, Professeur ` a l’Universit´ e de Rennes 1, pour leur soutien, leur disponibilit´ e et leurs encouragements.

Je suis sinc` erement reconnaissante ` a Monsieur Yassine JAMOUSSI, Maˆıtre de conf´ erences ` a l’Universit´ e de la Manouba, pour sa disponibilit´ e, ses pr´ ecieux conseils et son investissement dans ce travail de recherche.

Mes remerciements vont ´ egalement ` a tous les membres de l’´ equipe TRISKELL et

du laboratoire RIADI-GDL et ` a tous ceux qui m’ont aid´ e et encourag´ e tout au long de

cette th` ese.

(7)

Pr´ eface

Cette th` ese a ´ et´ e r´ ealis´ ee dans le cadre d’une cotutelle entre l’Universit´ e de la Manouba et l’Universit´ e de Rennes 1. Dans le cadre de cette coop´ eration, Maha DRISS a effectu´ e des s´ ejours altern´ es ` a raison en moyenne d’une session (4 mois) en France et de deux sessions (8 mois) en Tunisie sur les 4 ans.

Maha a ´ et´ e accueillie au sein du laboratoire RIADI-GDL dans l’Ecole Nationale

des Sciences de l’Informatique (ENSI) ` a l’Universit´ e de la Manouba ainsi qu’au sein

de l’´ equipe projet TRISKELL, INRIA RENNES - BRETAGNE ATLANTIQUE dans

l’Institut de Recherche en Informatique et Syst` emes Al´ eatoires (IRISA) ` a l’Universit´ e

de Rennes 1.

(8)

Table des mati` eres

I Probl´ ematique et ´ etat de l’art 1

1 Introduction 2

1.1 Contexte : Ing´ enierie des applications ` a base de services Web . . . . 3

1.2 Motivation : Composition centr´ ee exigences des services Web . . . . 4

1.3 Probl´ ematique : Absence d’alignement entre les services m´ etiers et les services logiciels dans le cadre de la composition de services Web . . . . 5

1.4 Th` ese : Une approche multi-perspective centr´ ee exigences pour la com- position de services Web . . . . 7

1.5 Contributions . . . . 9

1.6 Plan . . . . 10

2 Concepts de base du paradigme service Web 11 2.1 Les services Web : Vue d’ensemble . . . . 13

2.1.1 D´ efinition . . . . 13

2.1.2 Objectifs . . . . 14

2.1.3 Exemple de socle technologique : le trio SOAP, WSDL et UDDI 15 2.1.4 Architecture de r´ ef´ erence . . . . 19

2.2 La composition des services Web : Concepts, terminologie et technologies associ´ ees . . . . 21

2.2.1 D´ efinition . . . . 21

2.2.2 Architecture ´ etendue des services Web . . . . 22

2.2.3 Composition statique vs composition dynamique . . . . 23

2.2.4 Proc´ ed´ es de coordination : Orchestration vs Chor´ egraphie . . . . 24

(9)

Table des mati` eres

2.2.5 Cycle de vie des applications ` a base de services . . . . 29

2.3 Synth` ese et probl´ ematique relev´ ee . . . . 30

2.4 Conclusion . . . . 31

3 Approches centr´ ees exigences de composition de services Web 33 3.1 L’alignement : atouts, d´ efinition et cadre de r´ ef´ erence . . . . 34

3.2 La variabilit´ e : d´ efinition et types . . . . 35

3.3 Les approches centr´ ees exigences de composition de services Web . . . . 37

3.3.1 Les approches formelles . . . . 37

3.3.2 Les approches semi-formelles . . . . 40

3.3.3 Les approches informelles . . . . 43

3.4 Bilan . . . . 43

3.5 Conclusion . . . . 44

II Approche et exp´ erimentations 48 4 Approche multi-perspective centr´ ee exigences de composition de services Web 49 4.1 Pr´ esentation de l’approche . . . . 51

4.2 Mod´ elisation intentionnelle des applications ` a base de services . . . . 53

4.2.1 Le formalisme la Carte . . . . 53

4.2.2 Le mod` ele intentionnel de services MIS . . . . 57

4.2.3 Identification des services intentionnels . . . . 59

4.3 D´ ecouverte des services logiciels . . . . 60

4.4 S´ election des services logiciels . . . . 63

4.4.1 Introduction ` a l’AFC . . . . 63

4.4.2 Utilisation de l’AFC pour la s´ election des services pertinents et de haute QdS . . . . 67

4.4.3 Introduction ` a l’ARC . . . . 68

4.4.4 Utilisation de l’ARC pour la s´ election des services composites pertinents et de haute QdS . . . . 70

4.5 Coordination des services logiciels . . . . 71

4.5.1 Introduction aux transformations de mod` eles . . . . 72

4.5.2 BPEL . . . . 72

4.5.3 Principe de la transformation . . . . 72

(10)

Table des mati` eres

4.6 Validation de la satisfaction des exigences . . . . 74

4.6.1 Validation empirique des exigences fonctionnelles . . . . 74

4.6.2 Validation automatique des exigences non-fonctionnelles . . . . . 74

4.7 Conclusion . . . . 77

5 Exp´ erimentations 80 5.1 Mod´ elisation intentionnelle des services m´ etiers . . . . 81

5.2 D´ ecouverte des services logiciels . . . . 82

5.3 S´ election des services logiciels pertinents et de haute QdS . . . . 85

5.3.1 S´ election des services logiciels atomiques . . . . 85

5.3.2 S´ election des services logiciels composites . . . . 87

5.4 Coordination des services logiciels . . . . 90

5.5 Validation . . . . 94

5.5.1 Validation des exigences fonctionnelles . . . . 94

5.5.2 Validation des exigences non-fonctionnelles . . . . 98

5.6 Conclusion . . . . 99

III Conclusion et perspectives 101 6 Conclusion 102 7 Perspectives 105 7.1 Am´ elioration de la m´ ethode de d´ ecouverte et de s´ election des services logiciels . . . 105

7.2 Extensions . . . 105

7.3 Pistes exploratoires . . . 106

Bibliographie 109

(11)

Liste des figures

1.1 Approche multi-perspective centr´ ee exigences pour la composition de

services Web. . . . 8

2.1 Exemple de message requˆ ete SOAP appelant l’op´ eration makeHello- World du service HelloWorld et son message r´ eponse SOAP [21]. . . . . 16

2.2 Document WSDL du service HelloWorld [21]. . . . 18

2.3 Architecture de r´ ef´ erence des services Web AOS. . . . 20

2.4 Architecture ´ etendue des services Web [69]. . . . 23

2.5 Principe de l’orchestration des services Web. . . . 25

2.6 Principe de la chor´ egraphie des services Web. . . . 25

2.7 Sc´ enario d’orchestration : l’application “Agence de voyages”. . . . 28

2.8 Extrait du code BPEL correspondant ` a l’application “Agence de voyages”. 29 2.9 Cycle de vie des applications ` a base de services Web. . . . 30

3.1 Les quatre vues du cadre de r´ ef´ erence de l’alignement [32]. . . . 35

3.2 Les cat´ egories de la variabilit´ e essentielle selon [42]. . . . 36

3.3 Les cat´ egories de la variabilit´ e techniques selon [42]. . . . 37

4.1 Approche multi-perspective centr´ ee exigences pour la composition de services Web. . . . 51

4.2 M´ eta-mod` ele de la Carte [49]. . . . 54

4.3 Structure d’une intention [74]. . . . 55

4.4 Le m´ eta-mod` ele de MIS. . . . 58

4.5 Treillis avec ´ etiquetage complet construit ` a partir du contexte formel

pr´ esent´ e par le Tableau 4.1. . . . 65

(12)

Liste des figures

4.6 Treillis avec ´ etiquetage r´ eduit construit ` a partir du contexte formel pr´ esent´ e par le Tableau 4.1. . . . 66 4.7 Le Boxplot. . . . 68 4.8 Treillis final de l’exemple obtenu par application de l’ARC. . . . . 70 4.9 Mod` ele de simulation ` a ´ ev` enements discrets des applications ` a base de

services Web. . . . 77 5.1 La carte d’une application ` a base de services d’arrangement de conf´ erences. 81 5.2 L’affinement de la section <R´ eserver un hˆ otel, Arrˆ eter, Par paiement>. 83 5.3 La sp´ ecification intentionnelle du service m´ etier S

Convertir la devise

. . . . 85 5.4 R´ esultat d’interrogation de Service-Finder ` a la requˆ ete “Convertir +

Devise”. . . . 86 5.5 Le treillis du contexte K. . . . 88 5.6 Le treillis de S1.i pr´ esentant le r´ esultat de la requˆ ete “Requˆ ete1” : services

enti` erement composables et ayant un temps de r´ eponse et une disponi- bilit´ e ´ elev´ es. . . . 90 5.7 Le treillis de S2.j pr´ esentant le r´ esultat de la requˆ ete “Requˆ ete2” : ser-

vices enti` erement composables et ayant un temps de r´ eponse et une dis- ponibilit´ e ´ elev´ es. . . . 91 5.8 Le treillis de S3.k pr´ esentant le r´ esultat de la requˆ ete “Requˆ ete3” : ser-

vices enti` erement composables et ayant un temps de r´ eponse et une dis- ponibilit´ e ´ elev´ es. . . . 92 5.9 Le mod` ele MIS de la carte d’affinement de la section <R´ eserver un hˆ otel,

Arrˆ eter, Par paiement> et le mod` ele BPEL qui lui correspond. . . . 93

5.10 R´ esultats de simulation des chemins C1 et C2 . . . . 99

(13)

Liste des tableaux

3.1 Tableau comparatif des diff´ erentes approches centr´ ees exigences de com- position de services Web . . . . 46 4.1 Exemple d’un contexte formel d´ ecrivant les chercheurs en g´ enie logiciel

par leurs th´ ematiques de recherche et leurs publications. . . . 64 4.2 Contexte relationnel d´ ecrivant les chercheurs qui collaborent ensemble. . 69 4.3 R` egles de transformation de MIS vers BPEL. . . . 73 4.4 Mod` ele math´ ematique de Cardoso et al. [13] de calcul de mesures globales

de QdS ` a partir des mesures locales . . . . 78 5.1 Services m´ etiers atomiques de l’application d’arrangement de conf´ erences

repr´ esent´ ee par la s´ erie de cartes . . . . 84 5.2 R´ esultat de l’´ etape de d´ ecouverte du service intentionnel S

Convertir la devise

85 5.3 Contexte K reliant les services aux propri´ et´ es de QdS. . . . 87 5.4 R´ esultats de d´ ecouverte des services logiciels correspondants aux

op´ erations Op1, Op2 et Op3 du service intentionnel S

Consulter la m´et´eo

. . 88 5.5 Classification des services de S1.i, S2.j et S3.k selon leur mode de com-

position. . . . 89 5.6 Informations sur les services s´ electionn´ es qui requi` erent le minimum

d’adaptation et qui offrent le maximum de QdS. . . . . 93 5.7 R´ esultats des exp´ erimentations r´ ealis´ ees sur l’application d’arrangement

de conf´ erences. . . . 96 5.8 Pr´ ecision et rappel de notre approche appliqu´ ee sur le cas d’´ etude de

l’application d’arrangement de conf´ erences. . . . 98

(14)

Premi` ere partie

Probl´ ematique et ´ etat de l’art

(15)

Chapitre

1 Introduction

C e chapitre d´ ecrit le contexte g´ en´ eral de nos travaux de th` ese qui portent sur le domaine de l’ing´ enierie des applications ` a base de services Web. Nous expliquons notre motivation en montrant les atouts d’une composition de services centr´ ee exigences. Nous pr´ esentons les probl` emes associ´ es ` a la composition centr´ ee exigences ` a savoir : la mod´ elisation des exigences, la d´ ecouverte, la s´ election et la coordination des services Web. Enfin, nous pr´ esentons le sujet de notre th` ese et nos contributions principales qui s’articulent autour de la d´ efinition d’une nouvelle approche multi-perspective centr´ ee exigences pour la composition de services Web.

Sommaire

1.1 Contexte : Ing´ enierie des applications ` a base de services Web 3 1.2 Motivation : Composition centr´ ee exigences des services Web 4 1.3 Probl´ ematique : Absence d’alignement entre les services

m´ etiers et les services logiciels dans le cadre de la compo- sition de services Web . . . . 5 1.4 Th` ese : Une approche multi-perspective centr´ ee exigences

pour la composition de services Web . . . . 7

1.5 Contributions . . . . 9

1.6 Plan . . . . 10

(16)

Contexte : Ing´ enierie des applications ` a base de services Web

1.1 Contexte : Ing´ enierie des applications ` a base de ser- vices Web

Le contexte g´ en´ eral de la th` ese porte sur le domaine de l’ing´ enierie des applications

`

a base de services Web.

La g´ en´ eralisation de l’usage du Web et l’´ epanouissement de la technologie client-serveur constituent la nouvelle ´ etape dans la chaˆıne ´ evolutive de mise en œuvre des applications distribu´ ees qui a men´ e ` a l’´ emergence du paradigme service Web. Les services Web sont apparus comme une nouvelle technologie qui, grˆ ace aux possibilit´ es d’interop´ erabilit´ e qu’elle offre, se place aujourd’hui comme le point de convergence technologique d’acteurs de divers domaines : e-commerce

1

, e-learning

2

, e-government

3

, etc. Le W3C

4

d´ efinit les services Web comme des composants logiciels offrant une ou plusieurs op´ erations allant des plus simples aux plus complexes. Ces composants sont publi´ es, d´ ecouverts et invoqu´ es ` a travers le Web grˆ ace ` a l’utilisation d’Internet comme infrastructure de communication et d’XML comme format de donn´ ees [96].

L’´ emergence du paradigme service Web a marqu´ e une ´ evolution significative dans l’histoire d’Internet qui a ´ et´ e destin´ e ` a jouer le rˆ ole d’un vecteur d’´ echange de donn´ ees.

Avec les services Web, Internet se transforme en une plate-forme de composants logiciels auto-descriptifs, facilement int´ egrables et faiblement coupl´ es [66]. Les services Web sont venus pallier les probl` emes qu’ont rencontr´ es les entreprises en termes d’interop´ erabilit´ e, et ceci en mettant en place une Architecture Orient´ ee Services (AOS) [31] reposant sur un ensemble de standards. Le processus de standardisation touche trois couches de l’infrastructure de base de l’AOS : le protocole de communica- tion qui permet de structurer les messages ´ echang´ es entre les services, la sp´ ecification de description des interfaces des services et enfin la sp´ ecification de publication et de localisation de services.

L’un des avantages les plus importants du paradigme service Web est la r´ eutilisation.

Les services Web, tels qu’ils sont pr´ esent´ es, sont conceptuellement limit´ es ` a des fonc- tionnalit´ es relativement simples qui sont mod´ elis´ ees par une collection d’op´ erations.

Toutefois, il est n´ ecessaire de construire de nouvelles applications par composition de

1. M´ethode d’apprentissage qui repose sur la mise `a disposition de contenus p´edagogiques en utilisant des nouvelles technologies multim´edia et de l’Internet.

2. Processus d’achat et de vente ou d’´echange de biens, services et informations, via des r´eseaux informatiques, notamment Internet.

3. Utilisation des technologies de l’information et de la communication par les administrations publiques pour rendre les services publics plus accessibles `a leurs usagers et pour am´eliorer leur fonc- tionnement interne.

4. World Wide Web Consortium est un consortium charg´e de promouvoir la compatibilit´e des tech- nologies du World Wide Web.

(17)

Motivation : Composition centr´ ee exigences des services Web

services afin de r´ epondre ` a des exigences plus complexes [29]. La tendance ultime de cette nouvelle approche est de mettre ` a profit les composants services Web au service de l’int´ egration d’applications en interne ou en externe. C’est ce que nous appelons composition ou agr´ egation de services Web.

1.2 Motivation : Composition centr´ ee exigences des ser- vices Web

L’acceptation et la popularit´ e croissantes de l’architecture AOS ont donn´ e lieu ` a un ensemble d’opportunit´ es. Dans le cadre de ce travail de th` ese, la motivation qui anime notre int´ erˆ et pour l’architecture AOS est le d´ eveloppement d’applications distribu´ ees par composition de services Web. La composition de services est une opportunit´ e s´ eduisante puisqu’elle offre des avantages comp´ etitifs aux entreprises en leur offrant la possibilit´ e de d´ evelopper des applications ` a valeur ajout´ ee en assemblant des services d´ ej` a existants.

De nombreux travaux de comit´ es acad´ emiques et industriels ont abord´ e le probl` eme de composition de services Web en proposant des langages (par exemple BPEL [64], WS-CDL [63] et OWL-S [61]) et des formalismes (les r´ eseaux de P´ etri [59], les machines de Mealy [9] et les machines d’´ etats [34]) divers. Il est toutefois constant de remarquer que tous ces travaux adoptent une vision “centr´ ee fonctions” de la composition en consid´ erant les services comme des composant “logiciels”. L’inconv´ enient de cette vision est qu’elle est d´ edi´ ee aux d´ eveloppeurs d’applications puisqu’elle se base sur des descriptions de “bas niveau” qui se concentrent sur des d´ eclarations purement techniques (comme les formats des messages de coordination, les types des param` etres d’entr´ ee/sortie et le protocole Web utilis´ e pour la communication). Toutefois, pour que l’architecture AOS soit transpos´ ee au niveau de l’entreprise, il est n´ ecessaire qu’une composition de services soit d´ ecrite en termes d’exigences que l’entreprise souhaite atteindre [49]. Ainsi, pour ˆ etre en phase avec le monde de l’entreprise, il est n´ ecessaire d’opter pour un changement d’´ echelle d’observation et adopter une vision “centr´ ee exigences” de la composition o` u les services sont consid´ er´ es comme des interactions

“m´ etiers”. Les descriptions des services sont exprim´ ees en termes d’exigences et non plus en termes de fonctionnalit´ es et ceci garanti un “haut niveau” d’abstraction qui renforce la variabilit´ e et la r´ eutilisation. En effet, ces descriptions comportent des variations d’usage et peuvent ainsi ˆ etre r´ eutilis´ es dans plusieurs autres compositions.

La vision centr´ ee exigences de la composition de services a fait l’objet de plusieurs travaux de recherche que nous pouvons classifier en trois cat´ egories. Nous trouvons des travaux qui ont opt´ e pour : (i) une approche formelle pour l’expression des exi- gences [53], [93] et [83], (ii) une approche semi-formelle comme [1], [22], [80] et [81], et finalement (iii) une approche informelle comme [102] et [19]. Ces travaux s’int´ eressent

`

a proposer des solutions pour la d´ ecouverte et la composition de services logiciels ` a

(18)

Probl´ ematique : Absence d’alignement entre les services m´ etiers et les services logiciels dans le cadre de la composition de services Web

partir des d´ efinitions d’exigences. N´ eanmoins, les solutions qu’ils proposent souffrent de quelques limitations que nous d´ etaillons dans ce qui suit.

1.3 Probl´ ematique : Absence d’alignement entre les ser- vices m´ etiers et les services logiciels dans le cadre de la composition de services Web

Suite ` a notre ´ etude des travaux pr´ ec´ edents de la litt´ erature, nous avons pu observer que les services m´ etiers et les services logiciels sont trait´ es d’une fa¸ con isol´ ee dans le cadre de la composition. En effet, les services m´ etiers ne peuvent ˆ etre mis en correspon- dance avec les services logiciels qui les r´ ealisent directement et automatiquement. Ceci peut entraˆıner des discordances conceptuelles entre l’´ enonc´ e des exigences d´ ecrivant les services m´ etiers et des fonctionnalit´ es d´ efinissant les services logiciels.

Dans le cadre de ce travail de th` ese, nous r´ epondons ` a ce probl` eme principal concernant l’absence d’alignement entre les services m´ etiers et les services logiciels dans le cadre de la composition de services Web et nous comblons les limitations list´ ees ci-dessous.

– Limitation 1. Traitement partiel de la variabilit´ e. Le besoin de variabilit´ e dans le cadre des applications logicielles a ´ emerg´ e ` a la suite d’un changement de comportement des utilisateurs qui ne veulent plus s’adapter aux logiciels mais qui pr´ ef` erent que ces derniers soient configur´ es selon leurs besoins [8]. Cet ´ etat de fait a forc´ e les d´ eveloppeurs ` a prendre en compte les exigences des utilisateurs. Leur objectif n’est plus r´ eduit ` a l’augmentation de l’efficacit´ e d’un logiciel mais ` a la proposition d’une solution g´ en´ erique qui couvre le plus grand nombre des besoins.

Ainsi, la variabilit´ e est devenue un facteur important dans le d´ eveloppement

des applications logicielles et plus particuli` erement des applications ` a base de

services Web. La classification propos´ ee par [42] est bas´ ee sur la distinction

entre deux cat´ egories de variabilit´ e : la variabilit´ e essentielle et la variabilit´ e

technique. La variabilit´ e essentielle repr´ esente le point de vue de l’utilisateur et

s’int´ eresse aux aspects li´ es ` a l’utilisation de l’application tandis que la variabilit´ e

technique repr´ esente le point de vue du d´ eveloppeur et s’int´ eresse aux aspects

li´ es ` a la r´ ealisation de l’application. Suite ` a notre ´ etude de la litt´ erature qui

relate au domaine de la composition de services Web, nous avons pu constater

que les deux cat´ egories de la variabilit´ e ont ´ et´ e trait´ ees d’une fa¸ con isol´ ee et que

la variabilit´ e technique a suscit´ e plus d’int´ erˆ et que la variabilit´ e essentielle. En

effet, nous trouvons que quelques travaux qui se sont focalis´ es sur l’expression

et la gestion de la variabilit´ e essentielle [1] [80], [81] et [19]. Cependant, nous

pensons qu’il est important de tenir compte des deux cat´ egories de la variabilit´ e

afin de garder une tra¸ cabilit´ e entre les services m´ etiers et les services logiciels qui

les r´ ealisent. Cette tra¸ cabilit´ e ´ evite d’avoir des compositions de services rigides

(19)

Probl´ ematique : Absence d’alignement entre les services m´ etiers et les services logiciels dans le cadre de la composition de services Web

et inadapt´ ees aux exigences des utilisateurs.

– Limitation 2. N´ egligence des exigences non-fonctionnelles. Les exigences non-fonctionnelles dans le domaine des services Web sont exprim´ ees par le terme Qualit´ e de Service QdS qui r´ ef` ere ` a diverses propri´ et´ es telles que la disponibilit´ e, le temps de r´ eponse, la s´ ecurit´ e et le d´ ebit [2]. La plupart des travaux comme [80], [102] et [19] se sont concentr´ es sur l’expression des exigences fonctionnelles et ont n´ eglig´ e les exigences non-fonctionnelles. Toutefois, nous consid´ erons qu’il est n´ ecessaire de tenir compte des exigences non-fonctionnelles qui contraignent la mani` ere dont l’application ` a base de services doit satisfaire les exigences fonctionnelles. En effet, devant l’accroissement incessant du nombre de services Web disponibles et la variabilit´ e des besoins des utilisateurs, l’op´ eration de composition peut engendrer diff´ erents services composites qui offrent les mˆ emes fonctionnalit´ es. Donc, c’est ` a la base d’un certain nombre de propri´ et´ es de QdS que nous pouvons choisir un service composite et pas un autre.

– Limitation 3. Pas de d´ ecouverte et s´ election des services logiciels.

La d´ ecouverte et la s´ election des services pr´ esentent un processus qui consiste

`

a chercher dans l’annuaire les services logiciels qui r´ epondent le mieux aux exigences fonctionnelles et non-fonctionnelles des utilisateurs. La plupart des travaux comme [93], [83], [1], [22], [80]et [81] proposent d’impl´ ementer les services logiciels qui r´ ealisent les exigences des utilisateurs. Ceci est en contradiction avec l’objectif principal de l’architecture AOS qui vise ` a r´ eutiliser les services d´ ej` a existants pour le d´ eveloppement de nouvelles applications.

– Limitation 4. G´ en´ eration en boˆ ıte noire du proc´ ed´ e de coordination des services logiciels. La composition de services est mise en œuvre moyen- nant un proc´ ed´ e de coordination qui permet de sp´ ecifier quels services doivent ˆ etre invoqu´ es, dans quel ordre et sous quelles pr´ e-conditions. Deux types de coordination de services ont ´ et´ e propos´ ees : une coordination centralis´ ee appel´ ee orchestration et une coordination d´ ecentralis´ ee appel´ ee chor´ egraphie [30]. Toutes des approches qui ont opt´ e pour la vision centr´ ee exigences pour la composition de services n’explicitent pas le passage du mod` ele des exigences au proc´ ed´ e de coordination des services logiciels qui r´ ealisent ces exigences. La fa¸con dont les services logiciels sont coordonn´ es et ex´ ecut´ es n’est pas claire et ce manque de transparence empˆ eche toute comparaison ou am´ elioration des techniques d’alignement propos´ ees.

– Limitation 5. Validation partielle de la composition. La validation de

la composition consiste ` a v´ erifier que les services compos´ es r´ epondent aux exi-

gences fonctionnelles et non-fonctionnelles des utilisateurs. Dans la litt´ erature,

nous trouvons des travaux qui se sont focalis´ es sur la validation des exigences

fonctionnelles comme [102] et d’autres qui se sont concentr´ es sur la validation des

exigences non-fonctionnelles comme [83]. Peu sont les travaux qui ont pr´ esent´ e

(20)

Th` ese : Une approche multi-perspective centr´ ee exigences pour la composition de services Web

des r´ esultats de validation portant ` a la fois sur les exigences fonctionnelles non- fonctionnelles. Cette validation incompl` ete rend difficile la comparaison entre ces diff´ erents travaux et le rep´ erage des points de force et de faiblesse de chacun d’eux.

1.4 Th` ese : Une approche multi-perspective centr´ ee exi- gences pour la composition de services Web

Notre th` ese r´ epond aux limitations ´ enonc´ ees ci-dessus en proposant une nouvelle approche multi-perspective centr´ ee exigences pour la composition de services Web.

Notre approche positionne la composition des services dans une perspective centr´ ee exigences dans laquelle les services m´ etiers de haut niveau sont d´ ecrits en termes d’exigences qu’ils permettent de satisfaire. Un processus d’alignement est propos´ e pour assurer une mise en correspondance de ces services avec les services logiciels de bas niveau qui sont d´ ecrits en termes de d´ eclarations techniques au niveau d’une perspective centr´ ee fonctions.

L’approche que nous proposons dans le cadre de cette th` ese permet : (i) la mod´ elisation des applications ` a base de services en termes d’exigences fonctionnelles et non fonctionnelles ; (ii) la d´ ecouverte des services logiciels pertinents qui r´ epondent le mieux aux exigences fonctionnelles ; (ii) la s´ election des services logiciels pertinents et de haute QdS ; (iv) la coordination des services logiciels s´ electionn´ es en vue de les orchestrer ; (v) la validation de la composition afin de v´ erifier qu’elle r´ epond aux exigences des utilisateurs.

Notre approche consiste donc en un processus d´ ecoup´ e en cinq ´ etapes successives 1-5 comme le montre la Figure 1.1.

– Etape 1. Mod´ ´ elisation centr´ ee exigences des services m´ etiers. A cette `

´ etape, nous proposons une mod´ elisation centr´ ee exigences des services m´ etiers.

Cette mod´ elisation consiste ` a repr´ esenter les exigences des utilisateurs et ` a identifier et sp´ ecifier les services m´ etiers et leur composition ` a partir de ces exigences.

– Etape 2. D´ ´ ecouverte des services logiciels pertinents. A cette ´ ` etape, nous

proposons de chercher les services logiciels pertinents qui r´ epondent le mieux

aux exigences fonctionnelles. La recherche est bas´ ee sur les sp´ ecifications des

services m´ etiers ´ elabor´ ees dans la premi` ere ´ etape. Diff´ erents niveaux de filtrage

sont d´ efinis et appliqu´ es pour r´ eduire l’ensemble des services logiciels trouv´ es et

pour faciliter la s´ election dans l’´ etape suivante.

(21)

Th` ese : Une approche multi-perspective centr´ ee exigences pour la composition de services Web

Figure 1.1 — Approche multi-perspective centr´ee exigences pour la composition de services Web.

– Etape 3. S´ ´ election des services logiciels pertinents et de haute QdS.

A cette ´ ` etape, nous proposons une m´ ethode de guidage automatique pour la s´ election des services logiciels pertinents et de haute QdS.

– Etape 4. Coordination des services logiciels. ´ A cette ´ ` etape, nous proposons une g´ en´ eration automatique du proc´ ed´ e de coordination ` a partir du mod` ele des exigences ´ elabor´ e dans la premi` ere ´ etape.

– Etape 5. Validation de la composition. ´ A cette ´ ` etape, nous proposons une validation empirique des exigences fonctionnelles et une validation automatique des exigences non-fonctionnelles.

Des boucles de retour existent entre les ´ etapes dans le cas o` u les r´ esultats de validation obtenus montrent que les services compos´ es ne r´ epondent pas aux exigences des utilisateurs. Dans ce cas, nous proposons des affinements au niveau des trois premi` eres ´ etapes : (i) Mod´ elisation centr´ ee exigences des services m´ etiers : le mod` ele et les sp´ ecifications des services m´ etiers peuvent ˆ etre affin´ es en modifiant des exigences fonctionnelles et/ou des contraintes de QdS, (ii) D´ ecouverte des services logiciels pertinents : d’autres mots-cl´ es peuvent ˆ etre utilis´ es pour chercher un service logiciel, ou (iii) S´ election des services logiciels pertinents et de haute QdS : d’autres services peuvent ˆ etre s´ electionn´ es ` a partir de l’ensemble des services logiciels retourn´ e par l’´ etape de d´ ecouverte.

Ce processus est it´ eratif et il peut ˆ etre ex´ ecut´ e plusieurs fois jusqu’` a ce que les

r´ esultats de validation montrent que la composition obtenue satisfait au mieux les

exigences fonctionnelles et non-fonctionnelles des utilisateurs.

(22)

Contributions

1.5 Contributions

Les travaux entrepris dans le cadre de cette th` ese ont men´ es aux contributions suivantes :

– Contribution 1. La d´ efinition et la caract´ erisation de deux perspec- tives pour la composition de services Web. En r´ eponse ` a la limitation 1. Traitement partiel de la variabilit´ e. Nous d´ efinissons deux perspectives pour la composition de services : une perspective centr´ ee exigences appel´ ee perspective “intentionnelle” qui int` egre la variabilit´ e essentielle dans le mod` ele de sp´ ecification des services m´ etiers et une perspective centr´ ee fonctions appel´ ee perspective “op´ erationnelle” qui int` egre la variabilit´ e technique dans le mod` ele de coordination et d’ex´ ecution des services logiciels.

– Contribution 2. La proposition d’une couche de QdS. En r´ eponse ` a la limitation 2. N´ egligence des exigences non-fonctionnelles. Nous ajoutons une couche QdS au mod` ele utilis´ e pour la sp´ ecification des services m´ etiers.

– Contribution 3. L’extension d’un outil pour la d´ ecouverte automa- tique des services logiciels pertinents. En r´ eponse ` a la limitation 3. Pas de d´ ecouverte et s´ election des services logiciels. Nous proc´ edons ` a la d´ ecouverte des services logiciels par l’utilisation et l’extension d’un moteur de recherche de services. La d´ ecouverte est r´ ealis´ ee en interrogeant le moteur de recherche avec un ou plusieurs mots-cl´ es extraits ` a partir des sp´ ecifications des services m´ etiers.

Pour r´ eduire l’ensemble des services logiciels retourn´ e par le moteur de recherche et pour faciliter la s´ election par la suite, nous d´ efinissons et nous appliquons diff´ erents niveaux de filtrage (de QdS, syntaxique, s´ emantique, etc.) pour en garder que les services les plus pertinents qui r´ epondent le mieux aux exigences fonctionnelles.

– Contribution 4. La d´ efinition et la mise en œuvre d’une m´ ethode de guidage automatique pour la s´ election des services logiciels pertinents et de haute QdS. En r´ eponse ` a la limitation 3. Pas de d´ ecouverte et s´ election des services logiciels. Nous d´ efinissons et nous mettons en œuvre une m´ ethode de guidage automatique pour la s´ election des services logiciels pertinents et de haute QdS. Cette m´ ethode est bas´ ee sur deux cadres de travail formels qui sont l’Analyse Formelle de Concepts (AFC) et l’Analyse Relationnelle de Concepts (ARC) et elle s’applique aussi bien pour la s´ election des services logiciels atomiques que des services logiciels composites.

– Contribution 5. L’impl´ ementation d’un m´ ecanisme de g´ en´ eration

automatique des proc´ ed´ es de coordination des services logiciels. En

r´ eponse ` a la limitation 4. G´ en´ eration en boˆıte noire du proc´ ed´ e de coordination

des services logiciels. Nous impl´ ementons une transformation de mod` eles qui

(23)

Plan

permet de g´ en´ erer automatiquement les proc´ ed´ es de coordination des services logiciels ` a partir des sp´ ecifications des services m´ etiers.

– Contribution 6. La Validation de la composition. En r´ eponse ` a la limita- tion 4. Validation partielle de la composition. Nous validons empiriquement en termes de pr´ ecision et de rappel la composition des services par rapport aux exi- gences fonctionnelles. La pr´ ecision ´ evalue le nombre de r´ eels services pertinents et de haute QdS parmi les services s´ electionn´ es et compos´ es par notre approche, tandis que le rappel ´ evalue le nombre de services s´ electionn´ es et compos´ es par notre approche parmi les r´ eels services pertinents et de haute QdS qui existent.

Pour les exigences non-fonctionnelles, nous proposons d’appliquer la technique de simulation pour v´ erifier que les services s´ electionn´ es et compos´ es r´ epondent au mieux ` a ces exigences.

1.6 Plan

Ce m´ emoire de th` ese est d´ ecoup´ e en trois grandes parties qui sont organis´ ees comme suit :

– La premi` ere partie : inclut le chapitre 1 d’introduction d´ ej` a pr´ esent´ e, le chapitre 2 qui donne un aper¸ cu sur les concepts de base du paradigme services Web et le chapitre 3 qui pr´ esente un ´ etat de l’art sur les approches d’ing´ enierie des exigences qui traitent les applications ` a base de services Web. Ce troisi` eme chapitre se termine par une mise en perspective de notre approche avec les travaux de la litt´ erature.

– La deuxi` eme partie : inclut le chapitre 4 qui expose l’approche propos´ ee : l’approche multi-perspective centr´ ee exigences de composition de services Web et le chapitre 5 qui illustre cette approche par une ´ etude de cas.

– La troisi` eme partie : conclut ce m´ emoire de th` ese en r´ ecapitulant les contri-

butions apport´ ees dans le chapitre 6 et en annon¸ cant les perspectives de travaux

de recherche futurs dans le chapitre 7.

(24)

Chapitre

2 Concepts de base du paradigme service Web

C e chapitre ´ etablit une ´ etude du fondement th´ eorique de notre travail de th` ese

`

a savoir les concepts de base du paradigme service Web. Nous commen¸ cons d’abord par pr´ esenter un tour d’horizon d´ efinissant l’infrastructure et l’architecture de r´ ef´ erence de ce nouveau paradigme. Ensuite, nous nous s’int´ eressons ` a ´ elucider la notion de composition de services en introduisant ses diff´ erents types ainsi que les proc´ ed´ es utilis´ es pour d´ ecrire la coordination.

Sommaire

2.1 Les services Web : Vue d’ensemble . . . . 13 2.1.1 D´ efinition . . . . 13 2.1.2 Objectifs . . . . 14 2.1.3 Exemple de socle technologique : le trio SOAP, WSDL et UDDI 15 2.1.3.1 Transport : SOAP . . . . 15 2.1.3.2 Description : WSDL . . . . 16 2.1.3.3 D´ ecouverte : UDDI . . . . 17 2.1.4 Architecture de r´ ef´ erence . . . . 19 2.2 La composition des services Web : Concepts, terminologie

et technologies associ´ ees . . . . 21 2.2.1 D´ efinition . . . . 21 2.2.2 Architecture ´ etendue des services Web . . . . 22 2.2.3 Composition statique vs composition dynamique . . . . 23 2.2.4 Proc´ ed´ es de coordination : Orchestration vs Chor´ egraphie . . 24 2.2.4.1 Orchestration . . . . 24 2.2.4.2 Chor´ egraphie . . . . 25 2.2.4.3 Avantages de l’orchestration . . . . 26 2.2.4.4 Langage d’orchestration BPEL . . . . 26 2.2.4.5 Sc´ enario d’orchestration : l’application “Agence de

voyages” . . . . 27

2.2.5 Cycle de vie des applications ` a base de services . . . . 29

(25)

2.3 Synth` ese et probl´ ematique relev´ ee . . . . 30

2.4 Conclusion . . . . 31

(26)

Les services Web : Vue d’ensemble

2.1 Les services Web : Vue d’ensemble

L’une des tendances historiques qui a conduit ` a l’apparition des services Web est l’utilisation de l’architecture par composants. Ce type d’architecture a engendr´ e un d´ eveloppement rapide et ´ evolutif d’applications distribu´ ees et complexes. Au cours de ce d´ eveloppement, nous avons assist´ e ` a la mise en place de trois technologies de distribution [30] : CCM

1

(CORBA Component Model), EJB

2

(Enterprise JavaBeans) et .Net

3

. La mise en œuvre de ces trois technologies a soulev´ e de nombreuses difficult´ es [88] :

– Difficult´ e 1. L’interd´ ependance des composants. Pour pr´ eserver son

´ evolutivit´ e, une application distribu´ ee doit minimiser l’interd´ ependance entre ses composants. Cependant, cette action peut entraˆıner un dysfonctionnement dont il est souvent difficile de d´ eterminer pr´ ecis´ ement l’origine.

– Difficult´ e 2. H´ et´ erog´ en´ eit´ e des formats des composants. Pour pr´ eserver sa qualit´ e de service, une application distribu´ ee doit garantir une interop´ erabilit´ e entre ses divers composants et une maˆıtrise de leur h´ et´ erog´ en´ eit´ e. Cependant, la distribution de composant est un enjeu industriel o` u chaque technologie veut imposer son format, bien ´ evidemment, incompatible avec les autres formats.

Ces difficult´ es ont contribu´ e ` a l’apparition d’une nouvelle architecture de distribution o` u les composants sont ind´ ependants, autonomes et d´ ecrits sous un seul format stan- dardis´ e. Cette architecture est l’architecture orient´ ee services [88].

2.1.1 D´ efinition

Les Web services constituent une approche pour mettre en œuvre le paradigme de service. Les Web services ont ´ et´ e propos´ es initialement par IBM et Microsoft, puis en partie standardis´ es par le consortium du World Wide Web : le W3C.

Selon W3C [96] : “Un service Web est un syst` eme con¸ cu pour permettre l’in- terop´ erabilit´ e des applications ` a travers un r´ eseau. Il est caract´ eris´ e par un format de description interpr´ etable/compr´ ehensible automatiquement par la machine (en particulier WSDL). D’autres syst` emes peuvent interagir avec le service Web selon la

1. Architecture propos´ee par l’OMG (Object Management Group) permettant la d´efinition de com- posants portables `a l’aide de l’IDL (Interface Definition Language) et leur interop´erabilit´e `a l’aide du bus applicatif ORB (Object Request Broker) et du protocol IIOP (Internet Inter-ORB Protocol).

2. Architecture d´evelopp´ee par Sun proposant un cadre pour cr´eer des composants distribu´es ´ecrits en langage Java et ex´ecut´es sur la plateforme J2EE (Java 2 Entreprise Edition).

3. Cadre de travail introduit par Microsoft proposant une approche unifi´ee pour le d´eveloppement d’applications Windows ou Web par int´egration de composants. Il s’appuie sur la norme CLI (Common Language Infrastructure) qui est ind´ependante du langage de programmation utilis´e pour les compo- sants.

(27)

Les services Web : Vue d’ensemble

mani` ere prescrite dans sa description et en utilisant des messages SOAP, g´ en´ eralement transmis via le protocole HTTP et s´ erialis´ es en XML et en d’autres standards du Web”.

Selon M. P. Papazoglou [66] : “Les services Web sont des ´ el´ ements auto-descriptifs et ind´ ependants des plateformes qui permettent la composition ` a faible coˆ ut d’applica- tions distribu´ ees. Les services Web effectuent des fonctions allant de simples requˆ etes

`

a des processus m´ etiers complexes. Les services Web permettent aux organisations d’exposer leurs programmes r´ esultats sur Internet (ou sur un intranet) en utili- sant des langages (bas´ es sur XML) et des protocoles standardis´ es et de les mettre en œuvre via une interface auto-descriptive bas´ ee sur des formats standardis´ es et ouverts”.

Techniquement, un service Web est donc une entit´ e logicielle offrant une ou plusieurs fonctionnalit´ es allant des plus simples aux plus complexes. Ces entit´ es sont publi´ ees, d´ ecouvertes et invoqu´ ees ` a travers le Web grˆ ace ` a l’utilisation d’Internet comme in- frastructure de communication ainsi que de formats de donn´ ees standardis´ es comme XML.

2.1.2 Objectifs

L’approche de service Web vise essentiellement quatre objectifs fondamentaux expliquant son grand succ` es [46] [31] :

– L’interop´ erabilit´ e : l’interop´ erabilit´ e permet ` a des applications ´ ecrites dans des langages de programmation diff´ erents et s’ex´ ecutant sur des plateformes diff´ erentes de communiquer entre elles. En manipulant diff´ erents standards que ce soit XML ou les protocoles d’Internet, les services Web garantissent un haut niveau d’interop´ erabilit´ e des applications et ceci ind´ ependamment des plateformes sur lesquelles elles sont d´ eploy´ ees et des langages de program- mation dans lesquels elles sont ´ ecrites. Ainsi, en s’appuyant sur un format d’´ echange de messages standard et sur l’ubiquit´ e de l’infrastructure d’Internet, l’interop´ erabilit´ e est donc une caract´ eristique intrins` eque aux services Web.

– Le couplage faible : Le couplage est une m´ etrique indiquant le niveau

d’interaction entre deux ou plusieurs composants logiciels. Deux composants

sont dits coupl´ es s’ils ´ echangent de l’information. Nous parlons de couplage fort

si les composants ´ echangent beaucoup d’information et de couplage faible dans

le cas contraire. Vu que la communication avec les services Web est r´ ealis´ ee

via des messages d´ ecrits par le standard XML caract´ eris´ e par sa g´ en´ ericit´ e

et son haut niveau d’abstraction, les services Web permettent la coop´ eration

d’applications tout en garantissant un faible taux de couplage. Par cons´ equent,

il est possible de modifier un service sans briser sa compatibilit´ e avec les autres

services composant l’application.

(28)

Les services Web : Vue d’ensemble

– La r´ eutilisation : L’avantage de la r´ eutilisation est qu’elle permet de r´ eduire les coˆ uts de d´ eveloppement en r´ eutilisant des composants d´ ej` a existants. Dans le cas de l’approche service Web, l’objectif de la s´ eparation des op´ erations en services autonomes est en effet pour promouvoir leur r´ eutilisation. Ainsi, lorsqu’un client d´ efinit ses exigences, il est g´ en´ eralement possible de r´ eutiliser des services d´ ej` a existants pour satisfaire une partie des exigences. Ceci facilite la maintenance de l’application et permet un gain de temps consid´ erable.

– La d´ ecouverte et la composition automatiques : La d´ ecouverte et la compo- sition sont des ´ etapes importantes qui permettent la r´ eutilisation des services. En effet, il faudra ˆ etre en mesure de trouver et de composer un service afin de pouvoir en faire usage. En exploitant les technologies offertes par Internet et en utilisant un ensemble de standards pour la publication, la recherche et la composition, l’ap- proche services Web tend ` a diminuer autant que possible l’intervention humaine en vue de permettre une d´ ecouverte et une composition automatiques des services les plus complexes. En effet, pour r´ ealiser son application, un d´ eveloppeur peut simplement interroger un moteur de recherche de services afin de trouver le ser- vice ad´ equat et ` a l’aide de langages de coordination appropri´ es il peut l’int´ egrer avec le reste des services de son application.

2.1.3 Exemple de socle technologique : le trio SOAP, WSDL et UDDI Les services Web sont construits autour de standards qui sont SOAP, WSDL et UDDI assurant respectivement leur transport, leur description et leur d´ ecouverte.

2.1.3.1 Transport : SOAP

SOAP (Simple Object Access Protocol) est un protocole sp´ ecifi´ e par le W3C [97].

Il assure la communication entre clients et services ou entre services par ´ echange de messages au travers du Web. Il utilise principalement les protocoles HTTP

4

(Hyper- Text Tranfer Protocol) et SMTP

5

(Simple Mail Transfer Protocol) pour le transport de messages. Contrairement aux protocoles utilis´ es pour les autres technologies de distribution comme IIOP

6

(Internet Inter-ORB Protocol) pour CCM ou JRMP

7

(Java Remote Method Protocol) pour EJB qui sont des protocoles binaires, SOAP se base sur le standard XML pour encoder les donn´ ees.Par cons´ equent, il profite des avantages de g´ en´ ericit´ e, d’abstraction et de portabilit´ e qu’offre ce standard pour la

4. Protocole de communication client-serveur d´evelopp´e par le World Wide Web. Il permet l’´echange de tout type de donn´ees entre un client et un serveur en utilisant le port 80.

5. Protocole de communication utilis´e pour transf´erer le courrier ´electronique vers les serveurs de messagerie ´electronique moyennant le port 25.

6. Protocole de communication utilis´e par CORBA. C’est une impl´ementation s’appuyant sur un transport TCP/IP du protocole de plus haut-niveau GIOP (General Inter-ORB Protocol).

7. Protocole de communication utilis´e par l’API RMI (Remote Method Invocation). Il assure les connexions et les transferts de donn´ees et ceci en utilisant le langage Java et le protocole TCP/IP.

(29)

Les services Web : Vue d’ensemble

normalisation et la structuration des donn´ ees. Les messages SOAP sont englob´ es dans une enveloppe constitu´ ee d’un entˆ ete et d’un corps. L’entˆ ete est facultatif et il apporte des donn´ ees suppl´ ementaires au message SOAP comme des informations concernant l’authentification, la gestion de transactions, le paiement, etc. Le corps renferme, du cˆ ot´ e client, l’op´ eration du service invoqu´ ee ainsi que des valeurs des param` etres n´ ecessaires ` a cette invocation, et du cˆ ot´ e service, le r´ esultat de l’ex´ ecution de l’op´ eration invoqu´ ee.

La Figure 2.1 montre un message requˆ ete SOAP vers le service HelloWorld pour appeler l’op´ eration makeHelloWorld prenant un seul param` etre de type chaˆıne de ca- ract` eres value et le message de retour SOAP de l’appel de cette op´ eration qui retourne aussi un seul param` etre de type chaˆıne de caract` eres helloWorldResult.

Figure 2.1 — Exemple de message requˆete SOAP appelant l’op´eration makeHelloWorld du service HelloWorld et son message r´eponse SOAP [21].

2.1.3.2 Description : WSDL

WSDL (Web Service Description Language) est un langage de description de

services Web propos´ e par le W3C [98]. Il est bas´ e aussi sur le standard XML. Il

renseigne sur les aspects techniques relatifs ` a l’impl´ ementation et ` a l’invocation du

service Web ` a savoir son adresse, le protocole qu’il utilise, les op´ erations qu’il offre et

les types des donn´ ees ´ echang´ ees.

(30)

Les services Web : Vue d’ensemble

Un document WSDL est d´ ecompos´ e en deux parties : une partie abstraite et une partie concr` ete. La partie abstraite d´ ecrit les messages et les op´ erations disponibles via les ´ el´ ements suivants :

– <types> (optionnel et un seul autoris´ e) : informe sur les structures de donn´ ees des param` etres utilis´ es par le service.

– <message> (plusieurs autoris´ es) : encapsule les donn´ ees v´ ehicul´ ees pour l’op´ eration invoqu´ ee. Pour chaque op´ eration du service, il existe deux ´ el´ ements

<message> correspondant respectivement ` a la requˆ ete et ` a la r´ eponse.

– <portType> (plusieurs autoris´ es) : compos´ e d’une ou plusieurs op´ erations d´ ecrites par des ´ el´ ements <operation>. Chaque op´ eration poss` ede un nom, 0 ou plusieurs messages en entr´ ee et 0 ou plusieurs messages de sortie ou de fautes.

La partie concr` ete d´ ecrit le protocole et le type d’encodage ` a utiliser pour les messages Elle est compos´ ee par les ´ el´ ements suivants :

– <binding> (plusieurs autoris´ es) : d´ efinit les protocoles de communication utilis´ es pour l’invocation du service Web. Cette d´ efinition permet d’´ etablir le lien, d’une part, entre le document et les messages SOAP et d’autre part, entre les messages SOAP et les op´ erations invoqu´ ees.

– <service> (plusieurs autoris´ es) : permet de d´ ecrire un service comme ´ etant un ensemble de ports ` a travers lesquels il est possible d’acc´ eder ` a ses op´ erations. Ces ports repr´ esentent les adresses URI (Uniform Resource Identifier) du service.

Plusieurs parties concr` etes peuvent ˆ etre propos´ ees pour une mˆ eme partie abstraite.

Cette s´ eparation des ´ el´ ements du document WSDL en deux parties renforce la r´ eutilisabilit´ e de la partie abstraite.

La Figure 2.2 pr´ esente le document WSDL du service HelloWorld. Le service offre deux op´ erations : la premi` ere op´ eration est l’op´ eration makeHelloWorld qui prend en param` etre une chaˆıne de caract` eres et retourne une chaˆıne caract` eres et la deuxi` eme op´ eration est l’op´ eration simpleHelloWorld sans param` etre en entr´ ee et qui retourne une chaˆıne de caract` eres. L’acc` es au service est r´ ealis´ e par l’interm´ ediaire de messages SOAP. Le protocole utilis´ e pour l’´ echange des messages SOAP est HTTP et le style est RPC. Le service HelloWorld est accessible ` a partir de son adresse URI : http ://hello- worldwebservice.

2.1.3.3 D´ ecouverte : UDDI

UDDI (Universal Description, Discovery and Integration) est une standardisation

pour la publication et la d´ ecouverte des services Web [62]. UDDI est sponsoris´ ee par

(31)

Les services Web : Vue d’ensemble

Figure 2.2 —Document WSDL du serviceHelloWorld[21].

OASIS et il est le r´ esultat d’un accord interindustriel entre Microsoft, Ariba, IBM,

Sun Microsystems, Oracle, HP, SAP, etc. Il offre un m´ ecanisme de registre distribu´ e

de services permettant leur publication par les fournisseurs et leur d´ ecouverte par les

clients.

(32)

Les services Web : Vue d’ensemble

Les donn´ ees stock´ es dans l’UDDI sont structur´ ees en XML et organis´ ees en trois parties connues sous le nom de pages :

– Pages blanches : fournissent des descriptions g´ en´ erales sur les fournisseurs de services ` a savoir le nom de l’entreprise qui fournit le service, son identificateur commercial, ses adresses, etc.

– Pages jaunes : comportent des descriptions d´ etaill´ ees sur les fournisseurs de services catalogu´ es dans les pages blanches de fa¸ con ` a classer les entreprises et les services par secteurs d’activit´ es.

– Pages vertes : procurent des informations techniques sur les services Web catalogu´ es. Ces informations incluent la description du service, du processus de son utilisation et des protocoles utilis´ es pour son invocation.

Le protocole d’utilisation de l’UDDI offre trois fonctions de base : – publish : permet de publier un nouveau service.

– find : permet d’interroger l’annuaire UDDI.

– bind : permet d’´ etablir une connexion entre l’application cliente et le service.

Tout comme les services Web, il est possible de cr´ eer des annuaires UDDI priv´ es (utilis´ es

`

a l’int´ erieur de l’entreprise) ou publics (ouverts ` a l’ensemble de l’internet).

2.1.4 Architecture de r´ ef´ erence

L’objectif de la mise en place d’une architecture pour la technologie service Web est de proposer un sch´ ema directif et une vision sur le fonctionnement et la dynamique de cette nouvelle technologie. Pour cela, une architecture de r´ ef´ erence a

´ et´ e mise en place par le W3C. Cette architecture a ´ et´ e propos´ ee afin de promouvoir l’interop´ erabilit´ e et l’extensibilit´ e des services Web et de pr´ eserver ces deux objectifs lors des ´ evolutions technologiques successives. Cette architecture est connue sous le nom AOS (Architecture Orient´ ee Services) [31] [95]. Elle propose une perspective globale pour le d´ eveloppement, la gestion et le fonctionnement des services Web et elle s’articule autour des trois rˆ oles suivants :

– Le fournisseur : correspond au propri´ etaire du service. Il fournit une plateforme

d’accueil du service. Il a pour rˆ ole de cr´ eer un service, de l’h´ eberger et de le

publier pour le mettre ` a la disposition des clients ou des partenaires.

(33)

Les services Web : Vue d’ensemble

– Le client : correspond au demandeur du service. Il est constitu´ e par l’application qui va rechercher et invoquer un service. L’application cliente peut ˆ etre elle mˆ eme un service Web.

– L’annuaire : correspond ` a un registre de descriptions de services. Il offre des facilit´ es de publication de services ` a l’intention des fournisseurs ainsi que des facilit´ es de recherche de services ` a l’intention des clients.

Les interactions de base entre ces trois rˆ oles incluent les op´ erations de transport, de description et de d´ ecouverte et de transport qui sont assur´ ees respectivement par les standards SOAP, WSDL et UDDI.

Nous d´ ecrivons, par la Figure 2.3, un sc´ enario type d’utilisation de cette architec- ture.

Figure 2.3 —Architecture de r´ef´erence des services Web AOS.

Ce sc´ enario se d´ eroule en plusieurs ´ etapes qui sont les suivantes :

1. Le fournisseur d´ efinit la description de son service dans un document WSDL et la publie dans l’annuaire UDDI.

2. Le client, d´ esirant trouver un service, interroge l’annuaire UDDI via un message

SOAP.

(34)

La composition des services Web : Concepts, terminologie et technologies associ´ ees

3. L’annuaire retourne, via un message SOAP aussi, une liste de services qui r´ epondent ` a la requˆ ete du client. Le client n’a qu’` a choisir un parmi la liste.

4. Le client r´ ecup` ere le document WSDL du service choisi. Ensuite, il examine ce document afin de r´ ecup´ erer les informations n´ ecessaires lui permettant de se connecter au fournisseur et d’interagir avec le service consid´ er´ e. Enfin, il invoque l’op´ eration d´ esir´ ee par le biais d’une requˆ ete SOAP renfermant les param` etres d’entr´ ee de l’op´ eration.

5. Le service, du cˆ ot´ e du fournisseur, re¸ coit la requˆ ete, la traite, formule la r´ eponse SOAP et l’envoie au client.

2.2 La composition des services Web : Concepts, termi- nologie et technologies associ´ ees

Les services Web, tels qu’ils sont con¸ cus, peuvent ´ egalement se voir employ´ es dans le cadre d’applications distribu´ ees. En effet, en exploitant les standards ouverts du Web et en assurant un couplage faible des composants, la technologie service Web pr´ esente une approche flexible et universelle pour l’interop´ erabilit´ e de syst` emes h´ et´ erog` enes. Ceci a pour effet de permettre une int´ egration des applications plus rapide, moins coˆ uteuse et avec des perspectives prometteuses d’´ evolution et de r´ eutilisation pour les entreprises.

Cette op´ eration d’int´ egration est appel´ ee composition.

2.2.1 D´ efinition

Selon Gardarin [37] : “La composition est une technique permettant d’assembler des services Web afin d’atteindre un objectif particulier, par l’interm´ ediaire de primitives de contrˆ ole (boucle, test, traitement d’exception, etc.) et d’´ echange (envoi et r´ eception de messages). Les services composants existent au pr´ ealable et peuvent ne pas ˆ etre fournis par la mˆ eme organisation”.

Selon S. Dustdar et W. Schreiner [29] : “L’infrastructure de base des services Web suffit pour la mise en œuvre d’interactions simples entre un client et un service Web.

Si la mise en œuvre d’une application m´ etier implique l’invocation d’autres services web, il est n´ ecessaire donc de combiner les fonctionnalit´ es de plusieurs services web.

Dans ce cas, nous parlons d’une composition de services Web”.

La composition ou l’agr´ egation de services Web est une op´ eration qui consiste ` a

construire de nouvelles applications ou services appel´ es services composites ou agr´ egats

par assemblage de services d´ ej` a existants nomm´ es services basiques ou ´ el´ ementaires.

(35)

La composition des services Web : Concepts, terminologie et technologies associ´ ees

La composition sp´ ecifie quels services doivent ˆ etre invoqu´ es, dans quel ordre et sous quelles pr´ e-conditions. Les services basiques peuvent ˆ etre soient des services atomiques soient des services composites.

La composition de services Web vise essentiellement quatre objectifs :

– Cr´ eer de nouvelles fonctionnalit´ es en combinant des services d´ ej` a existants.

– R´ esoudre des probl` emes complexes auxquels aucune solution n’a ´ et´ e trouv´ ee.

– Faire collaborer plusieurs entreprises ensemble.

– Optimiser et am´ eliorer une fonctionnalit´ e existante.

2.2.2 Architecture ´ etendue des services Web

La composition de services a donn´ e naissance ` a une extension de l’AOS : l’archi- tecture ´ etendue [67] [69]. Cette architecture est constitu´ ee de plusieurs couches se superposant les unes sur les autres. De ce fait, elle est ´ egalement appel´ ee pile des services Web. Cette pile ne trouve pas encore de consensus quand ` a sa d´ efinition standardis´ ee. La Figure 2.4 est une proposition d’une telle pile.

Les couches de cette architecture sont les suivantes :

– Couche d’infrastructure de base : renferme les fondements th´ eoriques et techno- logiques ´ etablis par l’architecture de r´ ef´ erence.

– Couche de processus m´ etier : s’appuie sur la couche d’infrastructure de base et elle se pr´ eoccupe des aspects relatifs ` a la composition de services ` a savoir : la coordination, la supervision, la s´ emantique, etc.

– Couche de gestion : est la couche sup´ erieure et elle s’int´ eresse ` a la configuration, au d´ eploiement et ` a la maintenance des services Web, etc.

L’architecture ´ etendue attache ` a chacune des ces couches des aspects sp´ ecifiques ` a l’ing´ enierie des services. Celle ci est d´ efinie comme ´ etant l’activit´ e qui consiste ` a analyser, mod´ eliser et d´ evelopper les techniques et les m´ ethodologies n´ ecessaires pour les approches ` a services basiques et/ou composites.

Outre les nouvelles couches de composition et de gestion, l’architecture ´ etendue

prend ´ egalement en compte les aspects importants de propri´ et´ es comportementales et

non-fonctionnelles d’un service qui ne sont pas explicitement abord´ ee par l’architec-

ture de r´ ef´ erence. Pour cette fin, la couche d’infrastructure de base affine les exigences

(36)

La composition des services Web : Concepts, terminologie et technologies associ´ ees

d´ ecrites au niveau de l’architecture de r´ ef´ erence pour y inclure ´ egalement une descrip- tion du comportement du service et de ses propri´ et´ es non-fonctionnelles.

Figure 2.4 —Architecture ´etendue des services Web [69].

2.2.3 Composition statique vs composition dynamique

La composition des services Web peut ˆ etre soit une composition statique soit une composition dynamique [29] :

– La composition statique : est appel´ ee aussi composition off-line, pr´ ecompil´ ee ou encore proactive. C’est une composition qui utilise des services basiques qui sont au pr´ ealablement d´ efinis d’une fa¸ con fig´ ee et qui ne peuvent pas changer en fonction du contexte du client. Ce type de composition engendre des applications peu flexibles, parfois inappropri´ ees avec les exigences des clients.

– La composition dynamique : appel´ ee aussi composition on-line, postcompil´ ee ou encore r´ eactive. Elle se r´ ef` ere ` a la s´ election des services basiques “` a la vol´ ee”.

Autrement dit, la s´ election des services basiques ne peut pas ˆ etre pr´ ed´ efinie ` a

l’avance mais elle sera faite au moment de l’ex´ ecution en fonction des contraintes

impos´ ees par le client. Ceci permet d’´ elaborer diff´ erents sc´ enarii de composition

qui offrent les mˆ emes fonctionnalit´ es et qui tiennent compte de la dynamique de

la situation du client.

Références

Documents relatifs

Montrer que la condition initiale et toutes ses d´ eriv´ ees en x = 0 convergent uniform´ ement vers 0, tandis que, pour tout x &gt; 0, la solution trouv´ ee u(x, y) et toutes ses

L’estimation sur petits domaines et le traite- ment de la non-r´ eponse sont des exemples de domaines de recherche dans lesquels l’approche mod` ele a jou´ e un rˆ ole important

en tirant al ´eatoirement le g ´enotype au QTL avec les probabilit ´es que l’individu n soit de g ´enotype qQ ou QQ sachant ses marqueurs et la carte g ´en ´etique.. Comment

Conditions aux limites sur un solide Assemblage de deux composants Liaisons ´elastiques. Contact unilat´eral et

Autrement dit, une variable al´ eatoire X est discr` ete si et seulement si X prend (presque sˆ urement) ses valeurs dans un ensemble fini ou d´ enombrable E.. La plupart du temps,

Les haricots d'Espagne fleurissent de bonne heure ; leurs premières fleurs apparaissent en même temps que celles des haricots à rames les plus hâtifs tels que le haricot à

III Syst `emes temporis ´es 7 Logique Temporelle TCTL – temps continu.. Chapitre 7 : Logique Temporelle TCTL –

Donc, pour r´esoudre graphiquement le probl`eme, on va faire “glisser” la droite vers le haut tout en conservant une intersection non vide avec la zone gris´ee.. C’est en d