For the first time in its history, Salesforce.com will launch a REST API. Designed for the Force.com platform, the new API is a departure for Salesforce.com, which has historically provided SOAP as a means for integrating the SaaS provider's technology with third-party applications.
The news, which we first saw on Programmable Web, has led us on a journey over the past two days to seek some answers about what the adoption says about Salesforce.com and its 10-year-old architecture. It has also served to define what appears as a turning point for REST as adoption has now spread across a spectrum of providers. Most of all, it shows once again how pioneering developers have again proven the acceptance of easy-to-use, Web-based services.
According to Programmable Web, The Salesforce.com API will enable "simple HTTP and JSON as a possible output format, to make integrating with Force.com fast and easy." Salesforce.com posted his week about the integration with Oauth 2:
As Programmable Web points out, REST APIs are fast outpacing SOAP. The name of the game is ease of use and fast integration. REST is winning hands down in this respect, taking away from SOAP, the historical foundation of the Salesforce.com API.
Salesforce.com, SOAP and its Historical Context
Until now, Salesforce.com has had no need to adopt REST. It has worked effectively as a way to work with third party applications. SOAP is getting displaced but it is still being used in the enterprise. It is more deeply rooted into the history of the Web - a reason why Saleforce.com has depended on it. The technology was developed in the same time period that Salesforce.com made its name in the market.
During that time, enterprise companies created their own flavor of Web services, designed with business rules built in. Salesforce.com had a different approach due to its multi-tenant environment. SOAP worked just fine as a way to interface with other applications.
"There was no fundamental reason why they had to go a new architecture," Greenberg said. "To this day it works. It is the most commonly accepted standard that is out there. It has value to Saleforce. It is easily adoptable.
"That said - in last two years - REST has been gaining ground quickly. Consequently, even the best enterprise SOA companies are developing REST APIs."
But it also shows that Salesforce.com is Java-based and arguably Java-biased.
Critics say you can see this in the thinking behind the VMforce offering as well, where Java is the language for the PaaS offering from Salesforce and VMware. This is a small base of traditional programmers who work in medium to large enterprises.
It is certainly an indicator of their legacy nature and legacy thinking that it has taken them so long to launch a REST API. REST is not just language-neutral, but programmer-neutral - regardless of your level of skill or education, any programmer can use REST APIs.