WebService 03
WebService 03
WebService 03
1
Les Services Web, c'est quoi?
La technologie des services web affiche les mêmes intentions que les
architectures les plus anciennes en terme d'accès distant, comme les
moniteurs TP.
2
Les Services Web, c'est quoi?
Ils sont accessibles via le web par des protocoles bien connus
3
Les Services Web, c'est quoi?
4
Les Services Web, c'est quoi?
Les tâches associées à la manipulation des services web sont :
Interroger un annuaire : qui fournit des choses dont on ne connaît pas forcément
la nature, le rôle ou le contenu
5
Les Services Web, c'est quoi?
6
Les usages
7
Les technologies
8
Les technologies
9
Les technologies
Pile de protocole
Couche réseau
HTTP
(HyperText Transfer Protocol)
10
Les technologies
■Afin d'être découvert, un service doit être publié.
■Au dessus de ces trois couches de base viennent se
11
Le protocole SOAP
Rôle
Assure les appels de procédures à distance au dessus d'un protocole
de transport
12
Le protocole SOAP
Requête SOAP
Serveur SOAP
Client HTTP dispatcheur
TOMCAT
Réponse SOAP
réseau implémentation
13
Le langage WSDL
14
Le langage WSDL
15
Annuaire UDDI
Rôle
Spécification pour la définition d'un service de registre
Fournisseur
Déclaration du fournisseur
Enregistrement de ses Web Services disponibles
Client
Requête de recherche de Web Services (SOAP)
Mise en relation avec le Web Service d'un fournisseur
16
Le fournisseur de services
WSDL
description
Service Description du service
Provider
implémentation
17
SOAP
18
SOAP, c'est quoi?
19
SOAP, c'est quoi?
20
SOAP, c'est quoi?
Cela donne:
21
Les points forts
Simple et extensible
22
Les principes
23
Les principes
A noter que cela est hérité du modèle des schémas XML qui
permettent la représentation de structures de données
arbitrairement complexes (arbres, pointeurs, ...)
24
Les principes
25
Les messages SOAP: présentation
<soap:Envelope
xmlns:soap=http://www.w3.org/2001/12/soap-envelope
soap:encodingStyle=http://www.w3.org/2001/12/soap-encoding>
<soap:Header>
…
</soap:Header>
<soap:Body>
…
<soap:Fault>
…
</soap:Fault>
</soap:Body>
</soap:Envelope>
26
Les messages SOAP: présentation
Le prologue XML peut être présent, mais dans ce cas, ne doit contenir
qu'une déclaration XML (c-à-d. qu'il ne doit contenir ni référence à un
DTD, ni instruction XML).
27
Les messages SOAP: exemple
28
Les messages SOAP: exemple
29
Les messages SOAP: exemple
30
Les messages SOAP: le prologue
31
Les messages SOAP: l'enveloppe
32
Les messages SOAP: l'entête
33
Le messages SOAP: le corps
34
Les messages SOAP: le corps
35
Les messages SOAP: compléments
Voyons pour finir, à quoi ressemblent les dialogues SOAP pour des
méthodes avec des types de paramètres et de retour complexes.
36
Les messages SOAP: compléments
37
Les messages SOAP: compléments
Voici un exemple de requête SOAP pour notre nouveau service :
38
Les messages SOAP: compléments
Voici un exemple de requête SOAP pour notre nouveau service :
<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<ns1:getEmployeeDetailsResponse
xmlns:ns1="urn:MySoapServices"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return
xmlns:ns2="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns2:Array"
ns2:arrayType="xsd:string[2]">
<item xsi:type="xsd:string">Bill Posters</item>
<item xsi:type="xsd:string">+1-212-7370194</item>
</return>
</ns1:getEmployeeDetailsResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
39
Style RPC ou DOC
Style RPC
Appels de procédures distants
Paramètres proches des types des langages de programmation
Degré élevé d'automatisation
Style DOC
Echanges de messages conformes à des schémas arbitraires (Ex:
Demande d'achat).
Plus d'expressivité
Encouragé par .Net
40
Synchrone ou Asynchrone
41
Architecture technique côté client
42
Architecture technique côté client
43