Le modèle des services web repose sur une architecture
orientée service. Celle-ci fait intervenir trois catégories
d'acteurs :
· les fournisseurs de services (i.e. les
entités responsables du service web),
· les clients qui servent
d'intermédiaires aux utilisateurs de services et
· les annuaires qui offrent aux
fournisseurs la capacité de publier leurs services et aux clients le
moyen de localiser leurs besoins en terme de services.
Le fonctionnement des services web repose sur un modèle
en couches, dont les quatre couches fondamentales sont les suivantes :
· la couche publication repose sur le
protocole UDDI, qui assure le regroupement, le stockage et la
diffusion des descriptions de services web.
· la couche description est prise en
charge par le langage WSDL, qui décrit les
fonctionnalités fournies par le service web, les messages reçus
et envoyés pour chaque fonctionnalité, ainsi que le protocole
adopté pour la communication. Les types des données contenues
dans les messages sont décrits à l'aide du langage XML
Schéma.
· la couche message utilise des protocoles
reposant sur le langage XML. Actuellement,
SOAP est le protocole utilisé pour cette couche.
· la couche transport, repose sur le
protocole HTTP. Le protocole le plus utilisé sur Internet pour le
transfert de données et de messages.
La dynamique de l'architecture se décompose ainsi :
· D'abord, on effectue le déploiement du service
web, en fonction de la plateforme.
· Ensuite, on enregistre le service web à l'aide de
WSDL dans l'annuaire UDDI.
· L'étape suivante est la découverte du
service web par le client, par l'intermédiaire d'UDDI qui lui donne
accès à tous les services web inscrits. Pour ce, on utilise
SOAP.
· Enfin, Le client invoque le service web voulu, ce qui
termine le cycle de vie de ce service web.
2 : J'ai trouvé ! Voici le serveur
hébergeant ce service
Annuaire
UDDI
1 : je cherche
Un service web
3 : quel est le format d'appel du service que tu
proposes
Contrat SOAP
4 : Voici mon contrat (WSDL)
XML
Client
XML
Serveur
5 : J'ai compris comment invoquer
ton service et je t'envoie un document
représentant ma requête
XML
6 : j'ai exécuté ta requête et je te
retourne le résultat
Figure 2.1 : Modèle de fonctionnement de
l'architecture service web I.3. Principales technologies
utilisées
Un des points forts des services web est l'utilisation des
standards XML, SOAP, WSDL et UDDI augmentant ainsi le niveau d'interaction et
d'interopérabilité entre applications. Dans ce qui suit nous
expliquerons chacun de ces standards en bref.
I.3.1. XML-eXtensible Markup Language :
Recommandation du W3C depuis le 10 février 1998, le langage XML
connait depuis ses débuts un succès indéniable.
Les normes strictes qui gèrent la syntaxe et la
structure de XML rendent le langage et son utilisation plus aisés,
favorisant notamment la factorisation des travaux de développement
d'analyseurs syntaxiques. XML fournit donc un cadre de structuration des
données qui peut être employé pour la définition
rapide et sans ambiguïté syntaxique d'un format de document.
Un document est composé d'une définition de sa
structure et d'un contenu. La structure d'un document XML est souvent
représentée graphiquement comme un arbre. La racine du document
constitue le sujet du document, et les feuilles sont les éléments
de ce sujet. De ce fait, XML est alors flexible et extensible, et est devenu
rapidement le standard d'échange de données sur le web.
L'exemple suivant de document XML permet de décrire une
personne :
<?xml version="1.0" encoding="UTF-8"?>
<personne>
<nom>Dupond</nom>
<prenom>Jean</prenom>
<naissance>
<lieu>
<ville>Paris</ville>
<pays>France</pays> </lieu>
<date>
<jour>14</jour>
<mois>7</mois>
<annee>1789</annee> </date>
</naissance>
</personne>
I.3.2. SOAP-Simple Object Access Protocol :
SOAP est un protocole de communication pour l'échange
d'informations dans un environnement distribué. SOAP encourage le
partage des données entre machines qui seront capables d'analyser
facilement et correctement ces mêmes données [2], grâce
notamment à l'utilisation de XML comme principal format de
données. Il définit la structure des messages XML utilisés
par les applications pour dialoguer entre elles.
SOAP n'est pas lié à aucun système
d'exploitation ni langage de programmation. Il est indépendant du
langage d'implémentation des applications client et serveur. En plus, il
peut potentiellement être utilisé avec une variété
de protocoles (e.g. HTTP, HTTP Extension Framework).
I.3.3. WSDL-Web Services Description Language :
Lorsque vous voulez avoir des informations sur un service web, pour
pouvoir l'utiliser par exemple, vous devez faire une référence au
fichier WSDL.
WSDL est un langage de description de service web sous format
XML et indépendante du modèle de développement. WSDL
propose une double description du service (figure 2.4): Une vue dite
abstraite qui présente les opérations et les messages
des services et une autre dite concrète qui présente les
choix de mise en oeuvre faits par le fournisseur du service. Cette
séparation permet aux composants d'interagir même si l'application
a été modifiée, ce qui est un point important pour assurer
l'interopérabilité des services.
Un document WSDL décrit comment utiliser un service
web. Mais comment trouver ce service web? Comment localiser le document WSDL
qui le décrit? Le registre UDDI est la réponse
à cette question. On le présente dans le paragraphe suivant.
I.3.4. UDDI-Universal Description Discovery and
Integration : L'utilisation d'un service web nécessite sa
publication par son fournisseur aussi que sa découverte par le client
désirant l'invoquer: c'est le rôle d'UDDI.
UDDI est un annuaire de type XML, qui permet de bâtir
des annuaires des entreprises, ainsi que leurs produits et services, leur
permettant de s'enregistrer et de publier les services web qu'elles
désirent offrir au grand public [2].
L'idée derrière UDDI est de normaliser le
format des entrées d'entreprise et de services dans un annuaire pour
faciliter la découverte des services web et encourager les
échanges d'affaires entre elles.