Chapitre 3 Les services web sémantique
46
Figure 3.9 À Exemple de message SOAP pour interroger un
service Web.
Le protocole SOAP s'appuie sur des standards de communication
comme le protocole HTTP , mais il peut aussi utiliser autres protocoles comme
SMTP . L'avantage d'utiliser SOAP avec le protocole HTTP est que la
communication est facilitée, en particulier les proxys et les
pare-feu peuvent être franchis sans problème. Il est ainsi
facilement adaptable à toutes les technologies antérieures, tout
en restant simple et extensible. Le protocole SOAP a pour avantage d'être
indépendant de la plate-forme d'exécution et du langage de
programmation.
SOAP est un protocole limité par sa simplicité
et ses faibles performances. Des alternatives apparaissent aujourd'hui,
notamment pour apporter plus d'efficacité.
4.5. WS-BPEL
L'assemblage de services Web repose sur l'orchestration, il
n'existe pas de composition structurelle de services Web. WS-BPEL, acronyme
de Web Services Business Process Execution Language, est une
spécification du consortium OASIS. Elle en est à sa version 3.0
depuis mars 2007. Cette spécification est l'une des plus connues pour
l'orchestration de services Web. Elle remplace les précédentes
spécifications XLANG de Microsoft, et WSFL d'IBM.
WS-BPEL est un langage de procédés basé
sur la technologie XML, tout comme les autres standards des services Web.
WS-BPEL permet de construire des procédés interprétables
et exécutables par un moteur d'orchestration. Les procédés
peuvent être modélisés de deux manières :
? abstraite : seuls les échanges de
messages entre les différents participants sont
spécifiés. Mais le comportement interne de ces
participants n'est pas explicité ;
? exécutable : les activités
du procédé sont ordonnées ; les partenaires
impliqués sont identifiés ainsi que les messages qui sont
échangés. A ceci s'ajoute le traitement des fautes et des
exceptions pour les cas d'erreurs.
Un procédé est composé
d'activités qui s'enchaînent grâce à des
échanges de données. Les activités peuvent être de
deux types : basiques ou complexes. Les activités basiques sont des
types de base comme invoke pour appeler un service Web, receive pour attendre
une
|