soap, wsdl et uddi

23
SOAP, WSDL ET UDDI Réalisé: TRABELSI. L

Upload: miraprincesse

Post on 19-Jun-2015

1.588 views

Category:

Documents


0 download

DESCRIPTION

document informationnel concernant Soap,wsdl et uddi

TRANSCRIPT

Page 1: Soap, wsdl et uddi

SOAP, WSDL ET UDDI

Réalisé: TRABELSI. L

Page 2: Soap, wsdl et uddi

PLAN

SOAP WSDL UDDI

Page 3: Soap, wsdl et uddi

SOAP

Simple Object Access Protocol: SOAP permet une normalisation des échanges de données. Les données sont encodées en XML et échangées par des appels de procédures à distance (RPC) en utilisant HTTP/SMPT/POP comme protocole de communication.

Standard W3C Simple, extensible et permet le diagnostic des

erreurs Fonctionne de manière synchrone et asynchrone. Indépendant de la plate-forme et du langage

Page 4: Soap, wsdl et uddi

Structure du message SOAP

SOAP ENVELOPE

SOAP HEADER

Envelope Contenant d’un message, Élément racine XML, Schéma XML

http://www.w3.org/2002/06/soap-envelope/

Header (optionnel) Entrées non applicatives, Ex : Numéros de session.

Body (obligatoire) Entrées applicatives, Ex : nom des procédures,

nom des paramètres, valeurs de paramètres,

Retour d’erreurs.

SOAP BODY

HEADER ENTRY

BODY ENTRY

SOAP ENVELOPPE

Page 5: Soap, wsdl et uddi

Structure du message SOAP

L’enveloppe: Élément obligatoire dans un message SOAP Il permet de spécifier la version de SOAP utilisée, en utilisant un

espace de nom http://www.w3.org/2003/05/soap-envelope Il permet aussi de spécifier les règles d’encodage (sérialisation et

désérialisation) mises en oeuvre dans le message (encodingStyle)

<?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body> ---------------------------!!Contenu de la requête!!--------------------------------- </soap:Body> </soap:Envelope>

Page 6: Soap, wsdl et uddi

Structure du message SOAP

L’Entête : Élément optionnel Il contient des éléments spécifiques à

l’application Il peut contenir trois types d’éléments:

Actor: Permet de préciser le destinataire final du message (message path)

MustUnderstand (0,1): Spécifie que le récepteur du message doit obligatoirement comprendre cet élément. Si ce n’est pas le cas, le récepteur arrête tout traitement

Encodingstyle: Même définition que pour l’enveloppe.

Page 7: Soap, wsdl et uddi

Structure du message SOAP

Le corps: obligatoire Contient les données ( paramètres) utilisées pour un appel de procédure distante effectué par le destinataire final. Ce ne sont pas des éléments SOAP, mais des éléments spécifiques à l’application.

Page 8: Soap, wsdl et uddi

Requête SOAP

<?xml version="1.0?><soap:Envelope xmlns:soap=http://www.w3.org/2001/12/soap-envelopesoap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:Body><m:GetPrice

xmlns:m="http://www.leaderprice.com/prices" ><m:Item>Apples</m:Item></m:GetPrice> </soap:Body>

</soap:Envelope>

<?xml version="1.0?><soap:Envelope xmlns:soap=

http://www.w3.org/2001/12/soap-envelopesoap:encodingStyle="http://www.w3.org/2001/12/soap-

encoding">

<soap:Body><m:GetPrice

xmlns:m="http://www.leaderprice.com/prices" >

<m:Item>Apples</m:Item></m:GetPrice>

</soap:Body></soap:Envelope>

Page 9: Soap, wsdl et uddi

Réponse SOAP

<?xml version="1.0"?><soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:Body><m:GetPriceResponse

xmlns:m="http://www.leaderprice.com/prices" ><m:Price>1.90</m:Price></m:GetPriceResponse>

</soap:Body></soap:Envelope>

<?xml version="1.0"?><soap:Envelope

xmlns:soap="http://www.w3.org/2001/12/soap-envelope"soap:encodingStyle="http://www.w3.org/2001/12/soap-

encoding">

<soap:Body><m:GetPriceResponse

xmlns:m="http://www.leaderprice.com/prices" >

<m:Price>1.90</m:Price></m:GetPriceResponse>

</soap:Body></soap:Envelope>

Page 10: Soap, wsdl et uddi

Retour d’erreur

Les descripteurs d’erreurs Faultcode: identifier l’erreur

Version Mismatch: Le namespace donné ne permet pas de valider le message

MustUnderstand : L’élément de l’entête n’a pas été compris

Client: Le message n’a pas été correctement formé ou il manque certaines informations.

Server: Serveur non accessible ou erreur de décodage du message.

FaultString: Permet de préciser la nature de l’erreur. FaultActor: Information sur la localisation de l’erreur. Detail: Erreur spécifique à l’application liée aux

données présentes dans le corps du message.

Page 11: Soap, wsdl et uddi

Transport de messages SOAP

HTTP (HyperText Transfer Protocol) Protocole bidirectionnel synchrone : requête/réponse Transfert de fichiers (habituellement HTML) Requête méthode GET/méthode POST Simple et disponible sur toute plate-forme

Client HTTP

ServeurHTTP

POST www.loria.fr/script HTTP/1.1accept: text/htmlaccept: image/gifcontent-type: application/x-www-form-urlencoded

parametre1=valeur1&parametre2=valeur2

HTTP/1.0 200 OKcontent-type: text/html

<HTML><HEAD><TITLE>LORIA …

Page 12: Soap, wsdl et uddi

Exemple retour d’erreur

<env:Body> <env:Fault> <faultcode>env:VersionMismatch> </faultcode> <faultstring>Version Mismatch</faultstring> </env:Fault> </env:Body>

Page 13: Soap, wsdl et uddi

Liaison SOAP/HTTP

SOAP utilise le mode POST de HTTP Requête SOAP/HTTP

Ajout du champs "action" Acheminement et Filtrage par les serveurs HTTP

Content-Type: application/soap+xml Message SOAP

Réponse SOAP/HTTP Content-Type: application/soap+xml Etat 2xx

Requête SOAP reçue et traitée avec succès, Message SOAP envoyée contient la réponse

ou rien (one-way model). Etat 500

Requête SOAP échouée, Envoi d’un message SOAP contenant le retour d’erreur.

HTTP

MessageSOAP

GET /Leaderprice HTTP/1.1Host: www.leaderpriceserver.comContent-Type: text/xml; charset= " ISO-8859-1"Content-Length: nnnnAction: " www.leaderprice.com/prices"

<env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope/"  env:encodingStyle=" http://www.w3.org/2002/06/soap-encoding/"/> 

</env:Envelope>

<env:Body><m:GetPrice

xmlns:m="www.leaderprice.com/prices"><m:Item>Apples</m:Item>

</m:GetPrice>   </env:Body>

Page 14: Soap, wsdl et uddi

Réponse SOAP/HTTP

HTTP/1.1 200 OKContent-Type: application/soap+xml; charset=" ISO-8859-1"Content-Length: nnnn

<env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope/"  env:encodingStyle=" http://www.w3.org/2002/06/soap-encoding/"/> 

</env:Envelope>

<env:Body>

<m:GetPriceResponse xmlns:m="www.leaderprice.com/prices">

 <Price>1.90</Price></m:GetPriceResponse>

   </env:Body>

Page 15: Soap, wsdl et uddi

Réponse SOAP/HTTP (erreur)

HTTP/1.1 500 Internal Server ErrorContent-Type: application/soap+xml; charset=" ISO-8859-1"Content-Length: nnnn

<env:Envelope xmlns:env="http://www.w3.org/2002/06/soap-envelope/"  env:encodingStyle=" http://www.w3.org/2002/06/soap-encoding/"/> 

</env:Envelope>

<env:Body> <env:Fault> <faultcode>SOAP-ENV:MustUnderstand</faultcode> <faultstring>SOAP Must Understand Error</faultstring> </env:Fault> </env:Body>

Page 16: Soap, wsdl et uddi

WSDL

Web Services Description Language : Une description en XML des services web.

Il décrit de manière abstraite et indépendante du langage de programmation, l’ensemble des fonctionnalités offertes par un service. Il permet de connaître les protocoles, les serveurs, les ports, le format des messages, les entrées, les sorties, les exceptions possibles et les opérations réalisées par un service web.

Page 17: Soap, wsdl et uddi

Structure du message WSDL

Page 18: Soap, wsdl et uddi

UDDI

Universal Description, Discovery and Integration Standard de l’ « Organization for the Advancement oF

Structured Information Standard » (avril 2003) UDDI permet aux fournisseurs de services de s’inscrire et

de répertorier les services qu’ils proposent. UDDI ne contient que des références associées à des

services, et non les services eux-mêmes Il peut être public ou privé

Les annuaires publics sont hébergés par des sociétés comme IBM ou Microsoft.

Les annuaires publics sont moins développés que les annuaires privés parce qu’ils ne sont pas suffisamment sécurisés.

Les annuaires privés peuvent être hébergés par une société quelconque sur un réseau privé ou sur internet.

Page 19: Soap, wsdl et uddi

UDDI

L’annuaire UDDI est composé de: Pages blanches: Contiennent des

informations sur l’entreprise comme le nom de la société, l’adresse

Pages jaunes: Contiennent la description des services web, au format WSDL, déployés par l’entreprise.

Pages vertes : Contiennent les informations techniques détaillées sur les services fournis (processus métier, description de service….)

Page 20: Soap, wsdl et uddi

UDDI

Pages blanches ou businessEntity: Décrites sous la forme d’un schéma XML. Elles contiennent les éléments relatifs à

l’entreprise qui propose le service (nom, coordonnées, secteur d’activité, l’adresse du site web…)

Page 21: Soap, wsdl et uddi

UDDI

Pages jaunes ou ServiceEntity: Décrites aussi sous la forme d’un schéma

XML C’est un ensemble de services proposés

répondant à un besoin métier spécifique Contiennent aussi la description des

services web proposés par ce dernier (nom du service, description, code…)

Une entreprise peut avoir plusieurs métiers et donc plusieurs businessService.

Page 22: Soap, wsdl et uddi

UDDI

pages vertes: Contiennent les informations techniques sur un service web.

Contiennent aussi les références aux tmodels (spécification des interfaces des services web)

Page 23: Soap, wsdl et uddi

Bibliographie

Introduction aux Web Services (2010), Rahee Ghurbhurn, Ecole Nationale Supérieure de Mines,

WSDL : Décrire et configurer (2010), Mickaël BARON.