SOAP

protocole d'échange d'information structurée bâti sur XML

SOAP (acronyme de Simple Object Access Protocol) est un protocole d'échange d'information structurée dans l'implémentation de services web bâti sur XML.

Structure de SOAP.

Il donne la permission de 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[1], 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[2].

SOAP n'est plus un acronyme – mais un simple nom – depuis la version 1.2. En effet, SOAP v1.2 a été réécrit en fonction 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.

Critiques techniques

modifier

De nombreux commentateurs et spécialistes[réf. nécessaire] ont discuté des avantages et inconvénients de SOAP relativement aux autres technologies, et aux contextes de son utilisation.

Avantages

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

Inconvénients

modifier
  • En raison du nombre d'informations qu'impose le format XML, SOAP peut alourdir considérablement les échanges par rapport à des middlewares comme CORBA ou ICE, ce qui n'est pas forcément un handicap quand les volumes de données transités par SOAP sont faibles par rapport au volume total de données échangées.
  • SOAP décrit la manière dont les applications doivent communiquer entre elles, certains considèrent que le couplage reste fort entre le serveur et ses clients. Une modification de l'API implique ainsi une évolution côté client, contrairement à une architecture orientée ressources telle que REST.

Notes et références

modifier

Voir aussi

modifier

Articles connexes

modifier

Liens externes

modifier