Parallel Processing in OIC Gen3

Biman Dey Sarkar
3 min readMar 14, 2024

--

Many new features are included in Oracle Integration Cloud Gen 3, such as parallel flow. One may design branches to conduct two or more activities in parallel by using parallel flow. Multiple activities may be completed simultaneously thanks to parallel flows, which are especially helpful when you need to do numerous distinct, time-consuming jobs. If you’ve worked with Oracle Service Bus (OSB), you’ve probably dealt with SplitJoin. You might want to look into the parallel activity in OIC Gen3 for capabilities that are comparable.

We’ll walk through a simple integration in this blog, that uses parallel activity to load data into three separate tables. I created an app-driven integration, with one ADW connection to insert data into Autonomous database. You need to drag parallel activity into your design palette. By default, 2 branches will be created inside a parallel activity.

You can add more than two branches as per your requirements. I have demonstrated below how to create a parallel activity and then add numerous branches in the below screen shot.

I generated three identical tables before moving on to integration. These tables will have records added to them simultaneously through parallel integration activities in this use case.

I will now use an ADW connection in each branch to execute an insert operation for each of the three tables that were established in the previous stage. The activity for one table is displayed in the screenshot below; the other two tables require the same action. In order to determine the exact moment of insertion, I will map a function fn:current-dateTime() to the createdTime field. Once I have done the mapping for all three ADW adapter, lets save and activate.

Once I run the integration, let me now go into the tracking data so you can see that the request has been handled concurrently with several branches. In the below screenshot, you can observe all 3 branches executed in parallel.

You may look up the information below in those tables to confirm the insertion time from the backend. The createdTime field value is shown, and it is almost exactly the same milisecond.

From this POC you can get an idea of parallel activity. Anywhere you may do many tasks independently and concurrently in your use cases, parallel activity can be quite helpful.

Limitation:

What I found is you can’t use any loop inside parallel activity or you can’t use parallel activity inside any loop. So if you have any such requirements, you may need to split your design into two or more integrations. And you can invoke the child integration under a parallel activity. And you can use loops in the child integration.

--

--

Biman Dey Sarkar

Around 15 years of experience in Oracle Integration. I have worked on cloud migration projects with several clients from different regions.