Oracle® Application Integration Architecture Oracle Customer Master Data Management Integration Implementation Guide Release 11.1 Part Number E27422-03 |
|
|
PDF · Mobi · ePub |
This chapter provides an overview of the integration option for Oracle E-Business Suite, and discusses the process flows, interfaces, integration services.
This chapter includes the following sections:
These are the process flows when Oracle E-Business Suite is chosen as a participating application when installing Oracle Customer Hub:
Match and Fetch between Oracle E-Business Suite and Oracle Customer Hub.
Synchronization of Organizations and Persons from Oracle E-Business Suite to Oracle Customer Hub.
For process flows from Oracle Customer Hub to Oracle E-Business Suite, see Chapter 2, "Oracle Customer Master Data Management Integration Base Pack".
For more information about Oracle E-Business Suite web services and documentation prior to Release 12.1.3, see the library on Oracle Technology Network: http://www.oracle.com/technetwork/documentation/applications-167706.html?
. For Oracle E-Business Suite documentation for R12.1.3 and beyond, see this library: http://download.oracle.com/docs/cd/E18727_01/index.htm
The match or fetch integration flow is used to match organization and person parties between Oracle E-Business Suite and Oracle Customer Hub. This flow is initiated by Oracle E-Business Suite to generate a list of potential candidates from Oracle Customer Hub. From the list presented, a specific organization or person party entity is requested from Oracle Customer Hub, which returns the full profile of the selected record. The full profile from Oracle Customer Hub is then sent to Oracle E-Business Suite, at which point the parties are synchronized.
This integration flow leverages the Composite Application Framework to create a user interface (UI) that enables users to access Oracle Customer Hub to search for and to fetch the customer record from within Oracle E-Business Suite.
For more information about the match and fetch flow between Oracle E-Business Suite and Oracle Customer Hub, including the delivered Composite Application Framework UI, see Chapter 9: Deploying the Match and Fetch Enterprise Composite Application with the Customer MDM Pre-Built Integration.
Figure 5-1 illustrates the match and fetch functionality between Oracle E-Business Suite and Oracle Customer Hub.
This integration flow uses these interfaces:
CustomerPartyEBSV2
CustomerPartyResponseEBSV2
QueryCustomerPartyListUCMProvABCSImpl
CustomerPartyOrchestrationEBSV2
FetchCustomerPartyEBF
QueryCustomerPartyUCMProvABCSImpl
SyncCustomerPartyListEbizProvABCSImpl
Figure 5-2 illustrates the integration flow:
When you initiate this process, these events occur:
When a user accesses the Oracle E-Business Suite Customer Module to search for a party in the Customer Module, the composite UI application form appears.
The user enters optional and required information (such as Organization Name and Zip Code) and clicks Search. This triggers the match flow, where the composite UI application synchronously invokes the QueryCustomerPartyList operation of the CustomerPartyEBSV2, and passes the QueryCustomerPartyListEBM.
The CustomerPartyEBSV2 routes the QueryCustomerPartyListEBM to the QueryCustomerPartyListUCMProvABCSImpl provider service is synchronously invoked.
The QueryCustomerPartyListUCMProvABCSImpl determines whether the request is for an organization or a person. It transforms the QueryCustomerPartyListEBM, which contains the match criteria, into the Oracle Customer Hub specific organization or person match requestor ABM.
It invokes either the Oracle Customer Hub OrganizationMatchService or PersonMatchService.
The Oracle Customer Hub OrganizationMatchService or PersonMatchService queries the Oracle Customer Hub database based on the match criteria and returns the organization or person match response EBM, which contains a list of organization or person candidates back to the QueryCustomerPartyListUCMProvABCSImpl, which synchronously invoked it.
The QueryCustomerPartyListUCMProvABCSImpl receives the organization or person match response ABM and transforms it into the QueryCustomerPartyListResponseEBM.
During the transformation, the common IDs are generated and the cross-reference database is populated where necessary. The response message is sent back to the CustomerPartyEBSV2.
The CustomerPartyEBSV2 receives the QueryCustomerPartyListResponseEBM response from the QueryCustomerPartyListUCMProvABCSImpl and passes the message back to the composite UI Candidates List form, which displays the records that matched the criteria.
The user clicks the Request button to select the most appropriate record from the composite UI Candidates List form.
This triggers the fetch flow where the composite UI form synchronously invokes the FetchCustomerParty operation of the CustomerPartyOrchestrationEBSV2 business service. The QueryCustomerPartyEBM is passed with the Organization or Person common ID as the query criteria.
The CustomerPartyOrchestrationEBSV2 is a routing service that synchronously invokes the FetchCustomerParty operation of the FetchCustomerPartyEBF, and passes the QueryCustomerPartyEBM.
The FetchCustomerPartyEBF receives the QueryCustomerPartyEBM and synchronously invokes the QueryCustomerParty operation of the CustomerPartyEBSV2.
The CustomerPartyEBSV2 routes the QueryCustomerPartyEBM to the QueryCustomerPartyUCMProvABCSImpl provider service, which is synchronously invoked.
The QueryCustomerPartyUCMProvABCSImpl determines whether the request is for an organization or a person. It transforms the QueryCustomerPartyEBM, which contains the organization or person ID to the Oracle Customer Hub specific organization or person fetch service-requestor ABM.
It invokes either the Oracle Customer Hub OrganizationFetchService or PersonFetchService.
The Oracle Customer Hub OrganizationFetchService or PersonFetchService queries the Oracle Customer Hub database based on the organization or person ID.
It returns the organization or person fetch response ABM that contains the full organization or person data record from Oracle Customer Hub back to the QueryCustomerPartyUCMProvABCSImpl, which synchronously invoked it.
The QueryCustomerPartyUCMProvABCSImpl transforms the fetch response ABM into QueryCustomerPartyResponseEBM.
The response message is sent back to the CustomerPartyEBSV2.
The CustomerPartyEBSV2 receives the QueryCustomerPartyResponseEBM response from QueryCustomerPartyUCMProvABCSImpl and passes the message back to the FetchCustomerPartyEBF, which invoked it.
The FetchCustomerPartyEBF receives the QueryCustomerPartyResponseEBM and transforms it into the SyncCustomerPartyListEBM.
It asynchronously invokes the SyncCustomerPartyList operation of CustomerPartyEBSV2.
The SyncCustomerPartyList operation of the CustomerPartyEBSV2 asynchronously routes the SyncCustomerPartyListEBM message to the SyncCustomerPartyListEbizProvABCSImpl.
The SyncCustomerPartyListEbizProvABCSImpl receives the SyncCustomerPartyListEBM, and determines whether an account or contact synchronization is necessary.
It transforms the SyncCustomerPartyListEBM into the Oracle E-Business Suite organization or person SyncCustomerABM and invokes the appropriate Oracle E-Business Suite synchronization service.
The Oracle E-Business Suite synchronization service creates the party and account records and returns the SyncCustomerResponseABM, which contains the details of the record added.
The SyncCustomerPartyListEbizProvABCSImpl receives the SyncCustomerResponseABM and transforms it into the SyncCustomerPartyListResponseEBM.
As part of the transformation, the Oracle E-Business Suite ID is added to the cross-reference table. It then invokes the SyncCustomerPartyListResponse operation of the CustomerPartyResponseEBSV2, and passes the SyncCustomerPartyListResponseEBM.
The FetchCustomerPartyEBF receives the SyncCustomerPartyListResponseEBM callback from CustomerPartyResponseEBSV2, and transforms the SyncCustomerPartyListResponseEBM into the QueryCustomerPartyResponseEBM and returns the response to the CustomerPartyOrchestrationEBSV2.
The CustomerPartyOrchestrationEBSV2 returns the QueryCustomerPartyResponseEBM back to the composite UI with the full information of the party that was created.
For more information about the match and fetch flow between Oracle E-Business Suite and Oracle Customer Hub, including the delivered Composite Application Framework UI, see Chapter 9, "Deploying the Match and Fetch Enterprise Composite Application with the Customer MDM Pre-Built Integration".
This integration flow synchronizes organization and person party and customer account information from Oracle E-Business Suite to Oracle Customer Hub. Oracle Customer Hub consumes the message using AIA and after applying configurable data quality and data cleansing processes to the record, determines whether to update an existing record or to create a new customer record based on survivorship and update precedence rules in Oracle Customer Hub.
For this integration flow:
Only Oracle E-Business Suite parties with customer accounts are synchronized to Oracle Customer Hub. Customers are party entities (org party or person party) that have an associated account relationship.
Creating a new customer account record in Oracle E-Business Suite for a party raises a business event to kick off a real time synchronization flow to synchronize this information to Oracle Customer Hub:
Party and customer account records to an account (org customer) or contact (person customer).
Synchronize account sites information to UCM address information.
Synchronize account contact information to UCM contact information.
Updating any of these records for a customer account raises a similar synchronization event to synchronize information to Oracle Customer Hub.
Figure 5-3 illustrates the synchronize organizations and persons from Oracle E-Business Suite to Oracle Customer Hub:
This integration flow is used to synchronize new organization accounts or updates from Oracle E-Business Suite to Oracle Customer Hub. This integration flow uses these interfaces:
SynOrganizationAccountEbizEventConsumer
SyncOrganizationAccountEbizReqABCSImpl
QueryOrganizationAccountEbizAdapter
CustomerPartyEBSV2
SyncCustomerPartyListUCMProvABCSImpl
CustomerPartyResponseEBSV2
SyncCustomerPartyListResponseEbizProvABCSImpl
Figure 5-4 illustrates the integration flow:
When you initiate this process, these events occur:
Oracle E-Business Suite account events are raised when a new account is created or updated in Oracle E-Business Suite.
This includes creates or updates to related addresses and contacts.
The SyncOrganizationAccountEbizJMSConsumer service dequeues the messages and invokes the SyncAccountEbizReqABCSImpl.
The consumer has two adapters defined to dequeue both create and update events.
The Oracle E-Business Suite requester ABC implementation, SyncOrganizationAccountEbizReqABCSImpl first queries the entire payload using the keys in the event message using the QueryOrganizationAccountEbizAdapter and then transforms the Oracle E-Business Suite ABM into the SyncCustomerPartyListEBM and invokes the SyncCustomerPartyList operation of the CustomerPartyEBSV2.
This implementation service has separate branches for create and update, as the APIs to query the entire payload from EBS are different; therefore, the maps to the EBM are also different.
Invoking the CustomerPartyEBSV2 with the SyncCustomerPartyList operation routes the SyncCustomerPartyListEBM to the Oracle Customer Hub provider ABC implementation service, SyncCustomerPartyListUCMProvABCSImpl.
The Oracle Customer Hub provider ABC implementation service, SyncCustomerPartyListUCMProvABCSImpl, transforms the SyncCustomerPartyListEBM to the appropriate Oracle Customer Hub account ABM and invokes the Oracle Customer Hub API.
The response from the Oracle Customer Hub API is an integration object that has the account data if it was successfully created or updated, or both in Oracle Customer Hub, which is then transformed to the SyncCustomerPartyListResponseEBM in the process of which, the cross references tables are populated with the Oracle Customer Hub identifier values.
The response is also sent to the CustomerPartyResponseEBSV2 if the response comes back from Oracle Customer Hub. If the Oracle Customer Hub ABM message was put in a queue, then the response IO status has to be checked and the cross-reference entry for the Oracle Customer Hub ID must be created at a later time when the publish from Oracle Customer Hub happens for this account using integration IDs.
The SyncCustomerPartyListResponseEBM is transformed to Oracle E-Business Suite organization account ABM and the Oracle E-Business Suite organization account API is invoked.
This integration flow synchronizes new persons or updates from Oracle E-Business Suite to Oracle Customer Hub. This integration flow uses these interfaces:
SynPersonAccountEbizEventConsumer
SyncPersonAccountEbizReqABCSImpl
QueryPersonAccountEbizAdapter
CustomerPartyEBSV2
SyncCustomerPartyListUCMProvABCSImpl
CustomerPartyResponseEBSV2
SyncCustomerPartyListResponseEbizProvABCSImpl
Figure 5-5 illustrates the integration flow:
When you initiate this process, these events occur:
The Oracle E-Business Suite person account events are raised when a new person account is created or updated in Oracle E-Business Suite.
This includes creates/updates to related addresses.
The SyncPersonAccountEbizJMSConsumer service dequeues the messages and invokes the SyncPersonAccountEbizReqABCSImpl.
This consumer has two adapters defined to listen on both create and update events.
The Oracle E-Business Suite requester ABC implementation, SyncPersonAccountEbizReqABCSImpl, first queries the entire payload using the keys in the event message using the QueryPersonAccountEbizAdapter, then transforms the Oracle E-Business Suite ABM into the SyncCustomerPartyListEBM, and invokes the SyncCustomerPartyList operation of the CustomerPartyEBSV2.
This implementation service has separate branches for create and update, as the APIs to query the entire payload from EBS are different; therefore, the maps to EBM are also different.
Invoking the CustomerPartyEBSV2 with the SyncCustomerPartyList operation routes the SyncCustomerPartyListEBM to the Oracle Customer Hub provider ABC implementation service, SyncCustomerPartyListUCMProvABCSImpl.
The Oracle Customer Hub provider ABC implementation service, SyncCustomerPartyListUCMProvABCSImpl, transforms the SyncCustomerPartyListEBM into the appropriate Oracle Customer Hub person ABM and invokes the Oracle Customer Hub API.
The response from the Oracle Customer Hub API is an integration object that has the person data if it was successfully created or updated in Oracle Customer Hub.
This object is then transformed into the SyncCustomerPartyListResponseEBM during which, the cross-reference tables are populated with the Oracle Customer Hub identifier values. The response is sent to the CustomerPartyResponseEBSV2 if the response comes back from Oracle Customer Hub. If the Oracle Customer Hub ABM message was put in a queue, then the response IO status has to be checked and the cross-reference entry for the Oracle Customer Hub ID must be created at a later time when the publish from Oracle Customer Hub happens for this person using integration IDs.
The SyncCustomerPartyListResponseEBM is transformed into the Oracle E-Business Suite person account ABM and the Oracle E-Business Suite person account API is invoked.
These are the integration services for Oracle E-Business Suite:
SyncCustomerPartyListEbizProvABCSImpl
QueryPersonAccountEbizUpdateAdapter
QueryCustomerPartyListEbizCreateAdapter
QueryCustomerPartyListEbizUpdateAdapter
SyncPersonAccountEbizReqABCSImpl
SyncPersonAccountEbizEventConsumer
SyncCustomerPartyListEbizEventConsumer
SyncCustomerPartyListResponseEbizProvABCSImpl
SyncCustomerPartyListEbizAdapter
SyncCustomerPartyListEbizReqABCSImpl
QueryPersonAccountEbizCreateAdapter
The match and fetch flows use some of the same services as the synchronization flows. The SyncCustomerPartyListEbizProvABCSImpl service is implemented in BPEL and is invoked by the SyncCustomerPartyList operation of the CustomerPartyEBSV2, passing in the synchronize CustomerPartyListEBM payload. This service transforms the EBM into an Oracle E-Business Suite ABM and invokes the Oracle E-Business Suite APIs.
The QueryPersonAccountEbizUpdateAdapter is implemented as a routing service in which the Oracle E-Business Suite adapter for querying the Person Account is registered as a Mediator service so that the apps adapter call from the ABCS Requester Implementation becomes a SOAP web service call.
The QueryCustomerPartyListEbizCreateAdapter is implemented as a routing service in which the Oracle E-Business Suite adapter for querying the Person Account is registered as a Mediator service so that the Apps adapter call from the ABCS becomes a SOAP web service call.
The QueryCustomerPartyListEbizUpdateAdapter is implemented as a routing service in which the Oracle E-Business Suite adapter for querying the Person Account is registered as a Mediator service so that the Apps adapter call from the ABCS becomes a SOAP web service call.
The SyncPersonAccountEbizReqABCSImpl service is implemented in BPEL and is invoked by the SyncPersonAccountEbizEventConsumer service, passing in the Person Account event payload. This service queries the entire Person Account Oracle E-Business Suite ABM message and then transforms it into an EBM and invokes the SyncCustomerPartyList operation of the CustomerPartyEBSV2.
The SyncPersonAccountEbizEventConsumer is implemented as a routing service that listens on the Person Account event (create/update of person account data including child entities) in Oracle E-Business Suite and dequeues the event message and routes it to the SyncPersonAccountEbizReqABCSImpl service.
This consumer listens to two business events on the Oracle AQ:
oracle.apps.ar.hz.PersonCustBO.create
oracle.apps.ar.hz.PersonCustBO.update
The SyncCustomerPartyListEbizEventConsumer service is responsible for dequeueing the Oracle create or update account business event payloads from AQ and invoking the appropriate operation of the requestor ABCS, SyncCustomerPartyEbizReqABCSImpl. The dequeue operation is done depending on the CorrelationID in AQ. For customer create, correlation ID is oracle.apps.ar.hz.OrgCustBO.create. For customer update, correlation ID is oracle.apps.ar.hz.OrgCustBO.update.
This consumer listens to two business events on the Oracle AQ:
oracle.apps.ar.hz.OrgCustBO.create
oracle.apps.ar.hz.OrgCustBO.update
The SyncCustomerPartyListResponseEbizProvABCSImpl service is implemented in BPEL and is invoked by the SyncCustomerPartyListResponse operation of the CustomerPartyResponseEBSV2, passing in the SyncCustomerPartyListResponseEBM payload. This service transforms the EBM into an Oracle E-Business Suite ABM and invokes the Oracle E-Business Suite API to synchronize the response.
The SyncCustomerPartyListEbizAdapter service is an Oracle Applications Adapter service registered in Mediator. This adapter service exposes the HZ_AIA_CUSTOM_PUB.sync_acct_order PL/SQL API. This wrapper API is delivered as part of EBS HZ.N.
This service is the interface through which an order is created in Oracle E-Business Suite, and is invoked by the SyncCustomerPartyListEbizProvABCSImpl as part of the Update Customer and Create Order integration flow.
The SyncCustomerPartyListEbizAdapter service exposes the synchronize customer party operation of the PL/SQL wrapper API. This operation is a synchronous request + reply operation.
The SyncCustomerPartyListEbizReqABCSImpl service is responsible for transforming the Oracle Apps, account, contact, or address created or updated event message into the appropriate SyncCustomerPartyListEBM format and invoking the SyncCustomerPartyList operation of the CustomerPartyEBSV2. There are two asynchronous operations for this service: create and update.
The QueryPersonAccountEbizCreateAdapter is implemented as a routing service in which the Oracle E-Business Suite adapter for querying the Person Account is registered as a Mediator service so that the apps adapter call from the ABCSReqImpl becomes a SOAP web service call.
These are the Oracle E-Business Suite interfaces.
HZ_AIA_CUSTOM_PKG. SYNC_ACCT_ORDER
HZ_PERSON_CUST_BO_PUB.SAVE_PERSON_CUST_BO
Account Match
Contact Match
Account Fetch
Contact Fetch
Table 5-1 Inbound Web Services: Person or Organization Synchronization
API Name | Schema |
---|---|
HZ_ORG_CUST_BO_PUB.GET_ORG_CUSTS_CREATED |
HZ_ORG_CUST_BO |
HZ_ORG_CUST_BO_PUB.GET_ORG_CUSTS_UPDATED |
HZ_ORG_CUST_BO |
HZ_PERSON_CUST_BO_PUB.GET_PERSON_CUSTS_CREATED |
HZ_PERSON_CUST_BO |
HZ_PERSON_CUST_BO_PUB.GET_PERSON_CUSTS_UPDATED |
HZ_PERSON_CUST_BO |
HZ_AIA_CUSTOM_PKG. SYNC_ACCT_ORDER |
HZ_ORG_CUST_BO |
HZ_PERSON_CUST_BO_PUB.SAVE_PERSON_CUST_BO |
HZ_PERSON_CUST_BO |
Table 5-2 Outbound from EBS Event Interfaces: Organization or Person Synchronization
Event Name | Schema | Description |
---|---|---|
oracle.apps.ar.hz.OrgCustBO.create |
Event Name CDH_EVENT_ID |
This event is raised when an organization account is created |
oracle.apps.ar.hz.OrgCustBO.update |
Event Name CDH_EVENT_ID |
This event is raised when an organization account is updated |
oracle.apps.ar.hz.PersonCustBO.create |
Event Name CDH_EVENT_ID |
This event is raised when a person account is created |
oracle.apps.ar.hz.PersonCustBO.update |
Event Name CDH_EVENT_ID |
This event is raised when a person account is updated |
For more information about Oracle E-Business Suite web services and documentation prior to Release 12.1.3, see the library on Oracle Technology Network: http://www.oracle.com/technetwork/documentation/applications-167706.html?
. For Oracle E-Business Suite documentation for R12.1.3 and beyond, see this library: http://download.oracle.com/docs/cd/E18727_01/index.htm?