Friday, December 13, 2019

#742 - SOA Suite / OIC interoperability

Hybrid integration architectures can be easily implemented, leveraging OIC and SOA Suite.

This will be very interesting for existing SOA Suite customers who are moving to the cloud.
For example, a customer could have existing integrations running on SOA Suite on-premise that implement orders 2 cash use cases. The customer may adopt a cloud based CRM e.g. Oracle Engagement Cloud or SFDC. She can now leverage OIC and SOA Suite to implement an Opportunity to Cash scenario. OIC responds to the event - new Opportunity created and calls the on-premise integration to do the rest.

Naturally, the interoperability between OIC and SOA Suite is bi-directional.

Let's begin with OIC invoking composites, running on SOA Suite.

OIC invoking SOA Suite Composites

My setup for this example is as follows -

1. OIC in the Oracle Cloud
2. SOA Suite installed on my laptop - JDeveloper Quickstart.
3. OIC Connectivity Agent installed and running on my laptop 

Here we leverage the recently released SOA Suite adapter.
As usual, there is an accompanying doc for the adapter. I am not one for reading manuals, but, on this occasion, I am glad I did. I strongly you do so too. Available here as pdf

Step 1 is to create a new SOA Suite user and assign the roles Deployer and Operator. This is detailed on page 2-1 of the aforementioned doc.

Now I create a connection in OIC, leveraging this user.

It is configured as follows -

Note the url  yourSOASuite/soa-infra
You can check it out -

It lists the composites deployed -

I only have one deployed - Test_processOrder -

As you can see, it doesn't do much.

Next to the integration -

I drop the SOA Suite Connection and configure as follows -

SOA Suite invoking OIC integrations -

 Today is Friday and I have just created a connection to OIC in JDeveloper

How did I do this?

How did I define it?

I test -

Now to leverage this in a SOA Composite -

Note: One can call integrations in OIC that have a REST trigger -

Check out the Ora docs, detailing how to call OIC from SOA Suite, here

So I create a REST binding in my composite -

Great Stuff!

And now, all that's left is to wish you all bon weekend!

Monday, November 18, 2019

#741 - OIC Integration Versioning

Simple example of the above -

This simple integration mimics the creation of  a new contact in Service Cloud.

I test -

I now need to change the integration - making a minor amendment to the response payload -

version Nr is now 01.01.0001

I edit the new minor version of the integration -

Now I deploy the new version -

Note: the message that this version will replace the former.

Activating integration DEMO-API-GTWY (1.1.1) requires deactivating integration DEMO-API-GTWY (1.0). Are you sure you want to deactivate integration DEMO-API-GTWY (1.0)?

I re-test -

Net,net - no change to the endpoint.

Let's try the same - now with  a major version -

New Integration Endpoint -


Versions 1 and 2 are now active.

Net, net - you may need to change the clients who leverage the endpoint(s).

Saturday, November 16, 2019

#740 Oracle Integration now available on Oracle Cloud Infrastructure Gen 2

Since last week, new Oracle Cloud accounts can create OIC instances on OCI Gen2.

This is available in the following data center regions -

Other Data Centers to follow.

The step by step creation instructions are available here

So what does Gen2 give me?
I will go into more details in a future post - but, to begin with -

1. OCI Gen2  Compartments - create your OIC instance in your own compartment for administrative Lifecycle Mgt isolation.

2. OOTB integration with OCI services such as Events, Functions, Streaming and Notification.

3. OIC integration in OCI One Console

Wednesday, November 6, 2019

#739 Creating OIC instance

Got a call from a someone asking how to do this on a free trial.

Step 1. - enter your tenancy details - then your user/pwd
Step 2.

Step 3.

Step 4.

Step 5.

That's it - now watch the magic happen...

Tuesday, November 5, 2019

#738 OIC - CPQ Integration part II

Note: Everything in italics is from the CPQ online help or other CPQ docs.

Before looking more deeply at how one integrates with CPQ, let's look at the product itself -

CPQ in 5 minutes...

CPQ has its own scripting tool - BML -

BML (BigMachines Extensible Language) is a scripting tool that is used to capture a company's complex business logic within CPQ Cloud Configuration and Commerce.

More in-depth info in the CPQ eBook here

In a nutshell -

Oracle CPQ Cloud enables both enterprise and midsize companies to streamline the entire opportunity-to-quote-to-order process, including product selection, configuration, pricing, quoting, ordering, and approval workflows.

1. Configure -Create valid product configurations with user-friendly, dynamic interfaces – whether your customer needs simple bundles or more complex “engineered-to-order” scenarios.

2. Price - Perform automated pricing calculations, apply discounts, streamline approval processes and validate quote information – all within minutes!

3. Quote - Empower your sales team members to create professional proposal documents, including current product and pricing information. Oracle CPQ Cloud Document Designer dynamically fills current data into proposal documents with just one-click. 

Integrate CPQ Cloud to your CRM, ERP or other web services to streamline, automate and govern the entire end-to-end sales process.

Oracle CPQ Cloud is a robust solution on its own, but when seamlessly integrated into the entire end-to-end sales-to-order process, CPQ Cloud bridges the gaps between your CRM and ERP systems. Optimize the sales process and cut down cycle times while increasing overall margins. When it is time for the order to be handled to the back office, essential information flows seamlessly to your ERP application in the manner that best suits your organization and business needs. 

Note the seamless Interaction with Back Office Solutions -

For CRM, this includes Oracle Engagement Cloud, SFDC and MSFT CRM Dynamics.
For ERP, this includes Oracle ERP, Oracle EBS, JDE, SAP etc.

The CPQ documentation includes sections on the following -

Typical integration use cases CPQ / Commerce Cloud are -

1. CPQ Configurator: This allows an agent to configure complex products for purchase in Commerce Cloud using the CPQ Cloud Configurator functionality. If a product has been identified as a configurable item, there is a Configure button displayed on the Product Detail page for the item. If you click the button, you can select between the customizable options that are associated with the product in question.

2. CPQ Quoting: This allows you to request a quote on an order, thereby initiating a CPQ transaction that a sales specialist can modify, reconfigure, or discount. Once finalized in CPQ Cloud, the quote is returned to Commerce Cloud where it can be accepted or rejected, or you can request a requote.

CPQ Integration

Let's check out the OIC section -

CPQ Cloud Integration Center enables me to define connections to OIC.

So let's check out the Integration Center -

The Integration Center is a page for managing integrations with CPQ Cloud. There are a number of integrations managed through the Integration Center platform, including OIC

So now we have the connection to OIC.

Next to CPQ Integrations -

To use the integration you just created in the Integration Center, you must create an Integration on an existing Process.

So what are CPQ Processes?

Commerce Processes are used to create templates for the selling processes used by your company.

With Commerce Processes, you set up your quoting, ordering, approval, and other workflow processes. By creating ordered sets of Commerce document templates, along with associated attributes and actions, you enable buyers and supplier agents to conduct transactions on your customized CPQ Cloud application.

One can edit processes and add integrations

Note the Endpoint URL is the Oracle Engagement Cloud SOAP Service -

However, integrations can also leverage the OIC connection -

CPQ Transactions

The previous post showed us leveraging the CPQ adapter.
The business object passed in the trigger example was a Transaction -

So what is a transaction in CPQ-speak?

A Transaction Manager is a list of Transactions or quotes that you can access. This is most frequently where approvers will go to approve quotes and where you can download your quotes or Transactions.

Ok - Transaction = Quote.