Standardisation des services Web au W3C
Hugo Haas <hugo@w3.org>
W3C Web Services Activity
Lead
Présentation à la 
Journée de veille technologique à l'IRISA, Rennes, France, le 27
septembre 2002
Présentation
disponible à :
http://www.w3.org/2002/Talks/0927-hh-irisa/
Sommaire
- Historique
- Buts
- Défis
- Standardisation au W3C
Petit historique
- World Wide Web créé pour que des chercheurs
échangent des informations
- Très tôt, les utilisateurs ont utilisé des
formulaires HTML pour interagir avec des programmes (par
exemple : CGIs)
- Plus récemment : interactions entre machines
Service Web :
- Application
- Utilisée par une autre application
- Accédée via le Web (URI / XML)
Un service d'agence de voyages :
- vend des formules de vacances
- utilise d'autres service Web : compagnie de carte de
crédit, hôtel, compagnie aérienne
Exemple (suite) : avantages
- Bas coût pour de nouvelles compagnies aérienne,
hôtels, compagnies de carte de crédit de mettre en
vente leurs produits et services
- Le service d'agence de voyage a accès à plus de
services
- Les clients ont accès à de meilleures offres
Les défis rencontrés
Un ensemble complet de nouvelles technologies :
- protocole de communication
- description des services et de leurs interactions
complexes
- sécurité et protection de la vie privée
des gens
- ...
Intégration dans le World Wide Web
Le Web est un ensemble de ressources qui sont :
- identifiées (Uniform Resource Identifiers)
- représentations téléchargées
suivant certaines règles (par ex. HTTP GET)
- représentations structurées (par ex. XML)
Conception des technologies pour les services Web doit
être faite en suivant ces principes architecturaux.
Un besoin de sémantique
Caractéristiques des services Web :
- Interactions entre machines
- Accords dynamiques
- Pas de connaissance a priori des services avec lesquelles le
programme interagit
Nécessité de comprendre des vocabulaires XML
développés de manière indépendante
Standardisation
Activité Services Web au W3C
- Créée en janvier 2002
- Etend l'Activité XML Protocol créée en
septembre 2000
- Plus de 65 organisations participent
- Tout le travail effectué par les groupes de travail est
disponible publiquement
- Technologies développées dans un mode libre
(Royalty-Free)
- Organisation : 
3 groupes de travail : 1 groupe de
coordination 
Architecture des Services Web
- But : définir l'architecture des services Web 
- Qu'essaie-t-on de faire avec les services Web ?
- De quelles technologies a-t-on besoin ?
- Quelles sont les limites d'application de chaque
technologie ?
- Quelles sont les relations entre chacune des technologies
identifiées ?
 
- Ce travail sera utilisé pour délimiter et
décider de la création de futurs groupes de
travail
- Les services Web, ce n'est pas forcément SOAP + WSDL +
UDDI
- Travail débuté en janvier 2002
- Développée par le groupe de travail Architecture
des Services Web (Web
Services Architecture Working Group)
- 72 participants représentant 49 organisations
Objectifs (requirements) de l'architecture des services
Web
- Interoperabilité.
- Fiable : 
- Bien définie
- Ensemble de métriques, par exemple pour mesurer la
qualité de service
 
- Intégration propre dans le Web
- Sécurité et protection de la vie
privée
- Scalabilité and extensibilité : 
- Modulaire
- Extensible et ouverte
 
Avancement du groupe de travail Architecture des Services
Web
Liste des
documents produits par le groupe de travail :
- Objectifs (requirements) de l'architecture des services
Web : document de travail W3C  (consensus de groupe de
travail)
- Scénarii (usage scenarios) : document de travail
W3C
- Architecture : copie des éditeurs
- Glossaire : copie des éditeurs
Communiquer entre machines
- Besoin d'un protocole d'échange de messages permettant
des interactions complexes entre machines
- Information contenue peut être complexe
- Extensibilité très importante ; support
pour : 
- Extensions de sécurité
- Extensions de fiabilité
- Extensions de cache
- Etc.
 
Un protocole XML : SOAP version 1.2
- Travail débuté en septembre 2000
- Résultat de l'intérêt croissant de
l'utilisation de XML pour la communication entre applications
- Groupe de travail XML Protocol (XML Protocol Working
Group) : 47 participants représentant 29
organisations
- Evaluation des solutions techniques proposées par SOAP
1.1
SOAP version 1.2 en quelques mots
- SOAP : plus un acronyme
- Message SOAP : document XML 
- Enveloppe
- Composée d'un en-tête et d'un corps : 
 
 
 
- Modèle de traitement
- Envoi d'un expéditeur à un destinataire, via des
intermédiaires (optionnel)
- En-têtes : 
- Peuvent être adressées à certains
intermédiaires
- Leur traitement peut être marqués comme
obligatoire
 
- Peut être transporté d'un nœud à un
autre par n'importe quel protocole de transfert/transport (par ex.
HTTP)
- Pas uniquement des RPC
Exemple d'un message SOAP version 1.2
<?xml version='1.0' ?>
<env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope"> 
 <env:Header>
  <m:reservation xmlns:m="http://travelcompany.example.org/reservation" 
     env:role="http://www.w3.org/2002/06/soap-envelope/role/next"
        env:mustUnderstand="true">
   <m:reference>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</reference>
   <m:dateAndTime>2001-11-29T13:20:00.000-05:00</m:dateAndTime>
  </m:reservation>
  <n:passenger xmlns:n="http://mycompany.example.com/employees"
     env:role="http://www.w3.org/2002/06/soap-envelope/role/next"
       env:mustUnderstand="true">
   <n:name>John Q. Public</n:name>
  </n:passenger>
  <z:travelPolicy 
    xmlns:z="http://mycompany.example.com/policies" 
      env:mustUnderstand="true">
   <z:class>economy</z:class>
   <z:fareBasis>non-refundable<z:fareBasis>
   <z:exceptions>none</z:exceptions>
  </z:travelPolicy>
 </env:Header>
 <env:Body>
  <p:itinerary 
    xmlns:p="http://travelcompany.example.org/reservation/travel">
   <p:departure>
     <p:departing>New York</p:departing>
     <p:arriving>Los Angeles</p:arriving>
     <p:departureDate>2001-12-14</p:departureDate>
     <p:departureTime>late afternoon</p:departureTime>
     <p:seatPreference>aisle</p:seatPreference>
   </p:departure>
   <p:return>
     <p:departing>Los Angeles</p:departing>
     <p:arriving>New York</p:arriving>
     <p:departureDate>2001-12-20</p:departureDate>
     <p:departureTime>mid morning</p:departureTime>
     <p:seatPreference/>
   </p:return>
  </p:itinerary>
  <q:lodging 
    xmlns:q="http://travelcompany.example.org/reservation/hotels">
   <q:preference>none</q:preference>
  </q:lodging>
 </env:Body>
</env:Envelope>
Avancement du travail sur SOAP version 1.2
Travail basé sur SOAP 1.1 ; plus de 300
problèmes trouvés et résolus (clarifications,
formalisation, supports de standard (XML Information Set, XML Base,
...), etc.
Documents
produits :
- SOAP version 1.2, Part 1: Messaging Framework : document
de travail W3C, derniers commentaires demandés 
- Modèle de traitement (processing model)
- Enveloppe
- Canevas pour lier des messages SOAP à un protocole
sous-jacent (Protocol Binding Framework)
 
- SOAP version 1.2, Part 2: Adjuncts : document de travail
W3C, derniers commentaires demandés 
- Modèle de données (Data Model)
- Encodage de données (Encoding)
- Convention pour faire des RPC (RPC Convention)
- Convention pour la description de liaisons à des
protocoles et de propriétés (Binding and Feature
Description Convention)
- Séquence d'échange de messages (Message Exchange
Pattern (MEP))
- Liaison au protocole HTTP (HTTP Binding)
 
- SOAP 1.2 Attachment Feature : document de travail W3C,
derniers commentaires demandés (date limite : 15
octobre) 
- Modèle abstrait pour le transport d'attachements avec
une enveloppe SOAP
 
Avancement du travail sur SOAP version 1.2 (suite)
Documents
produits :
- Objectifs pour XML Protocol (XML Protocol (XMLP) Requirements
Document) : document de travail W3C
- Scénarii (XML Protocol Usage Scenarios) : document
de travail W3C
- Modèle abstrait pour XML Protocol (XML Protocol Abstract
Model) : document de travail W3C
- Préliminaire (SOAP version 1.2, Part 0: Primer) :
document de travail W3C, derniers commentaires demandés
- Collection de tests (SOAP Version 1.2 Specification Assertions
and Test Collection) : document de travail W3C, derniers
commentaires demandés
- Transport de messages SOAP dans un courrier électronique
(SOAP Version 1.2 Email Binding) : note W3C
Motivations pour un langage de description pour les services
Web
Problème : je veux utiliser votre service Web
- Où puis-je le trouver ?
- Quels sont les messages acceptés /
générés ? Quelle est leur
syntaxe ?
- Comment doivent-ils être communiqués ?
Besoin d'un format standard pour décrire les services
Web.
Evaluation des solutions techniques proposées par WSDL
1.1
Avancement du travail sur WSDL 1.2
- Objectifs du langage de description : 
- Basé sur XML Information Set
- Utilisation de W3C XML Schema mais possibilité
d'utiliser d'autres langage de schema
- Interactions simples entre services Web : unidirectionnel,
requête-réponse, solicitation-réponse, et
erreurs
- Description des échanges de messages avec SOAP 1.2 et
HTTP/1.1
- Extensibilité et indication de version
 
- Publication de scénarii
- Document de travail W3C du langage de description : 
- Langage de Description des Services Web (Web Services
Description Language (WSDL)) Version 1.2
- Langage de Description des Services Web (Web Services
Description Language (WSDL) Version 1.2) : liaisons aux
protocoles (Bindings)
 
Prochaines étapes :
- Groupe de travail Architecture : 
- continuation de la définition de l'architecture
- proposition de nouvelles aires de travail : recommendation
de la création d'un groupe adressant la choréographie
des services Web
 
- SOAP version 1.2 en route vers la Recommandation
- Groupe de travail Description : résolution des
problèmes trouvés dans WSDL 1.1, travail sur la
description des messages SOAP Version 1.2, mise en correspondance
de WSDL 1.2 et de RDF
Références
Cette
présentation:
http://www.w3.org/2002/Talks/0927-hh-irisa/
Activité Services
Web: http://www.w3.org/2002/ws/