Using Business Events in E-Business Suite to send messages to other applications via ICS

Introduction

In this article, I will discuss and demonstrate the use of Business Events in E-Business Suite (EBS) to integrate it with other applications using Integration Cloud Service (ICS). The Oracle Workflow Business Event System is an application service that leverages the Oracle Advanced Queuing (AQ) infrastructure to communicate business events between systems. This functionality is leverage by ICS to register a subscription with EBS for an event which is invoked when the event is triggered. In this article I’ll explain this in detail. ICS provides Oracle SaaS customers with pre-defined to connections to most SaaS subscriptions and zero-code integration features to quickly connect SaaS applications.

Prerequisites

E-Business Suite can be installed in a customer’s data center or on OMCS or on IaaS (Infrastructure-as-a-service). It may be installed allowing access from Public Internet, or behind the firewall where access is restricted to only within the corporate network. In case where EBS is publically accessible, ICS can integrate with EBS directly.

However, when EBS is only available within the corporate network, ICS has no connectivity to EBS. In such cases, connectivity can still be established by the use of on-premises connectivity agent. Whenever ICS needs to connect to EBS, it write the message to a queue. The connectivity agent is installed on-premises and it polls ICS periodically and passes the messages to EBS. This is a prerequisite to use ICS with EBS for any kind of integration use case. For instructions on how to install connectivity agent, please read this article

In case of Business Events, connectivity agent helps automate the process of registration of ICS integration which needs to be invoked when the even fires. When an integration in ICS which uses EBS Business Event as a trigger is activated, ICS registers the integration as a subscriber to that particular Business Event. Since ICS cannot directly communicate with EBS, if it is behind the firewall, it writes the message to a queue which is read by the connectivity agent which in turns registers the integration as a subscriber. Once the subscription is created, EBS can directly invoke the integration with the event payload since the firewall blocks incoming connections to EBS and not outgoing HTTP(s) connections from the EBS to ICS.

There are other tasks that you need to perform on EBS before it can be used with ICS for integration using Business Events. These steps include setting up Integrated SOA Gateway REST Services, deploying the required REST services, setting up ICS credentials etc. To perform the required setup, please follow the instructions in page Setting Up and Creating an Oracle E-Business Suite Adapter Connection of Oracle E-Business Suite Adapter documentation.

Main Article

For this article, I’ll take an example where there is a requirement to keep Trading Community Architecture (TCA) data in sync between EBS and Oracle Sales Cloud (OSC). EBS is on-premises and behind the firewall so it cannot be accessed from internet. I will demonstrate how to use ICS to achieve this real-time integration.

The high level series of steps will be:

1. Create an Agent group in ICS

2. Download the connectivity agent installer from ICS and install it on a separate server. This agent will help receive messages from ICS and pass them to EBS

3. Create an EBS adapter in ICS using the newly installed agent

4. Create an Oracle Database Adapter in ICS using the newly installed agent

5. Create an Oracle Sales Cloud adapter in ICS, pointing to the OSC instance you want to integrate with

6. Create an integration which subscribes to oracle.apps.ar.hz.Organization.create event, makes an enrichment call to Oracle DB to get more information about about the organization using the event payload and then uses this information to create an Account in OSC

7. Test the integration

Let us look at each of these steps in detail.

1. Create an Agent group in ICS

&

2. Download the connectivity agent installer from ICS and install it on a separate server

For instructions on these 2 steps, please read this article

Using the instructions in this article, I have created an agent group named “NN_EBS_AGENT_GROUP” and the EBS agent registered itself as “AGENT11744”

EBS_Agent

 

 

 

 

 

 

 

 

3. Create an EBS adapter in ICS

In ICS, click on New Connection and search for Oracle E-Business Suite. Click Select

EBS_Conn01

 

 

 

 

 

 

 

 

 

 

Provide a Name and Description for the new connection and click Create

EBS_Conn02

 

 

 

 

 

 

In the connection page, click Configure Connectivity and provide the EBS base URL of the form http(s)://host.domain:port. Click OK

EBS_Conn03

 

 

 

 

In the connection page, click Configure Security and provide EBS username and password. Click OK

EBS_Conn04

 

 

 

 

 

Back in the connection page, click Configure Agents and chose the agent you just created.

EBS_Conn05

 

 

 

 

 

 

 

 

 

 

Test and Save the connection

EBS_Conn06

 

 

4. Create an Oracle Database Adapter

In ICS, click on New Connection and search for Oracle Database. Click Select

Database_Conn01

 

 

 

 

 

 

 

 

 

 

Provide a Name and Description for the new connection and click Create

Database_Conn02

 

 

 

 

 

 

In the connection page, click Configure Connectivity and provide the EBS database connection information. Click OK

Database_Conn03

 

 

 

 

 

In the connection page, click Configure Security and provide EBS Database username and password. Click OK

Database_Conn04

 

 

 

 

 

Back in the connection page, click Configure Agents and chose the agent you just created.

Database_Conn05

 

 

 

 

 

 

 

 

 

 

Test and Save the connection

Database_Conn06

 

 

5. Create an Oracle Sales Cloud adapter in ICS

In ICS, click on New Connection and search for Oracle Sales Cloud. Click Select

OSC_Conn01

 

 

 

 

 

 

 

 

 

 

Provide a Name and Description for the new connection and click Create

OSC_Conn02

 

 

 

 

 

 

In the connection page, click Configure Connectivity and provide OSC Catalog URL

OSC_Conn03

 

 

 

 

 

In the connection page, click Configure Security and provide OSC username and password.

OSC_Conn04

 

 

 

 

 

Test and save the connection.

6. Create an integration

In ICS click on New Integration. This presents you to chose a Style/Pattern for your integration. In our case, we will choose Orchestration. Click Select under Orchestration

01_Integration

 

 

 

 

 

 

 

Provide a Name and optional Description for the integration. Also make sure the radio button for “Application event or business object” is selected. Click Create
02_Integration

 

 

 

 

 

 

 

 

Inside the integration creation wizard, click on TRIGGERS followed by Oracle E-Business Suite. This will show you any connections created using EBS adapter, including the one you just created. Drag this connection and drop it inside Start

03_Integration

 

 

 

 

 

 

Provide a name for this endpoint and make sure radio button against “Business Event” is selected.

04_Integration

 

 

 

 

 

Business events are in different products which are grouped in product families. Chose Product Family = Financial Receivables Suite and Product = Receivables. Scroll down and chose oracle.apps.ar.hz.Organization.create. Click Next

05_Integration

 

 

 

 

 

 

 

Review the endpoint summary and click Done

06_Integration

 

 

 

 

 

Now click on INVOKES followed Oracle Database. This will show you any connections created using Oracle Database adapter, including the one you just created. Drag this connection and drop it after the trigger we just added

07_Integration

 

 

 

 

 

 

Provide a name for the endpoint and from the drop down which asks for operation that you want to perform, chose “Invoke a Stored Procedure”. 
08_Integration

 

 

 

 

 

Select Schema = APPS, Package = HZ_ORGANIZATION_BO_PUB and Procedure = GET_ORGANIZATION_BO. Once you select the procedure, the arguments it takes are displayed below. Review and click Next followed by Done in the next screen.

09_Integration

 

 

 

 

 

 

 

 

 

 

 

Similar to above, we will add another invoke. This time, we will use the connection we created for OSC.

10_Integration

 

 

 

 

 

 

Name the endpoint and provide a description. Click Next
11_Integration

 

 

 

 

 

Select Business Object = Account : Account Service and Operation = createAccount. Click Next and in the next screen click Done

12_Integration

 

 

 

 

 

 

 

 

 

 

Now we need to create mappings. Mappings allow us to form the payload required for invoking the operations we created.

Click on the mapping for GetOrganizationDetails and click the Pencil icon.
14_Integration

 

 

 

 

 

 

This will open the mapping editor as shown below.

15_Integration

 

 

 

 

 

These are the mapping to invoke the PL/SQL procedure. We only need to provide one parameter to this procedure – P_ORGANIZATION_ID

The payload we receive from the event, contains a field called ParameterList, which contains a set of Parameters. Parameters are name value pairs. One of the parameters in the payload has Name=PARTY_ID. This is the one we are interested in and we will map the corresponding value to P_ORGANIZATION_ID. Usually, we can simply drag single valued elements to the corresponding element in the target to achieve the mapping. In this case, we have to iterate over every Parameter in the ParameterList and if Name=PARTY_ID, we have to map the corresponding Value field to P_ORGANIZATION_ID. This requires a little more work than a single drag and drop. This is best illustrated using the following video:

Once you are done with the mapping. Save and close the mapping editor.

 

Now we need to create the mapping for CreateAccount. For this, we will use the payload from GetOrganizationDetail payload because that contains details information about the Organization we just created. Open the mapping for CreateAccount and drop PARTY_NUMBER and ORGANIZATION_NAME fields from source to PartyName and OrganizationName fields, respectively, in the target.

Also provide static values for key address fields in PrimaryAddress. Ideally, we would like to get site details from EBS by making another call, but this is a demo so we will use static values.

The mapping should look like this. Review the mapping and save and exit the mapping editor.

29_Integration

 

 

 

 

 

 

Now our integration is complete. To activate the integration, in the Integrations home page, flip the switch against the integration we just created.

30_Integration

 

 

 

In the confirmation dialog, click Activate. You can optionally check-mark the “Enable Tracing” checkbox if you want to debug the integration. This should only be done in development environments.
31_Integration

 

 

 

 

 

 

Once the integration is active, the following confirmation message will appear.

32_Integration

 

 

 

7. Test the integration

Now that the integration is complete, it is time to test it.

Login to E-Business Suite using a using a user which has the responsibility which allows you to create a customer. Using this responsibility, navigate to Create/Maintain Customer and create a customer. Inside the form, click on Create

Provide fields required to create an organization and click Save and Add Details.

Test_01

 

 

 

 

 

 

In ICS, go to Monitoring and then Tracking. Within the tracking page, filter by the integration you just created. You should see the instance of the integration initiated. If the instance is successful, then it means the end-to-end integration worked! You will now be able to go to OSC and see the account created there

Test_02

 

 

 

Test_03

 

 

 

 

 

 

Test_04

 

 

 

 

References / Further Reading:

Oracle Cloud Using the Oracle E-Business Suite Adapter

Integration Cloud Service (ICS) On-Premises Agent Installation

Using eBS Adapter in Integration Cloud Service – Part 1: Installing eBusiness Suite Integrated SOA Gateway for REST Services

Using eBS Adapter in Integration Cloud Service – Part 2: Configure and Test ISG REST Services

Round Trip On-Premise Integration (Part 1) – ICS to EBS

E-Business Suite Integration with Integration Cloud Service and DB Adapter

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Comments

  1. Hi,

    Thanks for a good article!

    Are these Business Events also available in Cloud ERP/Oracle Financials Cloud, or are they only available in OeBS 11i/r12?

    Thanks and regards
    Roy

Add Your Comment