Pages

Monday, December 17, 2018

Oracle Engagement Cloud Event Processing using Sales Cloud Adapter within Oracle Integration Cloud !!!


Recently, I been part of one POC where I have learned how we can consume Business Events from Oracle Engagement Cloud.


Oracle Engagement Cloud is a Software as a Service (SaaS) offering from Oracle which provides unified Sales and Service Capabilities, includes sales force automation to manage the full sales lifecycle including leads, accounts, contacts, opportunities, assets, activities, assessments, and forecasts. Leverage content on mobile, the web, and email applications etc.Beneath the hood, there are several business object e.g. Account, Contact, Plan, Opportunity, service request etc. which form the data model to store data in back-end and exchange data with other systems.

In this blog, I will be simply demonstrating the prerequisite which are required to configure inside Oracle Engagement Cloud and OIC Sales Cloud Adapter configuration. Below Instruction applicable for Fusion Application Release 13 or later version, and Integration Cloud versions 18.4.1, if your environment version is different then given instruction may or may not work.

Sample Use Case - When user updating any existing Service Request Status in Oracle Engagement Cloud e.g. Open >> In-Progress, the SR Status need to be updated back to Banking Complaint Management Portal.

Assigning Role to Integration User- In order to consume Event from Oracle Engagement Cloud in OIC, the Integration user need to be exist or created with required roles. Either use existing user or create a new one in Engagement Cloud.

Note: You must be having Admin privilege to do that.

You can create new USER in Engagement Cloud by navigating to Oracle Cloud Home page >>Oracle Engagement Cloud  (Login with Admin Account) >> Navigator>> More >> Securi >> Create new user and add below specified roles -
Role  = "Customer Relationship Management Application Administrator"
Role Code = "ZCA_CUSTOMER_RELATIONSHIP_MANAGEMENT_APPLICATION_ADMINISTRATOR_JOB"
Note: Documentation talks about adding two more roles 1) SOAOperator and 2) FND_MANAGE_CATALOG_SERVICE_PRIV.  In my environment I couldn't find these two pre-existing roles. So I haven't added. If you found these two roles in your environment please feel free to add these roles to newly created user.


01-HomePage

02-OEClogin
03-securityconsole
04-Adduser
5-AddUser

Once user created, you will be getting mail on specified mail id with temporary password, logout from existing user and login using your new credentials and change the password.

Configure CSF Key
You must create a CSF key to subscribe to events in Oracle Sales Cloud. This will hold the credentials of Integration Cloud user and password and will be used when Sales Cloud will make outbound request to Integration Cloud Service to raise an Event.
Access SOA Composer to create CSF key using below example URL -

https://ucf6-fap0XXXX-fa-ext.oracledemos.com/soa/composer

In above URL, make sure you use right Sales Cloud Environment hostname, above name is just for an example. /soa/composer URI part is fixed.
Once open SOA Composer, click on Manage Security  and and register CSF KEY using below values description -

CSF-KEY - The CSF-Key name must be the Identity Domain name of Oracle Integration Cloud Service. You can get the Identity Domain value by clicking "About" option inside Integration Cloud Service.

7-IdentityDomain

UserName- Enter Oracle Integration Cloud User and Password, make sure this user must assign "IntegrationServiceRuntime" role.
Password and Confirm Password - Specify per password policy.

6-CSF-Key


Once above part is done, next steps are very simple to create connection and connection instance inside Integration which I won't cover too much in details as its same as common step followed for any other integration.

Oracle Sales Cloud Connection for Engagement Cloud -

Login to Oracle Integration Cloud >> Integration >> Connection >> Create  >> specify Oracle Sales Cloud Catalog WSDL and Event Catalog URL along with user name and password.
Defining the URL for Service Catalog WSDL and Event Catalog WSDL is quite easy from Release 13 onward. Most of the URL part if fixed, the only environment host name needs to be changed.
e.g. in below values green color highlighted part is predefined and doesn't need any change, only host name needs to be changed to point correct Sales Cloud environment.

https://ucf6-fapXXXX-fa-ext.oracledemos.com/fscmService/ServiceCatalogService?WSDL

https://ucf6-fapXXXX-fa-ext.oracledemos.com/soa-infra

8-OECConn

Once connection tested, save the connection and create the Integration using this connection. Inside integration drag and drop newly created Oracle Engagement Cloud Connection and specify which particular business event you want to listen e.g. in my case I was willing to get update whenever a Service Request status gets updated, so I selected "Service Request Update Event"

9-Integration

and Response type "None".

10-Integration

Once Oracle Engagement Cloud Connection instance configuration done. Similar drag and drop right/target hand side Connection instance object as well, it could be any system depending up where you want to process this event which you will consume from Oracle Engagement Cloud. I am not covering in details because those are very common step and most developers know how to do that. Once both side Connection instance configuration is done, perform the mapping.

11-Mapping

Once mapping done, your integration is ready to be activated and use.

Testing- 
In order to test this, I just need to change a SR status in Engagement Cloud e.g. "In-Progress" to "Waiting" which will trigger an Business event and Fusion application will call my Integration process to provide that business event object, once Integration will receive the event it will push that event to target system. In my case target system was Visual Builder Data Object using REST Adapter.

Updating SR status from In-progress to waiting-
12-EC-SRUpdate
Here is the snap of Integration execution flow -
13-OIC-SRUpdateProcess
Below the web app snap which is consuming Visual Builder Data Object to show the notification from Engagement Cloud.

webappStatus

Conclusion:
In this blog I have tired to show you the prerequisite which we need to configure at Oracle Engagement Cloud to consume Business Event using Oracle Integration Cloud.
Also, given very high level steps of Integration and testing steps, but that can vary drastically use case basis. Hence, I haven't explained too much on those topic. I hope you must have go the core idea about Oracle Engagement Cloud Business Event processing using Oracle Integration Cloud.