Chapitre 3 Les services web sémantique
40
Cependant, pour passer d'un ensemble de services à une
composition de services correctement structurée, il faut suivre un
certain nombre d'étapes de la spécification à la
composition concrète exécutable :
? la définition de l'architecture fonctionnelle
: cette phase est faite pour identifier les fonctionnalités
attendues pour l'application résultant de la composition de services.
? l'identification des services : selon les
fonctionnalités attendues, on détermine les services
nécessaires à la composition ;
? . la sélection des services
et leur implantation : à partir des services identifiés
à l'étape précédente, il faut sélectionner
les services qui répondent correctement aux besoins ainsi que les
implantations adaptées ;
? la médiation entre services :
même si à l'étape précédente, les
services les plus adaptés ont été
sélectionnés, en général, il n'est pas possible de
les assembler tels quels. Il faut souvent ajouter de la médiation, par
exemple sémantique, pour que les interactions entre services
fonctionnent comme prévu.
? le déploiement et l'invocation des services :
une fois la composition correctement réalisée, il faut
déployer les services sur les plates-formes d'exécution. Il est
ainsi possible d'invoquer les services pour obtenir la composition
concrète.
La composition de services est spécifiée selon
une logique de coordination des services, c'est-à-dire selon le
contrôle de la composition qui peut être extrinsèque ou
intrinsèque aux services. Ces deux possibilités de gestion du
contrôle définissent deux styles de composition : la composition
par procédés, aussi appelée composition comportementale,
et la composition structurelle ; elles seront présentées dans les
deux sections suivantes.
3.2. Composition par procédés :
Dans ce type de composition, la logique de coordination des
services est spécifiée par un procédé. Un
procédé est représenté par un graphe orienté
d'activités et un flot de contrôle qui donne l'ordre
d'exécution des activités. Chaque activité
représente une fonctionnalité et cette dernière est
réalisée concrètement par un service. En pratique, la
composition est décrite dans un langage spécifique qui est
interprété par un moteur d'exécution. Toutes les
communications avec les services sont gérées par le moteur, tout
comme les erreurs.
Nous distinguons deux sous-types de composition en fonction du
type de contrôle :
la chorégraphie de services qui
décrit la collaboration entre une collection de services dont le but est
d'atteindre un objectif donné. L'accomplissement de ce but
|