La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Les technologies XML Cours 6 : Les Web Services et SOAP Mars 2011 - Version 1.0 -

Présentations similaires


Présentation au sujet: "1 Les technologies XML Cours 6 : Les Web Services et SOAP Mars 2011 - Version 1.0 -"— Transcription de la présentation:

1 1 Les technologies XML Cours 6 : Les Web Services et SOAP Mars Version 1.0 -

2 2 Web Services - SOAP SOAP (Simple Object Access Protocol) est un protocole RPC, orienté objet, bâti sur XML.RPCXML Il permet linvocation de méthode sur des objets distants grâce à léchange de message XML. SOAP n'est plus un acronyme depuis la version 1.2 qui a été réécrite en termes d'infosets XML, et non plus sous forme de sérialisations de document XML. La notion d'objet (spécifiée dans Simple OBJECT Access Protocol) devient donc obsolète.

3 3 Web Services - SOAP Bien que le protocole de transport le plus commun soit http(s), il est possible de lutiliser sur SMTP, voire tout MOM. W3C SOAP : translation/soap12-part0.html translation/soap12-part0.html InfoSet :

4 4 Web Services - SOAP Basé sur la technologie universelle XML par opposition aux spécifiques DCOM - DCE/NDR, CORBA - IIOP/CDR, JAVA - RMI/JRMP, RDA – XDR. Indépendant du langage, modèle objet (jusquà la version 1.1, système et plate-forme dhébergement du service Web. Prend en charge les protocoles et formats suivants : HTTP, SMTP et MIME (supporte «Multipart MIME»). Résolution des problèmes de sécurité : Les firewalls supportent des ports spécifiques (HTTP, FTP) La plupart des middlewares assignent des ports dynamiques …

5 5 Web Services - SOAP Septembre 1999 : SOAP 0.9 Spécifications par MicroSoft et DevelopMentor Décembre 1999 : SOAP 1.0 Soumission des spécifications à l IETF Association de UserLand Mai 2000 : SOAP 1.1 Nombreuses associations : IBM, HP, Lotus, Compaq, Intel … XIDL : rapprochement de Corba Septembre 2000 Groupe de travail W3C pour la standardisation de SOAP Corba/Soap Interworking RFP => SCOAP Avril 2007 : SOAP 1.2 SOAP abandonne le modèle objet pour utiliser XML Infosets

6 6 Web Services – SOAP - Exemple Requête HTTP invoquant une méthode GetOrders : Requête HTTP invoquant une méthode GetOrders : POST /Orders HTTP/1.1 Host: xxx.xxx.xxx.xxx Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "http://www.someorders.com/GetOrders" ALFKI 85

7 7 Web Services – SOAP - Exemple Réponse HTTP à la requête précédente : Réponse HTTP à la requête précédente : HTTP/ OK MessageType: CallResponse Content-Type : text/xml <…… données en retour sous forme XML …..>

8 8 Web Services – SOAP Eléments dun message SOAP : Envelope Élément pouvant contenir des déclarations d'espaces de noms ou des sous-éléments Header (optionnel) Permet des extensions telles que authentification, session… Body (obligatoire) Définit la méthode appelée, contient les paramètres Peut contenir un élément Fault en cas d'erreur Protocol Headers SOAP Envelope SOAP Header SOAP Body

9 9 Web Services – SOAP NameSpaces 1.1 Le namespace des balises SOAP : Le namespace de lencodage SOAP NameSpaces 1.2 Le namespace des balises SOAP : Le namespace de lencodage SOAP

10 10 Web Services – SOAP SOAP Header : Mécanisme dextension du protocole SOAP La balise Header est optionnelle Si la balise Header est présente, elle doit être le premier fils de la balise Envelope La balise Header contient des entrées Une entrée est nimporte quelle balise incluse dans un namespace. Les entrées contenues dans la balise Header sont non applicatives.

11 11 Web Services – SOAP Exemple 5 Lattribut mustUnderstand n Rien ou =0 : lélément est optionnel pour lapplication réceptrice n =1 : lélément doit être compris de lapplication réceptrice. Sinon le traitement du message par le récepteur doit échouer.

12 12 Web Services – SOAP SOAP Body : Le Body contient le message à échanger La balise Body est obligatoire La balise Body doit être le premier fils de la balise Envelope (ou le deuxième si il existe une balise Header) La balise Body contient des entrées qui sont des données applicatives. Une entrée est nimporte quelle balise incluse optionnellement dans un namespace Une entrée peut être une Fault.

13 13 Web Services – SOAP SOAP Fault : Balise permettant de signaler des cas derreur. SOAP 1.1 : La balise Fault contient les balises suivantes: Faultcode (Obligatoire): un code permettant didentifier le type derreur. Faultstring (Obligatoire): une explication en langage naturel. Faultactor : une information identifiant linitiateur de lerreur. Detail : Définition précise de lerreur.

14 14 Web Services – SOAP SOAP 1.2 : Code (obligatoire) : Peut être l'un des codes de spécifications prédéfinis ou un code personnalisé pour l'application. Reason (obligatoire) : Chaîne d'explication de l'erreur. SOAP 1.2 supporte des nombreuses raisons avec un support multi-langages. Role : Requis pour tous les nœuds SOAP, excepté pour l'ultime destinataire. Un URI décrivant la source de l'erreur. Detail : Requis si le corps de l'erreur SOAP ne peut pas être traité. Doit fournir des éléments sur le corps des éléments SOAP ayant échoué. Node : Requis pour tous les nœuds SOAP, excepté l'ultime destinataire. Un URI décrivant le nœud ayant entraîné l'erreur.

15 15 Web Services – SOAP Faultcode :4 groupes de code d erreur Client, Server, MustUnderstand, VersionMismatch Exemple SOAP 1.1 s:Client Une opération invalide s'est produite.

16 16 Web Services – SOAP Exemple SOAP 1.2 urn:uuid:64c5619c-99c3-4a83-9bdc- fcbb6f399f93 s:Sender Une opération invalide s'est produite. urn:uuid:64c5619c-99c3-4a83-9bdc- fcbb6f399f93 s:Sender Une opération invalide s'est produite.

17 17 Web Services – SOAP Les données contenues dans un message SOAP étant typées il faut définir un moyen de les encoder. Lencodage cest la représentation de valeurs sous forme XML. Le décodage est le pendant de lencodage soit la construction de valeurs à partir dXML Le fragment XML représentant des valeurs a une structure qui dépend du type de ces valeurs Il faut donc définir ce type Soit par un mécanisme définit par lutilisateur Soit en utilisant des Schéma XML (préconisé Soit en utilisant des Schéma XML (préconisé)

18 18 Web Services – SOAP Définition Value (valeur dune donnée) Simple value (string, integers,etc) Compound value (array, struct, …) Type (dune value) Simple Type Compound Type

19 19 Web Services – SOAP Types simples Types définis dans XML Schéma, partie 2 Entier, flottant, entiers négatifs, chaînes caractères, … Énumérations Types complexes Tableaux Partie dun tableau Tableau creux (sparse array) Structures À la C

20 20 Web Services – SOAP Types xml simples Enumeration Bleu

21 21 Web Services – SOAP DurandMichel34.7

22 22 Web Services – SOAP Tableau DurandMichel34.7DupondSerge40

23 23 Web Services – SOAP Tableaux Multidimentionnels =xsd:string[2,2]> l1c1l1c2l2c1l2c2 Tableaux Creux Third row, third col Third row, third col Eighth row, third col Eighth row, third col


Télécharger ppt "1 Les technologies XML Cours 6 : Les Web Services et SOAP Mars 2011 - Version 1.0 -"

Présentations similaires


Annonces Google