In This post i will explain the Integration patterns available in oracle integration
cloud with possible use cases.
Out of box oracle integration cloud offers 6 types of patterns .
1)App Driven Orchestration
2)Scheduled Orchestration
3)File Transfer
4)Basic Routing
5)Publish to OIC
6)Subscribe to OIC
Pretty Much All of our requirements falls under these integration styles. lets see each of them with a use case.
App Driven Orchestration
using this style of integration, one can make their integration as soap or rest
service which means the same can be invoked by an external application or client . This supports all four patterns which is
a) synchronous i.e request and response.
b) Asynchronous i.e one way.
c) Asynchronous with callback.
d) Lastly ,The Event Based.
Use case : for example you want to build an integration between
Concur and ERP cloud to fetch the invoices created in AP module along
with the payment status of those expenses, you can choose this style of integration.
To explain further , a user will input the expense report name to this interface and it will give the
details like list of expense items along with interface id/request id with which it got interfaced to AP.
in the second step , we will map these values returned by concur to erp cloud adapter where we leverage the AP specific business object which will give the information about the invoice details along with the status.
This information will returned back to the calling client .
![](https://static.wixstatic.com/media/a27d24_7eec4e0a54d44ad98f4b3c664a86626c~mv2.png/v1/fill/w_268,h_306,al_c,q_85,enc_avif,quality_auto/a27d24_7eec4e0a54d44ad98f4b3c664a86626c~mv2.png)
Scheduled Orchestration:
Well this type of integration style will support the above said 4 patterns ,it is just that it cannot be invoked outside of OIC.
This is well suited for the requirements which are in recurring nature where one have to schedule this on some regular intervals. lets see a use case.
Use Case 1 : Think of a scenario where you want to extract some benefits information of an employee from HCM cloud and send the same data to Benefits providers like merrill lynch or Morneau Shepell.
For instance you want to interface the benefits information of newly joined employed to these external vendors , you have to schedule this interface on a daily basis
so that the same can be interfaced to benefits vendor
Use case 2: Think of an inbound scenario where you need to process the AP invoices in the ERP cloud system . In this case a third party vendor places the csv files in a secure SFTP server on a daily basis and we need to create a scheduled orchestration integration to go and get the files placed in the sftp to transform, validate and finally process the invoices in the system.
![](https://static.wixstatic.com/media/a27d24_a2564135a5cb488b8261de182a9493ea~mv2.png/v1/fill/w_250,h_223,al_c,q_85,enc_avif,quality_auto/a27d24_a2564135a5cb488b8261de182a9493ea~mv2.png)
File Transfer : if your requirement is just the file transfer between two servers , This style can be your choice , Although the same requirements can be handled using
scheduled Orchestration style. I don't think there is a need to mention a use case here as it is self explanatory
![](https://static.wixstatic.com/media/a27d24_3bddab6fa0724dec9850b2586090f441~mv2.png/v1/fill/w_274,h_215,al_c,q_85,enc_avif,quality_auto/a27d24_3bddab6fa0724dec9850b2586090f441~mv2.png)
Basic Routing: This got Deprecated and oracle suggested to use App Driven as it offers more flexibility.
Publish to OIC/Subscribe to OIC: This style is like a distributed messaging , This works on event based items .
for instance the source system publishes a message and the target system subscribe to receive the same message.
fire and forgot scenarios are handled by these integration styles. Also there is a dependency exist that publisher has to be configured prior to
creating a subscriber.
![](https://static.wixstatic.com/media/a27d24_401179df9f9d47149e511de34aba6f4f~mv2.png/v1/fill/w_786,h_256,al_c,q_85,enc_avif,quality_auto/a27d24_401179df9f9d47149e511de34aba6f4f~mv2.png)
Hope this Helps ! Happy Learning .
Comments