Chapitre 3 Les services web sémantique
41
commun se fait alors par des échanges ordonnés de
messages [Daniel and al ,2004]. Dans ce cas, le contrôle est
distribué, comme le montre la Figure 3.4.
Figure 3.4 À Chorégraphie de services.
l'orchestration de services qui
décrit, du point de vue d'un service, les interactions de celui-ci ainsi
que les étapes internes (ex. transformations de données,
invocations à des modules internes) entre ses interactions [Chris 2003].
C'est une vision centralisée du contrôle, comme illustrée
dans la Figure 3.5.
Figure 3.5 À Orchestration de services.
La composition par procédés permet de
séparer distinctement le contrôle d'une application des
fonctionnalités. Elle est utilisée par les développeurs
pour construire des applications à base de briques logicielles dont le
fonctionnement interne n'est pas connu. Ces briques logicielles peuvent
être vues comme des « boîtes noires ». Les
fonctionnalités ainsi identifiées peuvent être plus
facilement réutilisées pour d'autres compositions et l'expression
de la logique de contrôle est exprimée simplement. Cependant, il
existe peu d'interactions entre les activités qui sont
assemblées, puisque les langages de composition ne permettent pas de
réaliser des algorithmes complexes. De plus, il n'est pas possible de
détailler, par exemple, les types d'interactions qui existent entre les
activités. La composition par procédés propose un mode de
contrôle très avantageux mais qui reste limité à
certains domaines.
Chapitre 3 Les services web sémantique
42
3.3. Composition structurelle :
Par opposition à la composition par
procédés, le contrôle dans une composition structurelle est
exprimé à l'intérieur des services. Le contrôle
n'est alors connu que du développeur et les seules informations qu'il
possède sont celles concernant les fonctionnalités que le service
fournit et celles que le service requiert.
Dans le cas de la composition structurelle, les services sont
donc clairement identifiés avec leurs interactions. Il faut à
l'assemblage résoudre les dépendances syntaxiques et
sémantiques entre les composants pour s'assurer de la validité de
la composition. C'est pourquoi pour définir le fonctionnement de la
composition, le développeur livre aussi la logique de coordination.
Figure 3.6 À Composition structurelle.
A l'inverse de la composition par procédés, la
composition structurelle ne permet pas facilement la réutilisation des
composants puisque le contrôle est interne aux services. Par contre, elle
est plus efficace puisque la communication entre services est directe, elle ne
passe pas par un intermédiaire comme dans la composition par
procédés. De plus, le contenu du service est
réalisé par le développeur, les algorithmes et les
interactions entre services peuvent être plus complexes que ceux des
compositions par procédés, qui ont un langage plus restreint.
|