SOAP
SOAP est un protocole standard pour l’échange de messages XML. Il repose sur différents protocoles de transports comme par exemple HTTP ou encore SMTP. Puisqu’il s’agit d’un protocole, il impose alors des règles intégrées qui augmentent la complexité et donc les coûts. Les différentes conformités intégrées permettent d’obtenir une sécurité accrue, et ce que l’on appelle “l’ACID”: l’atomicité, la cohérence, l’isolement ainsi que la durabilité.
Les contrats formels
SOAP 1.2 donne un cadre strict pour le type d’interaction entre les deux parties (fournisseur et le consommateur).
Les opérations avec état
Si vous avez besoin d’informations contextuelles et de gestion d’état conversationnel alors SOAP sera plus à même de répondre à vos attentes. Cela apporte sécurité, transactions et coordinations. A titre de comparaison, la méthode REST nécessitera alors une plomberie personnalisée de la part des développeurs.
L’invocation et le traitement asynchrone
Si vous souhaitez un niveau de sécurité et de fiabilité accru, SOAP offre des normes supplémentaires avec par exemple des spécifications WSRM - WS-Reliable.
Protocoles pris en charge
La méthode SOAP supporte davantage de protocoles et technologies. On peut par exemple citer les techniques WSDL, WS-Adressing ou bien XSDs.
REST
REST est un ensemble architectural qui est adapté aux besoins des applications mobiles légères mais aussi les sites web. Les données sont transmises sur une interface standard comme HTTP. REST est indépendant d’un protocole. A la réception de la requête, les API développées par le principe REST peuvent renvoyer des messages dans différents formats : HTML, texte brut, XML mais aussi JSON. Ce dernier est le plus utilisé car il est considéré comme le plus léger et lisible par la majorité des langages de programmation.
Coût plus faible
Cette solution a un coût supérieur à celui de la méthode SOAP. Celle-ci se justifie par pas mal de points positifs que nous allons vous énumérer ci-dessous.
La mise en cache
Les données peuvent être mises en mémoire cache grâce à cette méthode. Cela permet d’éviter les différentes interactions potentielles entre le client et le serveur. L’absence d’état de l’approche REST est donc parfaite.
Les opérations sans état
Les services Web sont complètement sans état, on dit qu’ils sont “stateless”. Les services peuvent être testés en redémarrant le serveur afin de vérifier si les interactions ont persisté ou non.
Lorsque la bande passante et les ressources sont limitées
La structure de retour peut être de n’importe quel format selon le désir du développeur. L’avantage également est l’utilisation sur n’importe quel navigateur de la solution. Les méthodes standards DELETE, PUT, GET et POST.
Utile pour les profils restreints
La méthode REST est utile lorsque vous souhaitez travailler avec des profils dits restreints. Il peut s’agir par exemple des mobiles qui auront tendance à se surcharger plus rapidement.