• Aucun résultat trouvé

Le probl`eme de la composition des services se pose quand une requˆete d’un client ne peut ˆetre satisfaite par aucun des services disponibles [47]. Il devient, donc, n´ecessaire de combiner les services existants afin de cr´eer un nouveau service `a plus forte valeur ajout´ee et r´epondant au besoin sp´ecifique du client demandeur. Ainsi, l’impl´ementation du processus m´etier d’un service web composite implique plusieurs services composants ´

el´ementaires [48]. Par ailleurs, une composition de service est un processus r´ecursif du fait qu’il peut impliquer, soit des services ´el´ementaires soit des services entiers, qui sont `a leur tour des services compos´es [49].

2.5.1

D´efinition de la composition des services

La composition des services web services vise `a engager une collaboration entre diff´erents services pour r´ealiser une tache qui ne peut ˆetre accomplie par l’exploitation s´epar´ee de chaque service [49].

Dans cette perspective, la composition vise `a simplifier, de fa¸con consid´erable, le processus de d´eveloppement rapide des applications en favorisant la r´eutilisation des

2. OASIS est une organisation ind´ependante regroupant plus de 300 compagnies du monde infor-

CHAPITRE 2. LES SERVICES WEB ET LES PROTOCOLES DE SERVICES

composants existants [27]. En effet, un service compos´e est obtenu en combinant ”des parties” des services composants disponibles [47].

A titre d’exemple, si un utilisateur d´esire organiser un voyage, il n’est pas suffisant pour lui d’acheter un billet d’avion, mais il doit aussi r´eserver un hˆotel, louer une voi- ture, se divertir . . . . Dans ce sc´enario, l’utilisateur pourra r´ealiser sa tˆache en profitant des possibilit´es offertes par la panoplie des services web publi´es. Dans cette perspec- tive, il op`ere une composition des divers services existants. Une telle composition peut ˆ

etre g´er´ee manuellement, ce qui signifie que c’est l’utilisateur lui mˆeme qui s´electionne les services qu’il d´esire ex´ecuter un par un, comme elle peut ˆetre lanc´ee d’une mani`ere automatique.

2.5.2

Les buts de la composition

Les buts de la composition des services d´ependent des objectifs attendus, et qui peuvent ˆetre les suivants : la synth`ese, la v´erification ou la supervision.

La synth`ese des services [50] consiste `a g´en´erer les sp´ecifications des services com- posites en combinant ceux existants. La v´erification de la composition vise `a v´erifier si un service web satisfait certaines propri´et´es sp´ecifiques (qu’il assure la s´ecurit´e, par exemple) [51, 52]. La supervision [53] est d´eclench´ee lors de l’ex´ecution des services composites, et elle permet d’analyser diff´erents param`etres d’ex´ecution (par exemple : le temps, le cout ).

2.5.3

Processus de composition : manuel vs automatique

La composition manuelle est bas´ee sur l’intervention d’un expert humain. Elle aborde et traite les questions de programmation et d’ex´ecution de bas niveau. Un exemple des environnements de composition manuelle inclus BPEL [54] et Microsoft BizTalk3. La composition manuelle est souvent complexe, pose des probl`emes de pas-

sage `a l’´echelle et elle est potentiellement porteuse d’erreurs.

La composition automatique simplifie consid´erablement le processus de composi- tion, et elle offre des possibilit´es pour personnaliser les syst`emes complexes qui sont construits `a la vol´ee en fonction des besoins formul´es par l’utilisateur. Elle aboutit `a des applications flexibles avec une grande r´eactivit´e aux d´efaillances et `a l’adaptation dynamique aux changements de contexte. Par ailleurs, des techniques ont ´et´e d´eve- lopp´es pour permettre la v´erification de la composition des services web g´en´er´es, que ce soit automatiquement ou manuellement. Cependant, la composition automatique a ´

et´e et reste encore, une tˆache difficile `a r´ealiser. Nous pouvons citer diverses sources de complexit´e, telles que : (i) la difficult´e (par exemple : la d´ecidabilit´e [55] ) de la composition qui d´epend ´etroitement de l’expressivit´e des mod`eles de services utilis´es et de l’objectif de la composition ; (ii) le grand nombre de services web disponibles sur le web ; (iii) et la diversit´e des mod`eles de repr´esentation des services `a cause des besoins de mod´elisation et/ou `a cause de la vision des d´eveloppeurs.

CHAPITRE 2. LES SERVICES WEB ET LES PROTOCOLES DE SERVICES

2.5.4

Nature de la composition : statique vs dynamique

La composition statique se d´eroule au moment de la conception d’une application du fait que les composants impliqu´es sont choisis, li´es et assembl´es avant d’ˆetre d´eploy´es [9]. Une telle approche de composition est adapt´ee pour les environnements ferm´es et caract´eris´es par une ´evolution peu fr´equente des composants.

Par contre, la composition dynamique s’effectue au moment de l’ex´ecution (at run-time), et elle permet de cr´eer de mani`ere autonome des services complexes, en combinant `a la vol´ee les composants en fonction des demandes et du contexte de l’utilisateur [56]. Ce dernier type de composition est op´er´e dans les environnements ouverts et flexibles, o`u la s´election et la combinaison des composants sont faits `a la demande. L’approche de composition dynamique des services est, g´en´eralement, assujettie `a divers d´efis, tels que : (i) le grand nombre de services quotidiennement disponibles ; (ii) le nombre sans cesse croissant de fournisseurs de services ; (iii) la nature volatile des services web (par exemple, ils peuvent disparaˆıtre, peuvent ˆetre modifi´es ou temporairement indisponibles).