Standardisation des services Web au W3C
Hugo Haas <[email protected]>
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/