Ten General Points About REST

RESTful web services are becoming more and more popular as more and more developers understand the resource model techniques. Behind RESTful web services is the REST architecture style, which is not as well known or understood. This post is aimed to demystify some of the principles behind the REST architecture style.

Here is a list of 10 things about REST.

  • REST is a obscure acronym. Whether you like it or not, it stands for Representational State Transfer
  • REST is an architecture style for distributed hypermedia system that emphasizes minimizing latency and maximizing scalability
  • REST is Roy Fielding’s doctoral dissertation in 2000
  • REST architecture style has many elements and among them are:
    1. Client-server
    2. Stateless communication
    3. Caching
    4. Uniform interface
    5. Layered system
  • The key information abstraction in REST is a resource, which is identified by a resource identifier
  • The information being transferred between client and server is the representation of a resource
  • Comparing REST to SOAP is like comparing apples to oranges. It is more appropriate to compare REST to SOA
  • REST is about exposing your application as a big state machine through standard HTTP network protocol
  • REST architecture style borrows many proven software design techniques from other fields like client server, distributed system and network protocol.
  • REST is simpler and more beautiful

The next time someones asks you what REST is, hopefully the above 10 items can help guiding you in providing an intelligent and clear answer. If there is a desire to gain deeper understanding and more details about REST, a great resource would be Roy Fielding’s dissertation.

This entry was posted in Architecture Style, Technology and tagged . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s