SnapLogic CEO Gaurav Dhillon has gone on the record to discuss the real-world communications challenges that exist between architects, designers, and software developers when building for the cloud. Dhillon suggests that there is a "boisterous argument" underway over the proper technique to use when communicating with services that reside in the cloud.
"On one side of the fence are adherents of SOAP-based services. They're facing off against fans of the Representational State Transfer (REST) style of interoperability. In many ways, though, this is a false dichotomy: The same core service logic can be exposed for concurrent access via many different protocols, including SOAP, REST, JMS, plain XML, and JDBC, to name just a few. However, if you're creating a technology platform for the mass market, you'll need to select one as your native protocol. Way back in 2006 we decided that the relatively new REST approach offered distinct advantages over SOAP," said Dhillon.
Pointing out that SOAP is all about servers talking to servers with rigid standards, extensive design, and serious programming, Dhillon describes these heavyweight infrastructural elements as all being essential parts of the equation. If a developer is building a mission-critical distributed application that will spend its life behind a corporate firewall and be serviced by a squadron of highly trained developers who know the environment inside and out, then (according to SnapLogic's principles) SOAP is a great choice.
"On the other hand, if you're interested in building applications quickly with maximum portability — especially if the cloud (public, private, or hybrid) is in the picture — it's hard to beat REST. It sports a mere handful of simple HTTP API commands and every object (known as a 'resource') has its own unique Uniform Resource Identifier (URI) that provides a path and distinct name. This should be very familiar to you: Every time you access a specific web page, you tell your browser where the page is hosted along with its name," said Dhillon.
"This straightforward API and clear, consistent labeling philosophy is far more developer-friendly than SOAP, which mandates deep understanding of site-specific APIs. REST lets you publish your data and have others — regardless of where they might be — work with it. Just looking at the URI gives you an indication of how to proceed," he added.
Rounding out his thoughts on this subject, SnapLogic's Dhillon says that the market has spoken and RESTful services are much more popular than SOAP-based services, particularly in organizations that have 'grown up' using the Internet. "It's a self-reinforcing loop: since REST allows you to easily integrate hundreds of data sources that are already available on the Web, and more arrive each day. To work with them, you only need to know one protocol, a basic naming convention, and a few simple API commands."