In this blog I am going to show you three new capabilities introduced in Oracle Integration Cloud (OIC) that massively simplify the enablement of Application integration with extensions to Business Process Automation workflows and finally how to expose all of that as secured APIs via the Oracle API Gateway.
These three new capabilities are:
- Call your Process Cloud Service (PCS) workflows from an Integration Cloud Service (ICS) orchestration.
- Call your ICS integrations from a PCS business process.
-
Expose your ICS integrations as APIs into the Oracle API Gateway
Our scenario is simple, it is an incident management extension, that requires some human intervention to manage service requests.
To be specific, let’s assume the following components:
- We need to extend Oracle Service Cloud out-of-the box incident Management functionality with a custom business process automation. For this, Oracle Integration Cloud Service (ICS) will seamlessly listen/subscribe to events in Oracle Service Cloud and when a new Service Requests gets created, it will pass it on into Oracle Process Cloud Service (PCS) to manage the Human interventions.
- PCS starts a new workflow and it redirects the various tasks to the appropriate task owners for approvals/rejections.
- As the PCS workflow runs across the various human interventions, PCS keeps updating the Service Request status into Service Cloud (via ICS) to determine whether it is invalid and needs to be rectified or it is in progress until completion.
- Finally, if we determine that this Incident Management extension workflow could become a reusable asset among other use cases, we can simply go to the ICS integration that triggers the PCS workflow and expose it as an API to be deployed and run into the Oracle API Gateway.
This is a high-level view:
Pre-requisites
In this blog I am simply going to highlight the three new capabilities that I mentioned before, if you need a little bit of extra guidelines as in how to build an Orchestration in ICS to integrate into Oracle Service Cloud – see these previous blogs. Similarly, if you need some details in how to write Business Process Automations in PCS, – see these previous blog.
Also, if you need a refresher on how the Oracle API Platform works, – see this previous blog.
Finally, if you don’t have yet access to the Oracle iPaaS, go to https://cloud.oracle.com/tryit and request a new trial, they are free and get provisioned on the spot.
If you have any question or comment, feel free to contact me directly via LinkedIn, at https://www.linkedin.com/in/citurria/
Calling PCS workflows from an ICS orchestration
In previous blogs, we showed how to call PCS workflows via REST invocations, that wasn’t to hard, but now with the consolidation of ICS and PCS as part of Oracle Integration Cloud (OIC), the integration between them is as simple as 1 click.
- If you have an existing message-based PCS flow that you want to call from ICS, now when you are creating your ICS orchestration, you can see on the right vertical menu bar, an option called “Integration Artifacts“
- Click on it and expand Business Process. Then, drag “Local Process” to the spot where you want to call it in your Orchestration.
- Give it a name and description. Then, click Next.
- Expand from the Application drop down menu and select the Application that has the business process that you want to call. If you have multiple business processes in your Application, you will also have to select the right process to call. Then Click Next and Done.
- That’s pretty much it, you will see in your orchestration a new blue action that is the call to your PCS flow. On top of it, you have its mapping. This is basically whatever structure that you used to configure the start message in your PCS flow. Simply, map it with whatever fields in your orchestration that you want to send to PCS.
- Pretty neat, huh?
Calling ICS integrations from a PCS business process
Now that ICS and PCS are brothers, as part of the Oracle Integration Cloud (OIC) family, you can only imagine that similarly as you can call PCS processes from ICS, well you can do the same from PCS. That is, seamlessly calling your activated ICS integrations from PCS.
- If you have existing running/deployed ICS integrations that you want to call from PCS, simply, in your Process view, expand the Integrations menu and drag and drop the “Integration” activity into the process flow (i.e. at the location in your flow where you want to call the ICS integration).
- Let’s assume that I want to call ICS after the top Update SR action. The new activity will show in your canvas
- Click on its burger menu and click on Open Properties.
- At the bottom the properties will open
- Down in the Properties panel, click on the blue plus icon. It will open a window where you can then see all your ICS integrations that are currently deployed and running.
- Select the one that you want to call and give it a unique name. Then click Create.
- That’s it… Now, you just have to set the mappings (Data Association) with the data that you want to send to ICS. For this, click again on the burger menu for your ICS Integration Activity, but this time click on the Data Association option and map from your current Data objects the fields that you want to send into ICS. You can see on the right, the expected structure by ICS.
- Seriously, how cool is that?
Exposing ICS integrations as APIs into the Oracle API Gateway
Finally, if you have an existing ICS integration that starts with a REST trigger connector, you can easily expose it as a REST API running in the API Gateway.
Let me show you how simple it is now to expose REST APIs from existing ICS integrations.
- First, in ICS you have to create a link to the API Platform that you want to deploy your APIs to. In ICS, at the right vertical menu, click on Settings.
- Then, click on API Platform.
- Enter the URL (e.g. https://IP_ADDRESS or https://myAPIPDomainName) of your API Platform instance and the username and password.
- Click Save and make sure to get a successful message.
- Now, go back to your Designer View for your Integrations and locate the integration that you want to expose as an API in the API Gateway.
- At the end right of your Integration, click on the switch to activate it.
- Notice at the bottom the “Activate and Publish” button. Click on it.
-
In this page you can do the following things:
- Operation: Choose to create a new API or to update an existing one.
- API Name and Version: This are the name and version to be used.
- API Endpoint URL: This is the URI that you want to use to expose your API. For example: /api/incidents
- API Description: as
- Deploy API: Tick this option to not only create this API configuration in the API platform, but also to choose the API Gateway where you want to deploy it to. Once you tick this option, all your API Gateways that ae currently enabled and running, will appear, simply select to the one(s) that you wish to deploy your API into.
- Publish API: Tick this option if you also wish to publish your API into the API Developers Portal (API Catalog). Once you tick this option, it will ask you for your API vanity name, that is how you want to call your API in the API Catalog e.g. incidents
- Make sure you get a successful message. Also confirm that your ICS integration is up and running.
- Now, log in to the Oracle API Platform Management Portal and validate that you API was properly created, deployed and published.
- Finally, log in to the Oracle API Platform – Developers Portal and confirm that your API was published properly. If you need to configure access or other policies, feel free to learn how in this previous blog that I wrote previously.
I hope you are as excited as I am with the direction that Oracle is taking by further simplifying the creation of complex enterprise scenarios, such as integrations, process automation and API Management.
If you have any question or comment, feel free to contact me directly via LinkedIn, at https://www.linkedin.com/in/citurria/
Thanks for your time.
As a newbie to the internet, this info has proved to be particularly helpful. Thanks!
https://www.nygci.com/
LikeLike