Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Service Web Expo SOAP

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 12

INSTITUT UNIVERSITAIRE LES COURS SONOU

*********
République du Bénin
****

Filière : Informatique 3

THEME : SOAP

Membres du groupe
1- AGOSSEVI Ange-Marie
2- AZONDJEDO Dolores
3- OMITCHO Svenson

Supervisé par
ADEKAMBI Akambi

Année Académique : 2022-2022


PLAN
I. Service Web
A.Qu’est-ce qu’un service Web ?
B. Les différentes technologies pour accéder ou
communiquer à un service web
II. SOAP
1. Origines
2. Objectifs
3. Concepts d’un message SOAP
4. Modèle d’échange de message SOAP
5. Relation avec le XML
6. Structure d’un message SOAP
7. Utilisation de SOAP dans une architecture client
serveur
III. Annexe

2
I. Service Web
A. Qu’est-ce qu’un service Web ?

 Une technologie permettant à des applications de dialoguer à distance


via Internet indépendamment des plates-formes et des langages sur
lesquelles elles reposent.
 Un service web est un programme informatique permettant la
communication et l'échange de données entre applications et systèmes
hétérogènes dans des environnements distribués. Il s'agit donc d'un
ensemble de fonctionnalités exposées sur internet ou sur un intranet,
par et pour des applications ou machines, sans intervention humaine, et
en temps réel.
 Selon la W3C (World Wide Web Consortium) : Un service Web est un
système logiciel identifié par un URI [RFC 2396], dont les interfaces et
les attaches publiques sont définies et décrit grâce à une définition
XML. Cela peut être découvert par d'autres systèmes logiciels. Ces
systèmes peuvent alors agir l'un sur l'autre avec un processus
d'enchaînement, en utilisant les messages basés sur XML et véhiculée
par des protocoles d'Internet.

B. Les différentes technologies pour accéder ou communiquer à un


service web
a. REST (Représentational State Transfer) : Consommer un Web
Service REST revient à appeler une simple URL en http (Post ou
Get), le serveur renvoie sa réponse, la plupart du temps en XML
b. Communication par échange de fichier XML
• XML-RPC
• SOAP (Simple Object Access Protocol)

3
II. SOAP
SOAP est un protocole de communication entre application basé sur le
langage XML. Initialement SOAP désignait l’acronyme de Simple
Object Access Protocol. Il est une recommandation du W3C. (World
Wide Web Consortium). D’après cette recommandation, SOAP est
destiné à être un protocole léger dont le but est d’échanger des
informations structurées dans un environnement décentralisé et
distribué. SOAP a été implémenté en gardant comme optique deux
objectifs principaux : la simplicité et la possibilité d’extension. Pour
cela, ce protocole utilise la technologie XML (Extended Markup
Language) pour définir un format de message qui puisse être échangé
sur différents protocoles de transport.

1. Origines
- 1998 : proposition d'un groupe de sociétés
- Microsoft, DevelopMentor et Userland Software En 1999 :
soumission à l'IETF et émission d'une spécification officielle
- Arrivée d'autres acteurs importants : IBM, Lotus, Compac,
IONA, Intel… En 2001 : Proposition de SOAP 1.1
- 8 mai 2001 : Diffusion des spécifications de SOAP 1.1 par le
W3C
- 17 décembre 2001 : SOAP 1.2 Working draft du W3C.

2. Objectifs
 Assurer la communication entre applications d’une même
entreprise (intranet)
 Assurer les échanges interentreprises entre applications et
services Web

3. Concepts d’un message SOAP


4
 Les messages SOAP sont utilisés pour envoyer (requête) et
recevoir (réponse) des informations d’un récepteur
 Un message SOAP peut être transmis à plusieurs récepteurs
intermédiaires avant d’être reçu par le récepteur final (~ chaîne
de responsabilité)
 Le format SOAP peut contenir des messages spécifiques
correspondant à des erreurs identifiées par le récepteur
 Un message SOAP est véhiculé vers le récepteur en utilisant un
protocole de transport (HTTP, SMTP, …)

4. Modèle d’échange de message SOAP


En dehors du protocole auquel SOAP est attaché, les messages sont
routés sur un chemin appelé un ‘message path’, qui permet de
transmettre un message à un destinataire en passant par un ou
plusieurs nœuds intermédiaires.
Une application SOAP recevant un message SOAP doit traiter ce
message en faisant les actions suivantes :
 Identifier toutes les parties du message SOAP ;
 Vérifier que toutes les parties mandataires sont supportées
par l’application pour ce message et les traiter en
conséquence. Si ce n’est pas le cas le message est supprimé ;
 Si l’application SOAP n’est pas la destination finale du
message alors le message est forwardé.

5. Relation avec le XML


Tous les messages SOAP sont encodés en XML.
Une application SOAP doit inclure le namespace SOAP adéquat
pour tous les éléments et les attributs définis par SOAP.
Elle doit pouvoir supprimer les messages qui ont un namespace
incorrect.
Il définit deux namespaces :
 L’enveloppe SOAP qui a l’identifiant suivant :
http://schemas.xmlsoap.org/soap/envelope/

5
 Les règles d’encodage qui a l’identifiant suivant :
"http://schemas.xmlsoap.org/soap/encoding/"
Notons qu’une message SOAP ne doit pas contenir de DTD.

6. Structure d’un message SOAP


 Un message SOAP est un document XML constitué d’une
enveloppe composée de deux parties :
 Un en-tête (header) qui peut être facultatif
 Un corps (body)

L’enveloppe SOAP
Elle est la racine d’un message SOAP identifiée par la balise
<soapenv:Enveloppe>. C’est lui qui contient le message et ses
différentes sous-blocs. Il s'agit du bloc racine XML. Il peut contenir
un attribut encodingStyle dont la valeur est une URL vers un fichier
de typage XML qui décrira les types applicables au message SOAP.
La spécification impose que la balise et les sous balises soient
explicitement associées à un namespace. La spécification SOAP
définit deux namespaces :
 SOAP-ENV ou soapenv :
http://schemas.xmlsoap.org/soap/envelope/
 SOAP-ENC : http://schemas.xmlsoap.org/soap/encoding/
Header : c'est un bloc optionnel qui contient des informations d'en-
têtes sur le message. S’il est présent, ce bloc doit toujours se trouver
avant le bloc Body à l'intérieur du bloc Envelope.
Body : c'est le bloc qui contient le corps du message. Il doit
absolument être présent de manière unique dans chaque message et
être contenu dans le bloc Envelope. SOAP ne définit pas comment est
structuré le contenu de ce bloc. Cependant, il définit le bloc Fault qui
peut s'y trouver.
Fault : ce bloc est la seule structure définie par SOAP dans le bloc
Body. Il sert à reporter des erreurs lors du traitement du message, ou
lors de son transport. Il ne peut apparaître qu'une seule fois par
message. Sa présence n'est pas obligatoire.
6
L’en-tête d’un message SOAP
L’en-tête d’un message SOAP est utilisé pour transmettre des
informations supplémentaires sur ce même message
 L’en-tête est défini par la balise <SOAP-ENV: Header>
 L’élément peut être facultatif
 Doit être placé avant le corps
 Différents usages de l’en-tête ?
 Informations authentifiant l’émetteur
 Contexte d’une transaction
 Pour certains protocoles de transport (FTP par exemple), l’en-
tête peut être utilisé pour identifier l’émetteur du message
 Un message SOAP peut transiter par plusieurs intermédiaires
avant le traitement par le récepteur final
Le Corps SOAP
 Le corps d’un message SOAP est constitué par un élément
 <SOAP-ENV:Body>
 L’élément <SOAP-ENV: Body> peut contenir soit
 Une erreur en réponse à une requête (élément <SOAP-ENV :
Fault> )
 Des informations adressées au destinataire du message SOAP
respectant un encodage déterminé
 L’encodage des informations est précisé par les bindings du
document WSDL Attribut style (Document et RPC)
 Attribut use (encoded et litteral)
 Pour faire simple nous utiliserons les services Web dans le cadre
de l’appel à une procédure distante

SOAP transporté par HTTP


 SOAP utilise un protocole de transport pour véhiculer les
messages SOAP de l’émetteur au récepteur : HTTP, SMTP, FTP,
POP3 et NNTP
 Le modèle requête/réponse de SOAP convient parfaitement au
modèle requête/réponse HTTP

7
7. Utilisation de SOAP dans une architecture client serveur

8
9
Annexe
1- Aborescence

2- Client.php

10
3- serveur.php

11
Autre source : https://deltastateonline.github.io/soap.tutorial

12

Vous aimerez peut-être aussi