SOA is no longer merely a buzzword. It has become a mature component of innumerable pieces of IT infrastructure...
and now is being projected into a future helping to support the cloud and mobile apps. As it is adapted to these new functions, practitioners find they must move quickly to integrate applications in the era of Web and mobile development and public APIs. REST integration patterns are often highly effective for enterprise architects that are working on integrating applications within a SOA framework.
What is sometimes misunderstood is that while Web giants like Google and Yahoo have built key functionality with REST – and it is also playing a big role in mobile apps – when all is said and done, it is still just a flavor of SOA, and not always the only or best way to accomplish a goal.
Mike Gilpin, vice president, Global Council and research director at Forrester, agrees that RESTful integration has become a major trend, in part because “the REST concept is friendlier and easier to understand if you are a Web developer.”
Gilpin says there are some practical differences between REST and the Web services stack. However, he emphasizes, REST is also SOA, but not the same style of SOA. “When Web services began it was mostly SOAP, but then the approach gradually got ‘heavier’ as people tried to accomplish a wider range of tasks and as individual vendors offered their own approaches.”
“The RESTful approach is still generally much simpler and lighter weight,” says Gilpin. However, he notes, there is a virtuous circle between SOA design principles, the design of your APIs, and the maintainability and robustness of your services. “Whether you are using SOAP-based or REST-based technology is but one key difference. With REST, because it is lightweight, it doesn’t do as much for you... so if you want certain transactions, you can have them but you are responsible for managing their boundaries,” he adds.
RESTful interfaces thrive in Web and mobile applications
Daniel Sholler, a vice president at Gartner, says the availability of RESTful interfaces has been a great help on the hard integration problems facing modern organizations, particularly the problem of having an unknown population of users make use of something. “In business you want to have new people to do business with next month that you don’t have this month. So that means an unknown population where you don’t have visibility or control,” he says. Sholler says that is the major impact that REST has had on application integration, generating RESTful interfaces or Internet APIs.
While companies like Google, eBay and Yahoo are often cited as the exemplars the change toward relying more on REST, the shift hasn’t been restricted to them. One of the companies that Gartner has commented on, he notes, is Best Buy – a big box retailer. They have gotten a tremendous number of advantages from open APIs to access information about their product list and inventory, among other things. “It has been a boon to them and their business partners and has allowed them to expand online sales channels,” says Sholler.
Mobile is now the new frontier. That’s where companies want to create some kind of program on an iOS client (iOS – formerly the iPhone OS) and have it still access things like Google calendar or a local calendar API, notes Sholler.
It is simpler if it is simpler but it is complex if it is complex.
Gartner VP Sholler on REST
In terms of adoption, Sholler says there has been some difference between the business and consumer world, with the former still prepping for SOA and the latter running full speed for REST. That has led to some misunderstandings, he says, in particular the notion that REST is always simpler and easier. That isn’t quite true, he says. “It is simpler if it is simpler but it is complex if it is complex,” he says. In other words, it depends on how it is being used.
There are certain types of systems most organization have, usually Web-facing, that are architected in such a way that they match up with a RESTful approach to providing external services, Sholler says. “Even things that don’t have to deal with an uncontrolled interface situation are starting to see the use of RESTful approaches,” he says.
Secret to REST integration success
Sholler says REST has been successful because it solves problems. The difficulty you always get into when you try to create an interface is you create dependencies and the RESTful approach to building interfaces relieves some of those constraints, he says. That is partly because it uses Web standard technology, he explains.
However, Sholler warns that many people think that RESTful approaches to interactions are a substitute for a more traditional component-oriented approach. “There is nothing wrong with building object-oriented interfaces but they come with baggage about how they are expected to operate and RESTful interfaces don’t operate that way,” he says.
Thomas Erl, a best-selling IT author of “SOA with REST: Principles, Patterns & Constraints” and founder of SOASchool.com, says when comparing the design goals of REST and the strategic goals of SOA he has identified the following common objectives:
- Increased standardization
- Increased scalability
- Increased reusability
- Increased interoperability
- Increased vendor neutrality
- Increased responsiveness to change
“REST constraints do not conflict with service-orientation principles. In fact, several REST constraints directly support and enable service-oriented design requirements,” he says. However, applying some service-orientation principles to their full extent can raise design issues that may limit the extent to which some REST constraints can be applied. This is especially a consideration when designing sophisticated application integration solutions comprised of service compositions, he notes.