Fusion Sales Could (Rel7) currently has a WebServices/SOAP interface
however many clients & partners are interested in accessing Oracle
Fusion Sales Cloud using REST & JSON. The main difference between a
SOAP service and a REST service is the “way” you get access to the data
and methods you use. Whilst SOAP is very powerful, very complete and
also can be quite complex perhaps over-complex. REST in comparison is
rather simple and uses the http verbs (GET,POST,PUT etc) to define the
operation and can be as powerful as you desire.
There are many documents on the web which discuss REST vs SOAP but in summary :
defined as Simple Object Access Protocol. A protocol specification for
exchanging structured information in the implementation of Web Services
in computer networks.
An envelope, which defines what is in the
message and how to process it A set of encoding rules for expressing
instances of application-defined datatypes And a convention for
representing procedure calls and responses.
Relies on eXtensible
Markup Language (XML) as its message format, and usually relies on other
Application Layer protocols (most notably Remote Procedure Call (RPC)
and HTTP) for message negotiation and transmission. This XML based
protocol consists of three parts:
web service (also called a RESTful web API) is a simple web service
implemented using HTTP and the principles of REST. Such a web service
can be thought about as a collection of resources. The definition of
such a web service can be thought of as comprising three aspects:
The base URI for the web service, such as http://example.com/resources/
The MIME type of the data supported by the web service. This is often JSON, XML or YAML but can be any other valid MIME type.
The set of operations supported by the web service using HTTP methods (e.g., POST, GET, PUT or DELETE).
References : · http://en.wikipedia.org/wiki/Representational_State_Transfer#RESTful_web_services & · http://en.wikipedia.org/wiki/SOAP
Why would you want to use REST instead of SOAP?
are many reasons why one would/could want to use REST instead of SOAP,
one reasons is that SOAP is considered too heavy-weight for mobile
applications, where payload size is critical, and also instead of XML,
JSON is the preferred message format.
The JSON message format is
(such as browsers or node.js) and hence adds weight to the desire to use
REST instead of SOAP for accessing Oracle Fusion Sales Cloud.
So getting to the matter at hand and getting RESTful
enough of why REST , how does one do it for Oracle Sales Cloud (aka
CRM). Thankfully this is rather straightforward, at Oracle OpenWorld
2013 you would have seen Thomas Kurian demonstrate our new Oracle SOA
Suite and how it can transform a SOAP service into a REST service whilst
this is excellent and incredibly productive some clients dont want to
install SOA Suite soley for this purpose. Thankfully its possible to do
the same using pure Java and deploy it to a cloud infrastructure, like
the newly release Oracle Java Cloud Service. It is however worth noting
that using SOA Suite is preferable because it accelerates the deployment
tremendously and would ultimately be more "agile".
So what are the basic steps to REST enable a Fusion Sales Cloud Service?
- Download and install the Jersey REST libraries, we'll use these for the creation of the RESTful service
the SOAP Client Side Proxie(s) for Oracle Sales Cloud. In this example
we're using static proxies however for a more industrialized approach Id
recommend going down the dynamic proxy route, more flexible and less
likely to break at runtime, however at a development cost.
"wrapper" JAXB Objects so that you can return XML data. This is needed
because the baseline SOAP clients dont have @RootElement (s) defined.
- Create the RESTful project and expose the services you require.
- Deploy to your runtime Java contain, like the Oracle Java Cloud Service
- Consume by your favourite client, like a mobile phone etc
the purpose of the tutorial (in the document), I've documented step by
step how you can build the above, query Oracle Fusion Sales Cloud,
manage security (for development & production) and how to deploy the
code to the Oracle Java Cloud. Obviously take note that this document
is more of a tutorial than anything else when building your own custom
REST Adaptor you would tailor it specifically to what services your
Happy reading Material: Document & Template Files & Complete Solution (needs Jersey files downloadable separately)
Note : This document and source code is sample code and assumes no support from Oracle Corporation or myself. Read the complete article here.
SOA & BPM Partner Community
regular information on Oracle SOA Suite become a member in the SOA
& BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.
Blog Twitter LinkedIn Facebook Wiki
Technorati Tags: Rest
,Fuion Apps integration
,BPM Suite 12c