Sunday, May 20, 2012

What is REST? Introduction to RESTful Web services


Recently I read an article about REST and wanted to collect all the useful article which I have read so far , and write a blog post. 
Representational State Transfer (REST) is an architectural style for creating, maintaining, retrieving, and deleting resources.
According to [1] , REST is a style of designing loosely coupled Web applications that rely on named resources — in the form of Uniform Resource Locators (URLs), Uniform Resource Identifiers (URIs), and Uniform Resource Names (URNs), for instance — rather than messages. Ingeniously, REST piggybacks on the already validated and successful infrastructure of the Web — HTTP. That is, REST leverages aspects of the HTTP protocol such as GET and POST requests. These requests map quite nicely to standard business-application needs such as create read, update, and delete (CRUD), as shown in Table 1:
Application taskHTTP command
CreatePOST
ReadGET
UpdatePUT
DeleteDELETE

RESTful Web Services is a type of web services. If you want to understand what is a web service you can read here

In Java EE 6, JAX-RS provides the functionality for Representational State Transfer (RESTful) web services. REST is well suited for basic, ad hoc integration scenarios. RESTful web services, often better integrated with HTTP than SOAP-based services are, do not require XML messages or WSDL service–API definitions.
Project Jersey is the production-ready reference implementation for the JAX-RS specification. Jersey implements support for the annotations defined in the JAX-RS specification, making it easy for developers to build RESTful web services with Java and the Java Virtual Machine (JVM). 
More details available here


And also there is a video from Google about REST.



In my next post , i hope to show a simple example of REST.  More useful links are listed below.

No comments:

Post a Comment