Following the overview in Part 1, I will now show detailed steps how to create the event subscriptions. In our example, we will use an "Item Creation" event (from SCM cloud).
In a FA-based SaaS instance, the outbound call of a webservice uses a OWSM security policy which retrieves the credentials for the call from a CSF Key. This means that you need to register a CSF key for every connection to an external system. In our case we need to register a CSF key for the ICS/OIC instance:
You create this CSF key via SOA composer - accessible through the URL <base_fa_url>/soa/composer
Enter the details and press "Register".
This is the only step required for a R13 GSI cloud instance. If you still have a R12 instance, then additional steps may be required.
For subscribing to the "Item Creation" event in SCM Cloud, we need to first create a new connection using Oracle ERP Cloud Adapter to Oracle SCM Cloud.
You need to specific two URLs for the connectivity:
Typically these 2 URL look like this for a Fusion Cloud instance XYZ with base URL https://XYZ.em2.oraclecloud.com/ (the subdomain EM2 stands for data center Amsterdam):
The following picture shows how to create the connection in ICS:
You can verify if you have the correct URLs by entering them in the following way into a web browser:
This is the example of our Item Creation Event (you don't need to know this details level - this is just to inform what happens under the covers):
"displayName": "Item Create Event",
"description": "This public event signals an item is created"
A business event is a one-way invocation by the SaaS instance of an endpoint provided internally by the Cloud Adapter. One use case would be to start an orchestration in ICS/OIC - another would be to publish the event message internally to ICS and subscribe to that from another integration.
In case of an orchestration, you can either drop the adapter inside an orchestration - or use a "Map Data" flow to call the orchestration:
Use the recently created ERP Cloud Adapter connection and drop it as a trigger:
In the next wizard step, select "With Business Events" as request type, and browse in the list to "Item Create Event" and select that. In case you see no option "With Business Events", then the Event Catalog URL has not been defined in the Connection settings.
Leave the Filter Expression empty (will show how to use that in the next part). In the next step, select "None" for Response Type, "Next" and finish the wizard with "Done"
The result will look like this:
The filter icon on the arrow provides an alterative way to filter events on ICS/OIC side - if the adapter does not provide this option. The drawback is that all events get published over the network to ICS/OIC - and only some pass the filter - which can cause performance issues for high volumes. In our case it is much more efficient use the filter capabilities of the adapter - which we will shot in part 3.
The "plus" icon offers a way to enrich the message - which will not discuss here.
The next steps are
When editing the map, you will see a choice of elements in the Item payload on the event. This payload format is identical to the response of the findItem web service:
The resulting integration looks like this:
Save and close the Design view and Activate this integration:
Now you can try and create a new item in Oracle ERP Cloud: Login as SCM user, go to Product Development, select "Create Item" and enter the basic information - in my example I created a new item of Item Class "Smartphones":
Click "Save and Close". Now examine in ICS that the item creation event has correctly triggered the integration:
Click on the "1" above "Success":
If you click on this instance, you can see a trace of the execution:
You can verify if the event subscription has been correctly registered in the FA Cloud instance by executing the followoing URL in a browser:
where <fa-base-url> is something like xxx.oraclecloud.com. This URL is secured by credentials of the Fusion Cloud instance.
You should get a list of subscriptions in JSON format - including the one created for Item Creation event:
This was our last step of the Item Creation example.
Part 3 will focus on how to filter only some events for triggering an integration.