Route Business Event Data to an Oracle Advanced Queue
This use case describes how the data for an on-premises application’s two business events (the on-premises applications can be Oracle Siebel, Oracle E-Business Suite, and so on) can be routed to their respective AQs. The Oracle Advanced Queuing (AQ) Adapter consumes these messages in Oracle Integration.
Note:
This use case is provided for explanation purposes. Your actual use case and setup may differ.On-premises application’s database (Oracle database) configuration setup requirements:
-
Ensure that the database user has the necessary privileges on the AQ packages (for this example,
HR
user). -
Create an object type in the database.
CREATE TYPE WF_EVENT_T AS OBJECT ( EVENT_DATA CLOB );
This is a one time activity to define the object type for the business event system queues.
-
For this example, two queues (
ACCOUNT_Q
andCONTACT_Q
) are used where two application events messages are available. Create these necessary queues and queues tables. The queues table payload type should be theWF_EVENT_T
type created in Step 2. The following sample scripts are provided (for this example, theHR
user is used).EXECUTE dbms_aqadm.create_queue_table(queue_table => 'ACCOUNT_Q_TAB',multiple_consumers => true,queue_payload_type => 'HR.WF_EVENT_T'); EXECUTE dbms_aqadm.create_queue(queue_name=>'ACCOUNT_Q',queue_table => 'ACCOUNT_Q_TAB',retention_time => 86400); EXECUTE dbms_aqadm.start_queue('ACCOUNT_Q'); EXECUTE dbms_aqadm.create_queue_table(queue_table => 'CONTACT_Q_TAB',multiple_consumers => true,queue_payload_type => 'HR.WF_EVENT_T'); EXECUTE dbms_aqadm.create_queue(queue_name=> 'CONTACT_Q',queue_table => 'CONTACT_Q_TAB',retention_time => 86400); EXECUTE dbms_aqadm.start_queue('CONTACT_Q');
Integration-related configurations:
-
Build two integrations using the Oracle Advanced Queuing (AQ) Adapter as a trigger. Each integration consumes messages from the respective queues. While configuring the Oracle Advanced Queuing (AQ) Adapter, XML schema can also be defined for each queue to define the payload structure.
-
Perform mappings for each integration based on the defined XML schema for the payload structure.