REST maintenant, SOAP quand tu veux

J’ai lu il y a quelques jours un billet de Jean-François Helie: REST ou SOAP . J’aimerais ajouter ici mon petit piment, ma petite reflexion sur ces deux mode de communication.

Pour ce qui ne le savent pas encore, REST est une architecture basé sur ce qui fait le web: URI , HTTP et un concept d’object, ou plutôt de ressources bien pensé. C’est une architecture légère et relativement facile à mettre en place. Elle est de plus très ouverte et simple à utiliser.

Quant à SOAP, c’est un protocole de communication très utilisé (le seul?) dans la construction d’architecture de type SOA. Basé sur XML. Très verbeux, il est souvent opposé à REST (mêms si c’est plutôt la SOA qui s’oppose à REST).

Je rejoint Jean-François sur le fait que finalement, selon ce que nous voulons mettre en place, l’une ou l’autre des solutions s’adapte mieux. Mais j’ajouterais que pour moi, SOAP est interessant dans une architecture où les échanges sont asynchrone. Effectivement, REST, basé sur le protocole HTTP, donne une réponse immédiate. SOAP peut-être utilisé comme tel, mais finalement, SOAP utilisé sur le protocole HTTP, ça faut un peu double emploi: Une enveloppe dans une enveloppe. SOAP dans une utilisation asynchrone prend du sens. Utilisé sur un protocole spécifique (beurk ! je préfère les formats ouverts !) ou bien du type smtp/imap/pop cela devient légitime.

Donc pour moi, outre l’aspect gestion de sécurité (il me semble qu’avec une architecture REST, il existe des solutions pour la gestion de la sécurité), le choix entre l’utilisation de REST et l’utilisation de SOAP, c’est plutôt une question de timing :-)