Telechargé par Mounir ZERROUG

SOAP-Zerroug M1 Info-2019.2020

publicité
Module: PWA
Programmation Web Avancée
Master 1 Informatique
Université Ferhat Abbas Sétif 1
Faculté des Sciences
Département d ’informatique
SOAP
Réalisés par:
ZERROUG Mounir
Année universitaire
2019-2020
Plan
 Web-Service / SOAP
 What is SOAP ?
 Où utilisé SOAP ?
 Message SOAP
 SOAP en PHP
 SOAP: avec ou sans SOAP ?
SOAP
01
Web-Service / SOAP
Les services Web doivent permettre de construire une
plateforme distribuée pour le Web,
Il sont décrits grâce à des fichiers
 WSDL (Web Service Definition Language)
stockés dans un répertoire/annuaire
UDDI (Universal Description, Discovery, and
Integration)
Pour que le Web-Service puisse communiquer avec
n’importe quels systèmes, il faut utiliser un même format
de données.
Pour nous, ça sera le SOAP (Simple Object Access
Protocol).
SOAP
02
Web-Service / SOAP
Les services Web doivent permettre de construire une
plateforme distribuée pour le Web,
Il sont décrits grâce à des fichiers
 WSDL (Web Service Definition Language)
stockés dans un répertoire/annuaire
UDDI (Universal Description, Discovery, and
Integration)
Pour que le Web-Service puisse communiquer avec
n’importe quels systèmes, il faut utiliser un même format
de données.
Pour nous, ça sera le SOAP.
SOAP
03
What is 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
 Qui est derrière SOAP (Microsoft et IBM)
 Objectifs visés
‣ Assurer la communication entre applications
d’une même entreprise (intranet)
‣ Assurer les échanges interentreprises entre
applications et services Web
 Pour comparaison, SOAP est similaire aux protocoles
«RPC»
SOAP
03
Où utilisé SOAP ?
Deux utilisations possibles de SOAP
 Message: document style (transfert d’informations)
‣ on envoie un message qui contient les données, et
uniquement les données (pas de méthode)
‣ le serveur sait traiter les données et répond avec un
message, et ainsi de suite…
 RPC: RPC style
‣ on envoie les paramètres et les types de retour, et la
méthode à invoquer
‣ SOAP est utilisé comme un système XML-RPC
‣ Il traverse les firewalls.
SOAP
04
Où utilisé SOAP ?
SOAP
05
Message SOAP
Un message SOAP est un document XML constitué d’une
enveloppe composée des bloc suivants:
Enveloppe SOAP
Header SOAP (optionnel)
Bloc Header
Bloc Header
Body SOAP (obligatoire)
Bloc Body
-
Sous-bloc
Fault (optionnel)
-
Bloc Body
SOAP
06
Message SOAP
 Le message en entier est contenu dans
l’élément Envelope
 L’enveloppe ne contient qu’un seul élément
Body qui est obligatoire
 Le contenu de l’élément Body forme le message
 Si une enveloppe contient un élément Header
(un seul, optionnel), ce doit être le premier fils
de l’élément Envelope
 L’enveloppe peut contenir un sous-élément
Fault (un seul, optionnel), il doit être dans
l’élément body
SOAP
07
Message SOAP (Structure générale)
 Exemple d’une structure d'un message SOAP:
SOAP
08
Message SOAP (Le bloc <body>)
 Exemple de deux contenus de blocs Body
Requête pour obtenir le prix d'une pomme:
La "réponse" à cette requête:
SOAP
09
SOAP en PHP
On utilisent SOAP en Java, C++, Python, PHP…etc.
Pour notre exemple ça sera le PHP.
SOAP est géré en natif en PHP grâce à un API permettant
de faire un serveur et un client de manière simple.
Ce protocole fonction de la manière suivante :
Le client envoi une requête au serveur, et retourne un
fichier WSDL, contenant les méthodes autorisées et la
structure de la réponse aux requêtes (donc en gros,
expliquer au client comment interpréter les réponses)
Avec cette réponse, le client peut réaliser ses requêtes
Chaque réponse SOAP contient deux partie :
l'enveloppe et le contenu du message en lui-même
SOAP
10
Mise en place du webservice
 Vous devez créer un fichier pour votre web service,
nous allons le nommer par exemple Webservice.php.
SOAP
11
Création des méthodes
 Dans votre fichier Webservice.php, à la suite du code
déjà écrit, nous allons rajouter les lignes suivantes :
SOAP
12
WSDL :description du service
SOAP
13
WSDL :description du service
SOAP
14
Classe de test pour le serveur SOAP
SOAP
15
Client SOAP
 Déclaration d'un client SOAP pour consommer notre
Service WEB
SOAP
16
SOAP: avec ou sans SOAP ?
SOAP apporte
la possibilité d’orchestrer plusieurs services Web
la possibilité d'accéder à un service Web possédant une
API (Application Programming Interface)
la possibilité d’ajouter des méta-données dans le header
cela permet de traiter le message d’une certaine façon, ou
de ne pas le traiter (rôle next ou ultimateReceiver)
le fait de ne pas être restreint à des échanges de
messages basés sur les documents ou RPC
le fait de simplifier la sérialisation de documents XML
complexes
SOAP
17
Ressources
Référence

Services Web–SOAP, Fabrice Rossi, Université Paris-IX-Dauphine.

SOAP Concepts Application à Glassfish, Olivier Perrin, Université de Lorraine.

Services Web avec SOAP... de Jean-Marie Chauvet, ©Eyrol les,2002.
Web graphie

https://fr.wikipedia.org/wiki/SOAP

https://fr.wikibooks.org/wiki/Programmation_PHP/Exemples/Webservice

https://www.php.net/manual/fr/book.soap.php
SOAP
18
Merci bien de
votre attention
Téléchargement