• Aucun résultat trouvé

Dans le contexte de l’´evolution dynamique des protocoles des services web, les instances actives ne sont pas toujours en mesure de satisfaire les contraintes impos´ees par le nouveau protocole. Cette restriction est due, fondamentalement, au fait que ces instances ont commenc´e leurs ex´ecutions sur la base de l’ancien sch´ema du protocole de service. Se pose, alors, la question de la gestion de la migration des instances actives vers le nouveau protocole, suite `a l’entr´ee en vigueur des changements port´es par le nouveau protocole.

Pour surmonter les limites des approches classiques de gestion de la migration, nous proposons une nouvelle approche qui donne la possibilit´e aux fournisseurs de services de d´efinir, d’une mani`ere d´eclarative, les contraintes qui gouvernent le processus de migration des instances actives. Ainsi, ils auront plus de marge de manœuvre pour sp´ecifier des strat´egies de migration adapt´ees `a leurs besoins sp´ecifiques. Cette fa¸con d’appr´ehender le probl`eme contribue, in´evitablement, `a la maitrise de l’analyse de l’impact du changement. En effet, ces strat´egies de migration flexibles offrent plus de possibilit´es aux instances actives pour qu’elles puissent continuer leurs ex´ecutions, conform´ement aux nouvelles sp´ecifications du protocole ayant subi des changements.

CHAPITRE 5. UN LANGAGE D´ECLARATIF DE MIGRATION D’INSTANCES

5.5.1

Caract´eristiques de l’approche

L’objectif est de proposer une approche de migration qui prend en consid´eration les insuffisances d´ecel´ees durant la phase d’analyse des travaux connexes du domaine (chapitre 4), et qui apporte des enrichissements fondamentaux par rapport aux ap- proches existantes pour la gestion de la migration des instances actives des services web.

Nous proposons une approche qui est bas´ee sur la perception de la migration des instances actives comme ´etant le probl`eme de s´electionner des instances s’ex´ecutant sous un protocole de service donn´e et de les convertir en de nouvelles instances qui seront conformes avec la sp´ecification du nouveau protocole [161]. Les fournisseurs de services peuvent, ainsi, sp´ecifier leurs propres strat´egies de migration, ind´ependam- ment des contraintes impos´ees par la rigidit´e dict´ee par la mise en conformit´e du nouveau protocole avec l’ancien.

Le trait saillant de notre approche consiste en un cadre formel fond´e sur un lan- gage d´eclaratif pour assister les fournisseurs de services dans la d´efinition des stra- t´egies de migration `a granularit´e fine des instances actives. Ainsi, au lieu de forcer les instances actives `a refl´eter le plus fid`element possible celles d’origine, nous donnons aux fournisseurs de service la possibilit´e de sp´ecifier, d’une mani`ere d´eclarative, les contraintes qui gouvernent le processus de migration de ces instances.

Dans cette perspective, l’approche propos´ee est caract´eris´ee par sa capacit´e de prendre en compte diff´erentes dimensions du probl`eme de migration, `a savoir :

1. Une analyse de la compatibilit´e des protocoles dans une dimension plus flexible qui d´epasse la simple v´erification de la compatibilit´e stricte.

2. Au del`a de la compatibilit´e historique, la migration des instances est consid´er´ee, aussi, dans sa port´ee future qui traite les ex´ecutions des activit´es `a venir. 3. Les op´erations de changement qui peuvent affecter les structures du mod`ele du

protocole de service sont complexes (chemin, sous-chemin, sous-protocole, . . .) 4. En plus de la sp´ecification des contraintes d’obligation, que les instances actives

doivent satisfaire lors de la migration, d’autres types de contraintes sont prises en charge (interdiction, migration conditionnelle,. . . ).

5. Afin de satisfaire diff´erentes strat´egies de migration sp´ecifiques et diversifi´ees, la migration est abord´ee d’une mani`ere formelle, consolid´ee par une assise th´eorique solide bas´ee sur des mod`eles g´en´eriques.

5.5.2

Fondement de l’approche d´eclarative

Le cadre formel qui supporte l’approche propos´ee est fond´e sur les deux ´el´ements suivants.

− la sp´ecification d’un langage de migration d’instances ;

− l’identification et la formalisation d’un ensemble de patrons3 de migration.

Premi`erement, le langage de migration d’instances permet de d´ecrire des r`egles de migration d’instances. Une r`egle de migration sp´ecifie les contraintes `a satisfaire pour transf´erer une instance d’un protocole initial vers un nouveau protocole. Ainsi,

CHAPITRE 5. UN LANGAGE D´ECLARATIF DE MIGRATION D’INSTANCES

elle permet de convertir les traces des instances choisies dans l’ancien protocole de service, vers des instances correspondantes dans le nouveau protocole.

Pour permettre la prise en charge des diff´erents historiques d’ex´ecution, tout en r´epondant `a la large diversit´e des besoins de gestion, chaque r`egle de migration du langage propos´e doit ˆetre s´elective (requˆete sur les traces), et en mˆeme temps, elle doit ˆ

etre capable de r´epondre aux r`egles de gestion particuli`eres (les contraintes impos´ees par l’´evolution). Ainsi, chaque r`egle de migration, utilis´ee dans le cadre d’une strat´egie de migration donn´ee, doit assurer les deux objectifs principaux suivants :

− permettre de s´electionner les instances actives qui v´erifient des conditions par- ticuli`eres dans l’ancien protocole (les pr´e-conditions),

− convertir les instances s´electionn´ees en des instances du nouveau protocole. Une fois transf´er´ees, les traces des instances obtenues doivent v´erifier les contraintes impos´ees par le nouveau protocole (post-conditions).

Deuxi`emement, en plus des r`egles de migration, le langage d´eclaratif propos´e est enrichi et ´etendu par un ensemble de patterns de migration. Les patterns de migration formalis´es dans notre approche sont g´en´eriques, param´etrables et assurent diff´erentes strat´egies de migration des instances actives. Chaque pattern de migration se focalise sur un type particulier d’instances `a faire migrer de l’ancien protocole vers le nouveau. Donc, chaque pattern exprime une r`egle g´en´erique de migration qui cible une cat´egorie sp´ecifique d’instances actives `a transf´erer.

En se basant sur les deux ´el´ements pr´ec´edents, dans notre approche, une strat´egie de migration est exprim´ee par un ensemble de patterns de migration, o`u chaque pattern capture une classe de contraintes d´ependantes de l’application, et il peut ˆetre instanci´e par le fournisseur de service pour d´efinir des r`egles de migration sp´ecifiques dans le cadre d’une strat´egie de migration particuli`ere.

Dans la prochaine section, nous pr´esentons le m´ecanisme de fonctionnement du langage de migration d’instances, et nous d´ecrivons sa formalisation. Apr`es, dans le prochain chapitre (chapitre 6), nous identifions et nous formalisons l’ensemble des patterns de migration.