Essential Guide

Guide: When and how to use REST

A comprehensive collection of articles, videos and more, hand-picked by our editors

Gartner analyst: REST APIs gain added importance in application integration design

Architecture changes today center on design of the API, says Gartner. The API increasingly supports REST interfaces.

FROM THE ESSENTIAL GUIDE:

Guide: When and how to use REST

+ Show More

Major software changes underway today revolve around the design of the Application Programming Interface (API), according to Daniel Sholler, Gartner vice president and analyst  specializing in application architecture, integration and development issues.  The nature of these "integration  interfaces" is subtly changing.

''What we are seeing is that the design of APIs has become as important as the design of the user interface," Sholler told an audience at last month's Gartner AADI conference in Las Vegas, Nev. The APIs, he said, increasingly support REST interfaces, which call for a more general approach to design.

REST, for REpresentational State Transfer, is a simple stateless architecture generally running over HTTP. The Web itself is often cited as the exemplary REST system. Among big REST drivers today are mobile applications, social networking Web sites, mashup tools and automated business processes.

Sholler uses the term WOA, for Web-oriented architecture, to describe the application of REST principles to the design of Web services.  Because it is more general, the REST style  shows "a bit more tolerance to changes," according to Sholler. That is particularly good with third-party cloud and mobile applications that are frequently altered with little forewarning.

The REST architecture's generality allows it to work in a wide variety of situations, and it has proved popular with a wide set of programmers. Sholler pointed to simplified REST identifiers as illustrations – he cited examples from a BestBuy application as well as Facebook and Amazon APIs -  of the changes REST as brought to middleware and API development.

The forward march of the Web – and HTTP – has had a hand in driving REST forward as well. It was a different scenario, said Sholler, in the early day of Web services. Around that time, SOA built with the main goal of connecting existing application portfolios, often using SOAP (for Simple Object Access Protocol). Those traditional enterprise portfolios have  now been joined by more Web and mobile application types.

"The style of SOAP was meant for the classic middleware design," said Sholler. That is different, he suggested, than the Web, where redundancy to  failed communications is more or less built into the system.

WOA criteria

"The design criteria for WOA use cases are to build something that is absolutely application neutral," he said. "You want to design it so it is as general as possible ... [to] make it only as specific as you have to."

"You have to think about going from the general to the specific, not from the specific to the general," he said.

Sholler cautioned that it was important for software architects to understand where WOA design works best. Among several apt REST cases  he cited: instances of unknown or inconsistent infrastructure capabilities, limited out-of-band communications and cases where there are large numbers of counterparties.

"REST comes up where you don't have control, when there are open-ended use cases, where you want to collaborate with users [and] where you need to be tolerant of change that comes along. Where we see 'REST' most is in cloud, mobile and [areas where you need] access to information."

What do you think? Let us know.

This was first published in January 2012

Pro+

Features

Enjoy the benefits of Pro+ membership, learn more and join.

Essential Guide

Guide: When and how to use REST

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

-ADS BY GOOGLE

SearchSoftwareQuality

SearchCloudApplications

SearchAWS

TheServerSide

SearchWinDevelopment

Close