Publishing Oracle Employee Events from Oracle E-Business Suite (EBS)
Introduction: In this scenario we want to publish an event whenever a new employee is created in Oracle E-business Suite. This is so other enterprise application users can react to this event and make the appropriate adjustments to their system. Using KAFKA, we can persist these events for each application to retrieve this information at their own pace. Making the information available when needed. This article describes in detail how to create an OIC integration to accomplish this task.
Establish the connection from Oracle E-business Suite (EBS) to Oracle Integration (OIC): In this section we establish a connection between EBS and OIC. This is so that a business event from EBS can be sent to OIC, and then published to Kafka. As prerequisite, we assume that the EBS was installed and properly configured to communicate with OIC based on your business’s needs.
2.1 Create an EBS Connection in OIC: To create an EBS connection select the Oracle E-business Suite adapter. We will use this connection in the integration to receive the business event from EBS.
Next, define the connection URL to the Oracle E-business Suite endpoint, and provide the credentials for your instance.
- Establish the connection from Oracle Integration (OIC) to KAFKA broker:
To publish the business events to a KAFKA topic, we need to create a connection to the broker using the Advantco KAFKA adapter. Similar to how we created our connection for EBS, we need to select the KAFKA adapter when we create this connection.
Next, define your connection properties, such as protocol type and your connection to the kafka broker.
Then select the security method you require and provide the information needed
- Create an integration to exchange publish events from Oracle E-business Suite (EBS) to KAFKA topic:
Create a new App Driven Orchestration integration and use the connections created in the previous sections. The result should be as follows:
4.1 Configure the trigger for EBS: The EBS Source trigger allows us to receive the Employee Create event from EBS. Select Human Resources as the product family and choose the Create Employee for Business Event. This is to ensure we are publishing the desired business events.
4.2 Configure the invoke for KAFKA topic: To publish events to the KAFKA topic, we must configure the invoke step as followed. Specify the topic name you defined in KAFKA, as well as the Client ID.
Specify the data format as Avro and provide the Avro schema.
As the topic has an Avro schema defined, we must serialize the payload to Avro before publishing the event payload. This is to ensure our data is in the correct format when we are publishing to KAFKA.
Specify the custom schema and format for the target structure. This ensures that when the data is published, it is in the exact same structure and is comprehensible.
The adapter uses the inbuilt conversion engine to convert the XML payload to JSON
4.3 Map the EBS payload to the KAFKA topic payload: Finally map the employee payload from EBS to the custom employee structure in KAFKA. Note that we map the employee number field to the Record Key custom value, this key value will be used by the KAFKA broker to determine to which partition of the topic the event will be persistent.
- Create an employee in Oracle E-business Suite (EBS) and publish the event to KAFKA:
After activating the integration, run use case and monitor the integration to see if the desired events is published to KAFKA.
5.1 Create an employee in EBS: Log into Oracle E-business Suite with the profiles used in the integration, and create a new employee. (Note that the employee number for this scenario is 2443.)
5.2 Monitor the process in Oracle Integration: For every employee creation event, we see an instance in OIC and can monitor its success.
5.3 Monitor the process in the KAFKA broker dashboard: Further, we can also monitor the published events in our KAFKA broker. We can see each event within the topic. We see the Key value (employee number), which will determine to which partition the record is written to. And we see value payload is in Avro format as we dined earlier, and the Key value is the employee number. (2443)