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

Studios

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

=Liens=
 * Bill Burke, RESTful Java with JAX-RS 2.0, 2nd Edition, Designing and Developing Distributed Web Services, November 2013 (Source code of book examples)
 * Martin Fowley, Richardson Maturity Model : steps toward the glory of REST, 2010
 * http://restpatterns.org/
 * http://refcardz.dzone.com/refcardz/rest-foundations-restful
 * RESTful APIs, the big lie http://mmikowski.github.io/the_lie/