|Oracle® Application Integration Architecture Oracle Communications Order to Cash Integration Pack Implementation Guide for Siebel CRM, Oracle Order and Service Management, and Oracle Billing and Revenue Management
Part Number E26501-03
|PDF · Mobi · ePub|
This chapter provides an overview of the Synchronize Fulfillment Order Billing Account business flow and discusses the implementation of Oracle Billing and Revenue Management (Oracle BRM) interfaces, industry Oracle Application Integration Architecture (Oracle AIA) components, and integration services.
This chapter includes the following sections:
This business flow is enabled using the Oracle Communications Order to Cash Siebel Customer Relationship Management (Siebel CRM), Oracle Order and Services Management (Oracle OSM), and Oracle BRM pre-built integration options.
The following integration flow involves interfacing order customer accounts to one or more Oracle BRM instances:
Interfacing orders to create customer data in Oracle BRM.
This flow leverages the Create/Sync Account integration flow, which enables the synchronization of customer information from Siebel CRM to Oracle BRM.
For more information about the Create/Sync Account integration flow, see Chapter 18, "Understanding the Process Integration for Customer Management."
This integration flow uses the following interfaces:
* - Indicates integration artifacts that are from the Customer Management process integration (Create/Sync Account flow). They are described in more detail in Section 19.6, "Integration Services."
This is the sequence of events:
The order management system drops the message into the AIA_CRTCUST_OUT_JMSQ JMS queue, which is picked up by the ProcessFulfillmentOrderBillingAccountListOSMCFSCommsJMSConsumer and routed to CommsProcessFulfillmentOrderBillingAccountListEBF.
The CommsProcessFulfillmentOrderBillingAccountListEBF extracts the relevant customer data (ProcessBillingAccountListEBM) and routes it to CommsProcessBillingAccountListEBF.
This leverages the Create/Sync Account flow.
The CommsProcessBillingAccountListEBF prepares the QueryCustomerPartyListEBM message.
This enterprise business message (EBM) is required for querying the entire account data from Siebel CRM before creating the account in Oracle BRM
The CommsProcessBillingAccountListEBF routes the message to QueryCustomerPartyListSiebelProvABCSImplV2 (a core service implemented in the MDM pre-built integration).
The QueryCustomerPartyListSiebelProvABCSImplV2 prepares the application business message (ABM), which is required to invoke Siebel's SWI_Customer_Party_Service.
This query service invokes the Siebel database and fetches the account details and replies to QueryCustomerPartyListSiebelProvABCSImplV2 with response ABM.
This response ABM is then transformed to the QueryCustomerPartyListResponseEBM and is sent back to the CommsProcessBillingAccountListEBF.
The CommsProcessBillingAccountListEBF service instantiates SyncCustomerPartyListBRMCommsProvABCSImpl.
This SyncCustomerPartyListBRMCommsProvABCSImpl invokes Oracle BRM on opcode PCM_OP_CUST_COMMIT_CUSTOMER to create an account. To update an existing account, either opcode PCM_OP_CUST_UPDATE_CUSTOMER or PCM_OP_CUSTCARE_MOVE_ACCT is called, whichever is applicable.
If an account is successfully created or updated, an appropriate response (SyncCustomerPartyListResponseEBM) is sent back to CommsProcessBillingAccountListEBF in an asynchronous delayed response mode.
The CommsProcessBillingAccountListEBF then sends the ProcessBillingAccountListResponseEBM response message to CommsProcessFulfillmentOrderBillingAccountListEBF in an asynchronous delayed response mode.
CommsProcessFulfillmentOrderBillingAccountListEBF drops a message into AIA_UPDCUST_IN_JMSQ store and forward (SAF) queue where order management is notified of the SyncCustomer status.
For this flow there are two transaction boundaries. Table 11-1 describes the transactions involved, the database operations, and what actions to take in case of an error.
If any account creation causes a system or business error, any further updates to the account (and thereby processing of other orders for that account) do not occur until the error is fixed. All updates for that account are locked in the sequencer table. If the error is a business error then the message must be removed from the sequencer table and if the error is a system error then the message must be resubmitted.
For more information about system errors and business errors, see Section 27.5.2, "Using Error Type to Control Response to Order Fallout."
The following services are involved:
|Transaction||DB Operations||In Case of Error||Recovery|
ProcessFulfillmentOrderBillingAccountListOSMCFSCommsJMSConsumer routes the message to CommsProcessFulfillmentOrderBillingAccountListEBF, which extracts relevant customer data and then routes message to CommsProcessBillingAccountListEBF. The message is then routed to QueryCustomerPartyListSiebelProvABCSImplV2, which fetches account details and a response is sent back to CommsProcessBillingAccountListEBF that invokes CommunicationsCustomerPartyEBSV2Resequencer.
AIA cross-reference entries for some of the Siebel entries.
Message goes into the sequencer table.
Rollback JMS message to the originating queue AIA_CRTCUST_OUT_JMSQ_ErrorQ.
Resubmit the order from AIA_CRTCUST_OUT_JMSQ_ErrorQ.
CommunicationsCustomerPartyEBSV2Resequencer instantiates SyncCustomerPartyListBRMCommsProvABCSImpl, which invokes Oracle BRM to either create or update an account. If successful a response is sent back to CommsProcessBillingAccountListEBF. A response message is then routed to CommsProcessFulfillmentOrderBillingAccountListEBF. ProcessFulfillmentOrderBillingAccountListRespOSMCFSCommsJMSProducer produces the response message to AIA_UPDCUST_IN_JMSQ.
AIA cross-reference entries.
Message goes to queue AIA_UPDCUST_JMSQ.
Rollback cross-reference transactions.
Rollback data created in Oracle BRM.
Message goes back to the sequencer table.
Resubmit the message from the sequencer table.
If any order contains more than one account and a failure occurs after any account is processed successfully but the subsequent account fails, then error recovery may become difficult based on the point of failure. Customers must first examine the point of failure and then determine if it's necessary to recover the BPEL instance from the recovery console.
For more information about rollback procedures, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Configuring Oracle AIA Processes for Error Handling and Trace Logging", Configuring Fault Policies to Not Issue Rollback Messages.
This integration flow uses these services:
For more information, see Oracle Communications Billing and Revenue Management (BRM) Documentation, "BRM Documentation," Reference, API reference."
For information about the Oracle BRM interfaces used by the Create/Sync Account integration flow, see Section 19.3, "Oracle BRM Interfaces."
This integration flow uses these industry components:
The industry enterprise business object (EBO) and enterprise business message XML schema (EBM XSD) files are located here: $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/Industry/Communications/EBO/
The industry enterprise business service (EBS) WSDL files are located here: $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseBusinessServiceLibrary/Industry/Communications/EBO/
For detailed documentation of individual EBOs and EBMs, click the AIA Reference Doc link on EBO and EBM detail pages in the Oracle Enterprise Repository (OER).
For more information about using the OER and configuring it to provide the AIA Reference Doc link, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Configuring and Using Oracle Enterprise Repository as the Oracle SOA Repository."
EBOs can be extended, for instance, to add new data elements. These extensions are protected and remain intact after a patch or an upgrade, so long as the extensibility guidelines are followed.
For more information, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Working with AIA Design Patterns," AIA Assets Extensibility Patterns, Extending Existing Schemas in AIA.
For more information about the industry Oracle AIA components used by the Create/Sync Account integration flow, see Section 19.5, "Industry Oracle AIA Components."
These services are delivered with the Interfacing Orders to Create Customer Data in Oracle BRM integration flow:
For more information about the integration services delivered with the Create/Sync Account integration flow, see Section 19.6, "Integration Services."
The ProcessFulfillmentOrderBillingAccountListOSMCFSCommsJMSConsumer is a Mediator process that has a JMS Adapter Service, which continuously polls the Oracle AIA queue AIA_CRTCUST_OUT_JMSQ.
The ProcessFulfillmentOrderBillingAccountListOSMCFSCommsJMSConsumer dequeues the ProcessFulfillmentOrderBillingAccountListEBM message and routes it to the CommsProcessFulfillmentOrderBillingAccountListEBF.
This service has one operation: Consume_Message.
The CommsProcessFulfillmentOrderBillingAccountListEBF is implemented as an asynchronous BPEL process. It performs these operations:
Receives the ProcessFulfillmentOrderBillingAccountListEBM from the Oracle OSM with the target Oracle BRM instance identified.
Transforms the message into the ProcessBillingAccountListEBM appropriately.
Invokes the CommsProcessBillingAccountListEBF.
Awaits response from CommsProcessBillingAccountListEBF.
On receipt of response, drops a message into AIA_UPDCUST_IN_JMSQ store and forward (SAF) queue where order management is notified of the SyncCustomer status.
This process has the following operations.
This is an asynchronous operation to start the CommsProcessFulfillmentOrderBillingAccountListEBF.
This is an asynchronous callback operation. It makes a call back to the calling process, and passes a FaultMsg in the EBMHeader in case of any error received from CommsProcessBillingAccountListEBF.
For error scenarios, a response message can be optionally sent back to the order management system. The decision whether to send a response message back to the order management system is done based on the responseCode attribute of the DataArea of the incoming EBM (ProcessFulfillmentOrderBillingAccountListEBM) from the order management system.
If the responseCode value in the incoming EBM is REQUIRED_FOR_BUSINESS_AND_SYSTEM_ERRORS, the response message is sent back to the order management system for all errors. However, if the responseCode value is REQUIRED_FOR_BUSINESS_ERRORS, the response message is only sent back to the order management system for business errors.
with errors, Oracle OSM and the OSM AIA cartridges do not expect a response back. Instead, they use the Oracle AIA order fallout notification to both generate a trouble ticket and change the order and line status to indicate failure.
For more information about EBFs, see Oracle Fusion Middleware Developer's Guide for Oracle Application Integration Architecture Foundation Pack, "Designing and Developing Enterprise Business Flows."
The CommsProcessBillingAccountListEBF is implemented as an asynchronous BPEL process. it performs these operations:
Receives ProcessBillingAccountListEBM from CommsProcessFulfillmentOrderBillingAccountListEBF.
Constructs a QueryCustomerPartyListEBM payload and queries the Siebel web service with this payload through QueryCustomerPartyListSiebelProvABCSImpl.
Receives a response QueryCustomerPartyListResponseEBM, constructs a SyncCustomerPartyListEBM message and then invokes and routes the message to QueryCustomerPartyListSiebelProvABCSImplV2.
The ProcessFulfillmentOrderBillingAccountListResponseOSMCFSCommsJMSProducer is a BPEL process that has an adapter service, which produces the customer response messages to AIA_UPDCUST_IN_JMSQ.
This process has one operation: Produce_PFOBALResponse to produce the message into the AIA_UPDCUST_IN_JMSQ queue. This operation is called after the account or customer is interfaced in Oracle BRM.