6.1 What Is REST?

Representational State Transfer (REST) introduces the concepts of REST and discusses the difference between publishing and consuming REST services.

Representational State Transfer (REST) is a way of providing interoperability between computer systems over the Internet. You can define the RESTful services to allow the querying and manipulation of data without the need for direct access to the underlying data store.

A service is described as RESTful when it conforms to the tenets of REST. Although a full discussion of REST is outside the scope of this document, a RESTful Service has the following characteristics:

  • Data is modeled as a set of resources. Resources identified by URLs and accessed over the http or https web protocols.

  • A small set of operations are used to manipulate resources (for example, PUT, POST, GET, DELETE).

  • REST services are, by nature, stateless as there is no connection kept open between the client and serving computer systems, and no client context is stored between requests.

  • Requests to a RESTful service always elicit a response. This response is in the form of XML, JSON, HTML, or some other defined format.

  • Depending upon the operation, responses provide details of some sort of alteration to the underlying data, error messages, and hypertext links to other related resources.

By using a stateless protocol and standard operations, REST resources are created to optimize for fast performance, reliability, portability, and growth. This is achieved by creating reusable underlying components that can be managed and updated without affecting the system, even while REST is running.

RESTful services, is divided into two sections: Consuming RESTful services and Providing RESTful services.

While consuming RESTful Services uses the standard HTTP operations, processing the data returned through a RESTful service is different. Oracle Application Express 18.2 provides a comprehensive set of components to make consuming RESTful services easier.