Simple Object Access Protocol

Fournit un mécanisme simple et léger pour échanger des informations structurées et typées entre pairs dans un environnement décentralisé et distribué en utilisant XML. SOAP ne définit pas lui-même aucune sémantique applicative telle qu'un modèle de programmation ou d'implémentation; il définit plutôt un mécanisme simple pour exprimer la sémantique des applications en fournissant un modèle de packaging modulaire et des mécanismes d'encodage pour encoder les données définies par les applications.

SOAP est un protocole pour l'échange d'information dans un environnement décentralisé et distribué, comme internet par exemple.Il a été pris en compte comme note par le W3C.
SOAP est donc un protocole permettant l'invocation de méthodes, de services, de composants et d'objets sur des serveurs distants. SOAP peut normalement fonctionner sur de nombreux protocoles, des systèmes de messageries à l'utilisation des RPC mais il opère particulièrement bien avec le protocole HTTP. SOAP repose sur l'utilisation combinée de :
  • XML pour la structuration des requêtes et des réponses, représentant les paramètres des méthodes, les valeurs de retours et les éventuelles erreurs liées aux traitements
  • HTTP comme mécanisme d'invocation de méthodes. Pour ce faire, il repose sur un jeu réduit de paramètres précisés dans les en-têtes HTTP, facilitant le filtrage par les proxy et firewall.
Il est donc basé sur l'utilisation de XML pour structurer la nature d'un échange dont on peut distinguer :
  • une enveloppe, qui propose un framework visant à décrire ce qui est présent dans un message (la requête) et la façon dont il doit être traité,
  • un ensemble de règles de codage permettant de décrire les instances des types de données liées à l'application,
  • une convention pour représenter les appels aux procédures distantes réalisant le traitement et les réponses.
Sur la base de cette courte présentation, vous pouvez pensez qu'Il est similaire à IIOP pour CORBA, ORPC pour DCOM, Java Remote Method Protocol (JRMP) pour Java Remote Method Invocation (RMI). Alors pourquoi un nouvelle façon pour l'invocation de méhtodes à distance. Et bien, IIOP, ORPC et JRMP sont des protocoles orientés binaires alors que SOAP est un protocole basé sur du texte. De plus, basé sur HTTP et étant orienté ASCII, il pose moins de problèmes avec les équipements de sécurité.

SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses. SOAP can potentially be used in combination with a variety of other protocols; however, the only bindings defined in this document describe how to use SOAP in combination with HTTP and HTTP Extension Framework.

Source : w3c - SOAP / XMLP
w3c - SOAP / XMLP


Article extrait du site Loribel.com.
https://loribel.com/info/acronyms/soap.html