Why REST is Becoming So Popular

As a company of engineers that caters to developers, it's important to keep up with the latest programming innovations. As with many other API developers, we've opted for a tried-and-true, simplified approach to our data validation APIs: REST. We love REST for many reasons. While you may not necessarily know the specifics of REST, you likely know how to work with RESTful APIs thanks to the underlying foundation upon which they are built: HTTP. Here's a quick look at the RESTful architecture and its benefits.

What is REST?

REST stands for Representational State Transfer. It is an architectural style originally described by Roy Fielding, one of the authors of HTTP 1.0 and 1.1, in a doctoral dissertation at UC Irvine in 2000. REST was originally developed by W3C Technical Architecture Group in parallel with HTTP 1.1. It is a stateless architecture that uses the Web's existing protocols and technologies.

The REST architecture generally consists of clients, servers, resources, and a vocabulary of HTTP operations known as request methods. In essence, clients send requests to servers and servers respond. These interactions are centered around representations of resources such as a document or URI. These representations are typically exchanged over a standardized interface such as HTTP. Clients, servers, and other connectors can mediate requests without having to know anything beyond the resource's identifier, required action, and the format of the representation that must be returned such as JSON or XML.

REST is primarily run over HTTP and is commonly used in Web APIs. Applications based on the REST architecture conform to several guiding principles and constraints. For example, a uniform interface that includes identification of resources, manipulation of resources, self-descriptive messages, and hypermedia for application state is considered fundamental to REST. With a uniform interface, other parts of the architecture can evolve independently.

The six constraints of REST are:
  • Client-server
  • Stateless
  • Cacheable
  • Layered
  • Optional code on demand
  • Uniform interface

REST uses a standardized set of request methods including: GET, POST, PUT, DELETE, and other existing HTTP capabilities.

At its core, REST consists of:

  • Resources - Sources of information referenced by a global identifier such as a URI
  • Representations of resources - Documents containing that information
  • Components that communicate with one another - Clients and servers
  • A standardized interface - An interface that identifies resources, allows for the manipulation of resources through representations, includes self-descriptive messages that describes how to process requests and response, and dynamically identified hypermedia.

RESTful APIs are collections of resources that adhere to the principles and constraints of the REST architecture. They typically include:

  • A base URI for the API
  • The Internet media type (such as XML or JSON) supported by the API
  • The vocabulary of request operations such as GET, PUT, or DELETE
  • Hypertext driven components
Benefits of REST

REST is much easier than other approaches such as SOAP which keeps developers from having to reinvent the wheel as far as HTTP request operations go. SOAP also requires separate server and client programs.

Since REST is based on standard HTTP operations, it uses verbs with specific meanings such as "get" or "delete" which avoids ambiguity. Resources are assigned individual URIs, adding flexibility.

With REST, information that is produced and consumed is separated from the technologies that facilitate production and consumption. As a result, REST performs well, is highly scalable, simple, and easy to modify and extend.

Why We Build Data Validation and Address Verification Solutions on REST

As a company that prides itself on data quality, ease of use, performance, and reliability, we appreciate the benefits of the REST architecture. In fact, all of our newest data validation and address verification product releases, including Address Validation - US 3, Email Validation 3, Name Validation 2, and Phone Append 2 are built on the most recent version of the .NET platform and incorporate the RESTful architecture.

We like REST for many reasons. For example, since REST uses standard HTTP requests, our data validation and address verification APIs are easy for developers to understand and implement. In addition, RESTful architectures make it easy to provide outputs in more flexible data formats like JSON. In addition to REST, we also support SOAP, GET, and POST requests, and output in XML or JSON.

The performance, security, flexibility, extensibility, and ease of use facilitated by the REST architecture allows developers to quickly implement our data validation APIs to help protect their employers and clients from online fraud and improve the integrity of online transactions and address verification.

With a RESTful approach, we are able to provide data validation APIs that are easy to integrate for the ultimate in real-time data quality insights. Learn more by downloading developer guides, accessing unique sample code, or contacting us to speak with one of our engineers.