Vous êtes sur la page 1sur 41

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

Vous aimerez peut-être aussi