REST is an architectural style that has been gaining momentum these last few years due to its many features and architectural constraints such as cacheability, stateless behavior, and its interface requirement.
For a nice overview of REST architecture, refer to http://www.drdobbs.com/Web-development/restful-Web-services-a-tutorial/240169069 and http://en.wikipedia.org/wiki/Representational_state_transfer.
Our focus in this chapter will be on RESTful Web Services and APIs—that is, Web services and Web APIs following the REST architecture. Let's start at the beginning: what is a Web service?
A Web service is a Web application that can be consulted by your application as if it was an API, improving the user experience. ...