Over the past few years, Representational State Transfer (REST) has gained wide acceptance for the implementation of web services. This approach has been considered as an alternative of SOAP, and few other web services. Various Web 2.0 service providers such as yahoo and Google have adopted RESTful approach, as it provides these service providers with the user-friendly and resource oriented model. This report describes the basic principles of RESTful approach. Some situations are also described, where it may be the best option to use RESTful Approach.
Discussion
RESTful approach has been emerging as a leading design model over a period of past few years. In the field of software engineering, the design model provides with the guidelines about connectors and components, in order to develop the components and sub components of the system. The RESTful approach is considered as the leading design model because most of the web service providers prefer to use this model (Rodriquez, 2012). REST essentially defines the architectural principles which are used for designing web services. This design approach focuses on the resources of the system. In addition, the approach also takes in to account that how to address and transfer these resource over HTTP. The services are usually transferred over HTTP by a large number of clients, and these may be written in many different languages.
The main reason of popularity for REST is its simplicity to use. Due to this reason, this emerging model has been replacing SOAP and the interface designs based on WSDL. REST in its pure form, follows four basic design principles. These design principles include exposing directory structure, using standard HTTP methods, being stateless, and transferring either XML or JavaScript Object Notation (may transfer both, in some cases).
The RESTful approach provides every resource with a unique ID. For assigning ID's the approach uses the URI which involves creation of a global name space and these ID's are later used for accessing the resources. The URI's are kept simple, in order to guess the location where particular URI points to. URI's are designed to act like a self-describing interface, requiring little or no explanation. The most common way of improving URI's usability is to design the URI in a hierarchical way. An example of hierarchical URI could be http://www.mycollege.com/course/result
In the above example, the root course has a result beneath it. Underneath, ...