Introduction to REST
In his doctoral dissertation (http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm), Roy Fielding introduced the term "REST". Representational State Transfer (REST) can be defined as an architectural style for designing software systems. REST is not a specification or W3C standard such as SOAP or WS-* stack. Because of that, working with RESTful services is relatively easier and you do not usually need to use specific middleware frameworks. Most often, the standard libraries included in programming languages can be used directly.
The key principles of REST are as follows:
Represent everything with a unique ID; a URI
Make use of standard HTTP methods such as GET, POST, DELETE, and PUT
Link resources together
Resources can have multiple representations
Stateless communication
Let's discuss each of these concepts briefly to get a preliminary understanding about RESTful services.
Represent everything with URIs
In REST, any named information is considered as a resource...