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.
"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.
Action plan for successful RESTful API design