Web Services
Génie Documentiel
Delacrétaz Jean-Marc
1
Sommaire
1. Généralités
2. Exemples et architecture
3. Les standards
1. SOAP
2. WSDL
3. UDDI
4. Conclusion
5. Références
2
Web services
Généralités
3
Qu’est ce que c’est?
Un service Web est une « unité logique applicative »
accessible en utilisant les protocoles standard
d’Internet
Une «librairie» fournissant des données et des
services à d’autres applications.
Ils combinent les meilleurs aspects du
développement à base de composants et du Web.
Ils s’appuient sur un ensemble de standards
(WSDL, SOAP et UDDI)
4
Caractéristiques
Les Web services sont réutilisable
Indépendamment de :
la plate-forme (UNIX, Windows,…)
leur implémentation (Java, C++, Visual Basic,…)
l’architecture sous-jacente (.NET, J2EE,…)
5
3 générations d’application Web
1 ° Génération
Pages Web statiques (HTML)
2 ° Génération
Des applications réelles
(Pages Web dynamiques, ASP, JSP, PHP, ...)
3 ° Génération
Les Web services (basé sur XML)
6
Web Services : une révolution?
Non, pas vraiment ils poursuivent un vieux rêve
de l’informatique :
Un monde où les ressources informatiques
pourraient inter opérer à travers un réseau,
indépendamment de leurs plates-formes d'origine
7
Pourquoi faire? (1)
Faire interagir des composants hétérogènes,
distants, et indépendants avec un protocole
standard (SOAP)
Plus concrètement:
Permettre à une application de trouver
automatiquement sur Internet le service dont elle a
besoin et d'échanger des données avec lui
8
Pourquoi faire ? (2)
Les Web Services ont été conçus pour intégrer la
dimension d'Internet, et la standardisation des
échanges.
Les services Web permettent d’interconnecter :
Différentes entreprises
Différents matériels
Différentes applications
Différents clients
Dédiés aux applications B2B (Business to Business),
EAI (Enterprise Application Integration), P2P (Peer to
Peer «Le pair à scruter technologie »). 9
Web services
Exemples et architecture
10
Exemple d’utilité
Imaginons :
Un serveur de news qui permette à n'importe quel
client de connaître la dernière news.
Dans ce cas :
Un service Web ferait office de serveur et un
programme prévu pour fonctionner avec celui-ci
permettrait de récupérer les informations.
11
Exemple plus complet (1)
Organisation d’un voyage
Billet d’avion, hôtel, location de voiture, …
Déclarations administratives
Solution 1 :
Recherche personnelle (Internet, téléphone,…)
Déclaration administrative manuelle
Solution 2 :
Agent de voyage
Réponse généralement unique
Déclaration administrative manuelle
Solution 3 :
Web Services
Découverte dynamique de partenaire
12
Exemple plus complet (2)
Les services Web lui permettront de lancer un
programme qui lui réservera à la fois un billet
d’avion, une location de voiture et une chambre
d’hôtel
Pour chaque opération la demande aura été dirigée
vers un site spécialisé
L’interlocuteur du client reste l’agence de voyage
13
Schématiquement
14
WS: une architecture orientée
service
Le fournisseur de service créé le service Web, puis publie son
interface ainsi que les informations d'accès au service, dans un
annuaire de services Web.
L'annuaire de service rend disponible l'interface du service ainsi
que ses informations d'accès, pour n'importe quel demandeur
potentiel de service.
Le consommateur de service accède à l'annuaire de service
pour effectuer une recherche afin de trouver les services désirés.
Ensuite, il se lie au fournisseur pour invoquer le service.
15
Les quatre principales technologies des
Services Web
Langage XML : (eXtensible Markup Langage)
Décrit les informations
Protocole SOAP : (Simple Object Access Protocol)
Exécute les services à distance
Langage WSDL : (Web Services Description Language)
Décrit l’ interface des services
Norme UDDI : (Universal Description Discovery and Integration)
Trouve les services dont on a besoin
16
Services Web : vue générale
17
Web services
SOAP : Simple Object
Access Protocol
18
Protocole SOAP (Simple Object Access Protocol)
Protocole de transport réseaux
Utilisation conjointe de XML et HTTP
But : définir la structure des messages échangés par les
applications via le net
Il est particulièrement utile pour exécuter des dialogues
requête-réponse RPC (Remote Procedure Call)
Permet à un client d'invoquer un service distant
SOAP a été construit pour pouvoir être aisément porté sur
toutes les plates-formes et les technologies
19
Précisions sur SOAP
Structure d'un message SOAP :
une enveloppe qui définit la structure du message
Élément racine
Namespace
un en-tête (optionnel) qui contient les informations d'en-tête
(autorisations et transactions par exemple),
un corps contenant les informations sur l'appel et la réponse
une gestion d'erreur qui identifie la condition d'erreur
des attachements (optionnel)
20
Types de message SOAP
SOAP définit trois types de message
Appel (Call) – obligatoire
Réponse (Response) – optionnel
Erreur (Fault) - optionnel
21
Structure d’un message SOAP
SOAP Message Le message SOAP Complet
Entête standard HTTP
HTTP Headers et entête SOAP HTTP
SOAP Envelope Enveloppe
SOAP Header Entête
Headers Entête individuelle
Corps qui contient les
SOAP Body
appels de méthodes SOAP
Method Call & Data Appel de méthode et description
en XML de données
22
Message SOAP encapsulé
dans une requête HTTP
23
Message SOAP encapsulé
dans une requête HTTP
24
En résumé
SOAP :
Permet une communication en univers
hétérogène
Est assez léger simple et facile à déployer
Est extensible
Est ouvert
25
Web services
WSDL : Web Services
Description Language
26
Rôle du langage WSDL
WSDL est un langage qui permet de
décrire:
un service Web,
et comment l’ invoquer
Objectif :
Décrire les services comme un ensemble d’opérations et de messages
abstraits relié à des protocoles et des serveurs réseaux
Permet de décharger les utilisateurs des détails techniques de
réalisation d’un appel
WSDL est un langage qui standardise les schémas XML utilisés
pour établir une connexion entre émetteurs et récepteurs.
27
Structure de WSDL:
<?xml version="1.0" encoding="utf-8"?>
<definitions>
<types>!--abstract data types</types>
<message>!--message structure</message>
<portType>!--Web Service Interface</portType>
<binding>!--how the service is accessed</binding>
<service>!--who provides the service</service>
</definitions>
28
Concepts de WSDL (1)
WSDL définit :
Les types
Contient les définitions de types utilisant un
système de typage. Utilisation de XML Schema
pour définir les types de données.
Le message
Décrit les noms et types d’un ensemble de
champs à transmettre. Peut-être comparé aux
paramètres d'un appel de procédure.
Les types de port (port Type)
Décrit un ensemble d’opérations. Peut être
29
comparé à une interface Java.
Eléments de WSDL (2)
La Liaison (binding)
Définit le format des messages et le protocole
utilisé par chaque type de port
Le port
un point de terminaison identifié de manière
unique par la combinaison d'une adresse Internet
et d'une liaison
Un Service
Une collection de points d’entrée (endpoint)
relatifs.
30
Conclusion WSDL
Avantages
Description de services assez simple
Facile à interroger sur l’Internet
Extensible
Inconvénient
Peu de fonctionnalités offertes
31
Web services
UDDI :
Universal Description,
Discovery and Integration
32
3ème standard : UDDI (Universal Description,
Discovery and Integration)
Annuaire mondial d'entreprises basé sur le Web
Il permet d'automatiser les communications entre prestataires,
clients, etc..
Très orienté « affaires » (vente, prestation)
Accessible grâce à SOAP
Intégrant toutes sortes d'entrées (nom, carte d'identité des
sociétés, description des produits et des services, etc.),
33
Structure des données UDDI
Qui : Le nom de l’entreprise, les contacts ...
Quoi : Les classes, les noms des services
Où : Les adresses d’accès aux services
Comment : Les informations concernant les
interfaces, les propriétés
34
Structure UDDI
35
Structuration de l’information
36
Annuaires UDDI en ligne
uddi.microsoft.com
www.ibm.com/services/uddi
uddi.hp.com
uddittest.sap.com
...
37
Web Services
Conclusion
38
Avantages des Web services
Ensemble assez simple de propositions
Le Web comme environnent de
développement
Il utilise les standards de W3C
Très adaptées aux problèmes des
communications entre applications WEB
39
Limites des Web services
Les 3 outils (SOAP, WSDL et UDDI) ne
règlent pas tout. Il reste des problèmes de:
vocabulaire,
de sémantique pour faire dialoguer des
applications
Problèmes de performances
40
41