REST

REST(REpresentational State Transfer) est un style d'architecture, pour les systemes hypermedia distribues, decrit par Roy Fielding dans sa these.

Bien qu'etant inspire de l'architecture du web actuel, REST n'est pas lie exclusivement au protocole HTTP, bien que ce dernier soit son utilisation la plus frequente. CoAP et WebDAV sont d'autres protcoles pouvant etre utilises dans une architecture REST.

L'architecture REST preconise 6 criteres:
 * Un style de communication client/serveur
 * Des interactions sans-etat
 * L'utilisation de cache
 * Une interface uniforme:
 * Un systeme en couche
 * Du code sur demande

Le Richardson Maturity Model caractérise les implémentations REST d'applications.

Quelques réponses aux questions que l'on peut se poser sur REST: Rest cookbook

Java

 * JAX-RS
 * http://architects.dzone.com/articles/putting-java-rest
 * http://docs.oracle.com/javaee/7/tutorial/doc/jaxrs003.htm#GIPZZ
 * http://www.vogella.com/tutorials/REST/article.html
 * http://docs.oracle.com/cd/E24329_01/web.1211/e24983/develop.htm#RESTF113
 * http://cdn.oreillystatic.com/oreilly/booksamplers/9781449361341_sampler.pdf


 * Apache CXF
 * RESThub
 * RESTeasy

YAML
RESTful API Modeling Language (RAML)

Javascript

 * Node.js
 * Loopback
 * Restify

Studios

 * http://studio.restlet.com/#/
 * http://swagger.io/

=Liens=


 * Martin Fowley, Richardson Maturity Model : steps toward the glory of REST, 2010
 * http://restpatterns.org/
 * Refcard #129 Foundations of RESTful Architecture
 * RESTful APIs, the big lie http://mmikowski.github.io/the_lie/

Livres

 * Livre Service Design Patterns : Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services
 * Bill Burke, RESTful Java with JAX-RS 2.0, 2nd Edition, Designing and Developing Distributed Web Services, November 2013 (Source code of book examples)
 * RESTful Web APIs by Leonard Richardson, Mike Amundsen and Sam Ruby, 2013. O’Reilly Media.