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