Normes en matière de services Web

L'une des principale caractéristiques des normes Internet est qu'elles sont axées sur les protocoles et non sur les mises en oeuvre. L'Internet se compose de technologies hétérogènes qui interopèrent par le biais de protocoles partagés. Ceci empêche un fournisseur d'imposer une norme sur Internet. Le développement de logiciels libres joue un rôle crucial dans la défense de l'interopérabilité des mises en oeuvre des normes par les fournisseurs.

Les normes suivantes sont très importantes pour les services Web : Universal Description, Discovery and Integration (UDDI), Web Services Description Language (WSDL), Web Services Inspection Language (WSIL), SOAP et Web Services Interoperability (WS-I). La relation entre ces normes est décrite à la Figure 2.

Les spécifications UDDI définissent des normes ouvertes indépendantes des plateformes qui permettent aux entreprises de partager l'information dans un registre métier mondial, de reconnaître des services dans le registre et de définir leur mode d'interaction sur Internet. Pour plus d'informations sur UDDI, consultez le site www.uddi.org

WSIL est une spécification ouverte basée sur XML qui définit une méthode de reconnaissance des services répartis. Celle-ci permet la reconnaissance des services en fournissant des références à des descriptions de services au niveau du point de fourniture du fournisseur de services, en indiquant comment inspecter un site Web à la recherche de services Web disponibles. Un document WSIL définit les emplacements d'un site Web dans lesquels vous pouvez trouver des descriptions de services Web. WSIL étant axé sur la reconnaissance de services répartis, la spécification WSIL est complémentaire d'UDDI car elle permet de reconnaître des services disponibles sur des sites Web mais qui ne sont pas encore répertoriés dans un registre UDDI. Une rubrique distincte de la présente documentation traite de la Relation entre UDDI et WSIL. Pour plus d'information sur WSIL, voir www.ibm.com/developerworks/webservices/library/ws-wsilspec.html

WSDL est une spécification ouverte basée sur XML qui décrit les interfaces et les instances des services Web sur le réseau. Elle est extensible, ce qui permet de décrire les noeuds finaux quels que soient les formats de message ou les protocoles de réseau utilisés pour communiquer. Le entreprises peuvent mettre à disposition les documents WSDL de leurs services Web via UDDI, WSIL ou en diffusant les adresses URL à leur document WSDL par email ou sur des sites Web. WSDL est décrit dans une rubrique distincte dans cette documentation. Pour plus d'information sur WSDL, voir www.w3.org/TR/wsdl

SOAP est une norme basée sur XML utilisée pour la messagerie via HTTP et les autres protocoles Internet. Il s'agit d'un protocole simplifié permettant l'échange d'informations dans un environnement décentralisé et réparti. Il est basé sur XML et comprend trois parties : SOAP permet de lier et d'utiliser les services Web reconnus en définissant un chemin de messages pour le routage des messages. SOAP est utilisé pour émettre des requêtes UDDI pour les services Web. Pour plus d'information sur SOAP 1.1 (SOAP 1.2 n'est pas pris en charge par les outils de service Web), voir www.w3.org/TR/SOAP

Figure 2. Relations entre SOAP, UDDI, WSIL et WSDL.

La Figure 2 illustre les relations entre SOAP, UDDI, WSIL et WSDL.

Un fournisseur de services héberge un service Web et le rend accessible à l'aide de protocoles de type SOAP/HTTP et SOAP/JMS. Le service Web est décrit par un document WSDL stocké sur le serveur du fournisseur ou dans un référentiel particulier. Le document WSDL peut être référencé par le registre d'entités UDDI et les documents WSIL. Ceux-ci contiennent des pointeurs désignant les fichiers WSDL du service Web.

Les profils WS-I Simple SOAP Binding et WS-I Attachments regroupent des exigences auxquelles le trafic WSDL et le trafic de protocole WDSL et de services Web (SOAP/HTTP) doivent se conformer pour prétendre à une conformité WS-I. Les outils de validation WS-I des services Web prennent en charge WS-I Simple SOAP Binding Profile 1.0 et Attachment Profile 1.0. Pour consulter les spécifications, accédez au site Web du WS-I et sous Ressources, sélectionnez Documentation: http://www.ws-i.org

Plusieurs nouvelles normes de services Web sont aussi prises en charge par les produits Rational Developer, notamment :
JAX-RPC
JAX-RPC est l'acronyme désignant les API Java pour RPC basé sur XML, aussi appelées JSR 101. Il s'agit d'une spécification qui décrit les interfaces de programme d'application (API) Java et les conventions relatives à la conception de services Web et de clients de services Web utilisant des appels de procédure éloignée (RPC) et le langage XML. Cette spécification standardise les mappages Java vers WSDL et WSDL vers Java, et fournit les API essentielles au développement de services Web et de clients de services Web sur la plateforme Java. Pour plus d'information, voir les spécifications officielles.
JSR-109 et JSR-921
JSR-109 et JSR-921 (Implémentation des services Web d'entreprise) définissent le modèle de programmation et l'architecture d'exécution permettant le déploiement et la recherche de services Web dans l'environnement J2EE et plus particulièrement dans les conteneurs Web, EJB, et les applications client. L'un des principaux objectifs est de garantir l'interopérabilité des implémentations des différents fournisseurs. Pour plus d'information, voir les spécifications officielles :
WS-S
Ces outils prennent en charge la norme OASIS Web Services Security 1.0. Pour plus d'information sur les différents composants de cette norme, voir :

Les outils de services Web prennent en charge les spécifications suivantes :

Technologie ou spécification Version ou niveau pris en charge
Transports
HTTP/HTTPS v1.0 et v1.1
JMS  
Messagerie
Spécification SOAP v1.1
Connexions SOAP  
Description
UDDI v2.0
WSDL v1.1
WSIL v1.0
Sécurité
Sécurité WS OASIS Standard 1.0
Interopérabilité
Profil de base WS-I 1.1.2
WS-I Simple SOAP Binding Profile 1.0.3
WS-I Attachments Profile 1.0
Autre normes  
JAX-RPC v1.0 for J2EE 1.3, v1.1 for J2EE 1.4
JSR 109 J2EE 1.3
JSR 921 J2EE 1.4