Upload
willelm-braun
View
107
Download
0
Embed Size (px)
Citation preview
1
Web Services
Génie Documentiel
Delacrétaz Jean-Marc
2
Sommaire
1. Généralités
2. Exemples et architecture
3. Les standards
1. SOAP 2. WSDL3. UDDI
4. Conclusion
5. Références
3
Web services
Généralités
4
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)
5
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,…)
6
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)
7
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
8
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
9
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).
10
Web services
Exemples et architecture
11
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.
12
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
13
Exemple plus complet (2)
Les services Web lui permettront de lancer une 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
14
Schématiquement
15
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.
16
Les quatre principales technologies desServices Web
Langage XML : Décrit les informations
Protocole SOAP : Exécute les services à distance
Langage WSDL : Décrit l’ interface des services
Norme UDDI : Trouve les services dont on a besoin
17
Services Web : vue générale
18
Web services
SOAP : Simple Object Access Protocol
19
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
20
Précisions sur SOAPStructure 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)
21
Types de message SOAP
SOAP définit trois types de message
Appel (Call) – obligatoire
Réponse (Response) – optionnel
Erreur (Fault) - optionnel
22
Structure d’un message SOAP
SOAP Message
SOAP Envelope
SOAP Header
SOAP Body
Method Call & Data
Headers
HTTP Headers
Appel de méthode et descriptionAppel de méthode et descriptionen XML de donnéesen XML de données
Corps qui contient lesCorps qui contient lesappels de méthodes SOAPappels de méthodes SOAP
Entête individuelleEntête individuelle
EntêteEntête
EnveloppeEnveloppe
Entête standard HTTPEntête standard HTTPet entête SOAP HTTPet entête SOAP HTTP
Le message SOAP CompletLe message SOAP Complet
23
Message SOAP encapsulé dans une requête HTTP
24
Message SOAP encapsulé dans une requête HTTP
25
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
26
Web services
WSDL : Web Services Description Language
27
Rôle du langage WSDL
WSDL est un langage qui permet dedé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.
28
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>
29
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
comparé à une interface Java.
30
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.
31
Conclusion WSDL
Avantages Description de services assez simple Facile à interroger sur l’Internet Extensible
Inconvénient Peu de fonctionnalités offertes
32
Web services
UDDI :
Universal Description, Discovery and Integration
33
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.),
34
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
35
Structure UDDI
36
Structuration de l’information
37
Annuaires UDDI en ligne
uddi.microsoft.com
www.ibm.com/services/uddi
uddi.hp.com
uddittest.sap.com
...
38
Web Services
Conclusion
39
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
40
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
41
Références officielles Services Web :
Spécifications officielles : http://www.w3c.org Documentations et exemples en ligne : http://www.xmlbus.com
SOAP : Spécification SOAP 1.1 : http://www.w3c.org/TR/SOAP Spécification SOAP 1.2 : http://www.w3c.org/TR/soap12 Implémentations : http://www.soapware.org Exemples en ligne : http://soapclient.com/soaptest.html
WSDL : Web Services Description Language (WSDL) 1.1 :
http://www.w3.org/TR/wsdl
UDDI : Spécification : http://www.uddi.org Serveur UDDI : http://uddi.microsoft.com et http://uddi.ibm.com
42
Références personnelles
Web Services http://www.w3.org/2002/ws http://encyclopedie.journaldunet.com http://www.planetexml.com http://www.esup-portail.org/consortium/espace http://xmlfr.org http://lfe.developpez.com/WebService http://www.softeam.fr/technologies_web_services.php
http://www.djefer.com/articles/soap/index.htm
43
MERCI
de
votre Attention!