The blog post "Cloud Integration in Minutes" - True or False? highlighted the challenges faced by integration projects, beyond just simple web service connectivity. However, as stated in that article, it is possible to implement SaaS API "connectivity" in minutes, and this post is going to show you how! We will go through a step-by-step approach using Oracle SOA Suite 11g, and integrate with the Oracle RightNow CX Cloud Service as an example, demonstrating the ease with which you can incorporate cloud applications in your overall enterprise integration architecture, today.
You may be hearing a lot about cloud connectivity, with "adapters" sprouting up everywhere and wondering - what's the big deal with cloud APIs? Isn't a SaaS API simply a REST/SOAP based web service call?
Yes and No! Web services standards are one of the key characteristics of cloud connectivity, however the implementations differ vastly. To use an analogy, the term "democracy" is broadly considered as a form of government wherein citizens have an equal say in decisions that affect their daily lives, however, its implementation varies vastly across countries from "direct democracy" to "representative democracy" (see Wikipedia).
Similarly, SaaS APIs are built on some key characteristics at the technical level, however the functional implementations varies drastically across vendors. As seen in the diagram below, even if every SaaS API only ever used established technical standards (on the left), the combination and configuration of those standards can result in functional API implementations (on the right) that don't seem to have anything in common.
For example, one vendor may choose to implement their SaaS APIs using REST/JSON and OAuth, whereas another may use SOAP/XML and WS-Security - an example of combination choices. Even if both used SOAP/XML, the object schemas can be different - both syntactically and semantically, for example, the definition of a "Customer" will differ in B2B and B2C scenarios. In addition, the vendors may use different WSDL types (strong vs loose typed), different customization approaches (generated vs flex fields), or how authentication credentials are sent (SOAP header vs body), or message interaction patterns (synchronous vs delayed asynchronous response), or API styles (Java code or SQL syntax), or how the ETL patterns are implemented (one file per object vs multiple zipped files).
In short, the software industry has good technical standards (and a lot of them!), but lacks functional standards for semantic interoperability across vendor APIs. Multiply this by the number of technical protocols and clients, and you can see why functional standards are the real source of complexity in ANY integration project - SaaS or on-premise; and is the reason I consider claims of "integration in minutes" as being naive at best.
The 23 minute video below walks you step-by-step in integrating with a SaaS API, showing how Oracle SOA Suite 11g is flexible enough to adapt to any combination of the technical standards above, making it an ideal choice for hybrid cloud integrations. For more examples of hybrid cloud integrations, download this white paper.
If you are familiar with Oracle WebLogic Server certificate setups, skip the video above in the future and go to this abridged 11 minute version. If you like this video and would like to see more tips like this or have any questions, we would like to hear from you in the comments below. Special thanks to the Oracle SOA Suite integration architecture team, especially Ravindran Sankaran and Narayana Pedapudi, for help with the demo implementation.