SOAP

Un article de Wikipédia, l'encyclopédie libre.

Pour les articles homophones, voir S.O.A.P..

SOAP (ancien acronyme de Simple Object Access Protocol) est un protocole de RPC orienté objet bâti sur XML.

Il permet la transmission de messages entre objets distants, ce qui veut dire qu'il autorise un objet à invoquer des méthodes d'objets physiquement situés sur un autre serveur. Le transfert se fait le plus souvent à l'aide du protocole HTTP, mais peut également se faire par un autre protocole, comme SMTP.

Le protocole SOAP est composé de deux parties :

  • une enveloppe, contenant des informations sur le message lui-même afin de permettre son acheminement et son traitement,
  • un modèle de données, définissant le format du message, c'est-à-dire les informations à transmettre.

SOAP a été initialement défini par Microsoft et IBM, mais est devenu une référence depuis une recommandation du W3C, utilisée notamment dans le cadre d'architectures de type SOA (Service Oriented Architecture) pour les Services Web WS-*.

Le protocole SOAP emploie des métadonnées. Voir Using SOAP metadata

SOAP n'est plus un acronyme depuis la version 1.2. En effet, SOAP v1.2 a été réécrit en termes d'infosets XML, et non plus sous forme de sérialisations <?xml....?> comme il l'était en v1.1. La notion d'objet (spécifiée dans Simple OBJECT Access Protocol) devient donc obsolète.

Sommaire

[modifier] Critiques techniques

De nombreux commentateurs et spécialistes ont discuté des avantages et inconvénients de SOAP relatifs aux technologies alternatives, et relatives aux contextes de son utilisation.

[modifier] Avantages

  • Utiliser SOAP via HTTP facilite la communication et évite les problèmes de proxys et pares-feu par rapport à de plus anciennes technologies
  • SOAP est assez ouvert pour s'adapter à différents protocoles de transport.
  • SOAP est indépendant de la plateforme
  • SOAP est indépendant du langage
  • SOAP est simple et extensible

[modifier] Inconvénients

  • De par le nombre d'informations qu'impose le format XML, SOAP peut alourdir considérablement les échanges par rapport à des middlewares comme CORBA. Cela n'est bien évidemment pas visible sur des échanges de peu de données.

[modifier] Voir aussi

[modifier] Liens internes

[modifier] Liens externes