SAVON, REPOS ET CRÉATIVITÉ DES PERSONNES
SOAP a besoin d'un document de description tel que WSDL, car chaque ressource peut être utilisée avec différents messages. Le protocole ne définit pas les contraintes relatives aux noms / messages possibles que vous pouvez manipuler.
Par exemple, dans SOAP, votre service Web qui permet aux clients de manipuler un utilisateur peut exposer l'opération qui crée un utilisateur dans de nombreux messages différents, tels que:
addUser
createUser
insertUser
Bien sûr, ce ne sont que quelques exemples de messages, car j’ai vu beaucoup de noms de méthodes de services Web amusants. Il y a vraiment des gens créatifs.
D'autre part, si vous exposez votre système sous-jacent à l'aide d'une API Web qui respecte réellement les principes REST, le client doit simplement savoir que vous disposez d'une ressource nommée Utilisateurs, car il y a 99% de chance que vous puissiez créer un utilisateur dans cette application. façon
POST /Users
Et cela se produit pour chaque opération que vous souhaitez exposer à l'aide de SOAP ou d'une application Web REST.
Bien qu’il soit un protocole SOAP, qui limite ce que vous pouvez ou ne pouvez pas faire, et soit une architecture de style REST, ce qui laisse de nombreux points en suspens sur la façon de faire les choses. Des efforts sont en cours pour définir des conventions sur la manière d'exposer et de consommer les sites Web REST.
DESCRIPTION D'UN REST D'API WEB
Dans le domaine de la description d’une API Web REST, je peux citer Swagger . Il ne s’agit pas d’une tentative de création d’un WSDL semblable à une application Web REST, mais d’une bonne tentative de création d’un standard ouvert pour décrire l’API Web.
Swagger est une spécification et une implémentation complète du framework permettant de décrire, produire, consommer et visualiser les services Web RESTful.
J'utilise beaucoup Swagger et je l'aime beaucoup, principalement parce que l' interface utilisateur Swagger vous permet de générer une console live et une documentation de qualité pour votre API Web.
Il existe de nombreuses implémentations de Swagger pour la plupart des langages: C #, Java, Python, Ruby, etc.
Si vous utilisez l’API Web ASP .NET, certains projets générant automatiquement la spécification Swagger, tels que Swagger.NET
GÉNÉRATION DE CLIENTS SUR UN RESTE D'API WEB
Parce que les contraintes de REST, telles que le nombre limité de verbes (GET, POST, PUT, DELETE, etc.), il n’est pas si difficile de générer une bibliothèque cliente pour une application Web REST.
Des projets tels que WebApiProxy peuvent facilement générer des clients en C # et Javascript.
CONVENTIONS POUR LE RESTE API WEB
Pour que notre vie de développeur soit plus facile, il est bon de définir certaines conventions concernant le comportement de notre api Web REST. Le meilleur effort que je connaisse dans ce domaine est le très bon ebook Apigee - Web Api Design . Le livre électronique n'est pas une tentative de créer une bible ou un mantra sur la façon de concevoir votre API, mais plutôt un ensemble de conventions observées dans de grandes applications Web REST, telles que Twitter, Facebook, Linkedin, Google, etc.