Skip Headers
Oracle® Application Integration Architecture Oracle Communications Order to Cash Integration Pack Implementation Guide for Siebel CRM, Oracle Communications Order and Service Management, and Oracle Communications Billing and Revenue Management
Release 11.3

Part Number E50337-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Feedback page
Contact Us

Go to previous page
Previous
PDF · Mobi · ePub

M Understanding Multischema Migration

This appendix discusses how Oracle Communications Billing and Revenue Management (BRM) communicates the correct account information to Siebel customer relationship management (Siebel CRM) in a multischema environment using Oracle Application Integration Architecture (Oracle AIA) integration.

About Multischema Migration

In BRM, you can distribute your data among multiple schemas in the same database to increase scalability and support load balancing. The BRM accounts and associated objects are relocated between schemas using Account Migration Manager (AMM). AMM migrates the accounts and associated objects in batches, with each batch consisting of a list of accounts identified by their BRM Portal Objects (POID), source schema number, and destination schema number.

See Oracle Communications Billing and Revenue Management Concepts and Oracle Communications Billing and Revenue Management System Administrator's Guide for more information about multischema architecture and account migration.

In order to communicate the correct account information between BRM and Siebel CRM a common AIA identifier and an Oracle AIA cross reference table is used to map accounts between BRM and Siebel CRM. The BRM schema number is included as part of the BRM cross reference, such as 0.0.0.2 /account 11599 4.

During a BRM migration, AMM populates a MIGRATED_OBJECTS_T cross-reference table in the primary BRM schema with the batch ID, and old and new POIDs of all the objects that have been migrated successfully. The old POID represents pre-migration schema value, and new POID represent the post-migration schema value.

Table M-1 shows an example of the MIGRATED_OBJECTS_T table data.

Table M-1 MIGRATED_OBJECTS_T Table Example

BATCH_ID OLD_POID NEW_POID

225313

0.0.0.2 /account 11599 4

0.0.0.3 /account 11599 4

225313

0.0.0.2 /service 14569 2

0.0.0.3 /service 14569 2

225313

0.0.0.2 /billinfo 12349 3

0.0.0.3 /billinfo 12349 3

225494

0.0.0.2 /account 10319 1

0.0.0.3 /account 10319 1

2254494

0.0.0.2 /billinfo 14569 1

0.0.0.3 /billinfo 14569 1


Mapping BRM POIDs to AIA Cross-References

When a BRM migration finishes, Oracle AIA updates the Oracle AIA cross-reference table using the following BRM object account types:

  • account POID

  • billinfo POID

  • payinfo POID

  • default account level balance group POID

  • purchased product POID

  • purchased discount POID

  • service POID (Services objects for the account

  • purchased bundle POID

  • profile POID

Table M-2 shows the cross-reference mapping between the Oracle AIA cross-reference identifier and BRM cross-reference object types.

Table M-2 Cross-Reference Mapping Between Oracle AIA and BRM

AIA Cross-Reference BRM Cross-Reference

CUSTOMERPARTY_CONTACTID

/account POID

CUSTOMERPARTY_BILLPROFILEID

/billinfo POID

CUSTOMERPARTY_PAYPROFILEID

/payinfo POID

CUSTOMERPARTY_ADDRESSID

/account POID

or

/payinfo POID

CUSTOMERPARTY_CONTACTID

/account POID

or

/payinfo POID

CUSTOMERPARTY_DEFAULTBALANCEGROUPID

/balance_group POID

Note: This is the default account level.

INSTALLEDPRODUCT_ID

/purchased_product POID

INSTALLEDPRODUCT_ID

/purchased_discount POID

INSTALLEDPRODUCT_ID

/service/object POID

Where object is the service object for the account.

INSTALLEDPRODUCT_ID

/purchased_bundle POID

INSTALLEDPRODUCT_ID

/profile/object POID

Where object is the profile object for the account.


Synchronizing Cross-References for Migrated Accounts

When you migrate accounts across BRM schemas, the cross-references for the accounts are synchronized from BRM to Oracle AIA as follows:

  1. When you migrate accounts across BRM schemas, AMM populates a MIGRATED_OBJECTS_T cross-reference table in the primary BRM database with the batch ID, and old and new POIDs of all the objects that have been migrated successfully.

  2. When the BRM account migration is complete, an AccountInfoChange business event is generated and published to an Advanced Queue (AQ) database queue. The AccountInfoChange business event includes the batch ID and BRM object POIDs.

  3. Oracle AIA retrieves the AccountInfoChange business event from the AQ database queue and updates the information in the Oracle AIA database by calling the SyncMultiSchemaChangeBRMAQ consumer service.

  4. The SyncMultiSchemaChangeBRMAQ service reads the batch ID and BRM object POIDs from the AccountInfoChange business message from the AQ and passes the message to the SyncMultiSchemaChangeBRMRequester service.

  5. The SyncMultiSchemaChangeBRMRequester service does the following:

    1. Reads the AIAConfigurationProperties.xml file for a list of custom cross-reference tables. See "Configuring Oracle AIA to Work with BRM in Multischema Environments" for more information.

    2. Reads the BRM_INSTANCE domain value map (DVM) to get the database link name.

    3. Calls the MultiSchemaUpdate PLSQL procedure.

    4. Adds a message to the error queue if an error is found. See "Handling Errors" for more information.

  6. MultiSchemaUpdate PLSQL procedure updates the Oracle AIA cross-reference table by doing the following:

    1. Retrieves the batch ID, custom table and database link names from the BRMMultiSchemaConsumer service.

    2. Connects to MIGRATED_OBJECTS_T cross-reference table using a database link.

    3. Locates the old POID values and updates the new POID values in the AIA cross-reference table.

    4. Deletes the entries in MIGRATED_OBJECTS_T cross-reference table when Oracle AIA receives the data.

Figure M-0 illustrates the flow when updating cross-references in a multischema migration.

Figure M-1 Updating Cross-Reference Data Sequence Diagram

The graphic illustrates the flow described in the preceding text.

Configuring Oracle AIA and BRM to Work Together in Multischema Environments

You must configure both Oracle AIA and BRM to work together in multischema environments.

Configuring Oracle AIA to Work with BRM in Multischema Environments

Before deploying the Oracle Communications Order to Cash pre-built integration, you must perform the following Oracle AIA configuration tasks:

  1. Create a database link to your BRM environment so that Oracle AIA can access the BRM MIGRATED_OBJECTS_T cross-reference table by adding the following command in your Oracle AIA database (adjust to match your environment):

    create database link brm01 connect to brm identified by brm using
    '(DESCRIPTION = 
        (ADDRESS = 
          (PROTOCOL = TCP)
    (Host = ap6060fems.us.oracle.com)
    (Port = 1561)
        ) 
    (CONNECT_DATA = (SID = aiafpdev))
    )';
    
  2. Configure the cross-reference table. Oracle recommends that you split large cross-reference tables into separate tables for each BRM cross-reference object using the XREF Migration Utility. When you split the cross-reference table, the XREF Migration Utility creates custom cross-reference tables. You must add the names of these tables to the AIAConfigurationProperties.xml file for Oracle AIA to update the BRM cross-reference objects after migrating accounts across BRM schemas. Configure the table as follows:

    1. Using the XREF Migration Utility, split the cross-reference table into separate tables for each BRM cross-reference object. For more information about using this utility, see the Oracle Technology Network web site at:

      http://www.oracle.com/technetwork/middleware/foundation-pack/learnmore/aiaxref-524690.html

      For BRM cross-reference object types, see "Mapping BRM POIDs to AIA Cross-References".

    2. Open $AIA_INSTANCES/config/AIAConfigurationProperties.xml file in a text editor.

    3. Add a comma-separated list of the names of your custom cross reference tables.

    4. Save and close the file.

Configuring BRM to Work with Oracle AIA in Multischema Environments

To configure BRM to work with Oracle AIA in multischema environments, perform the following configuration tasks:

  1. Configure the Account Migration Manager to populate the MIGRATED_OBJECTS_T cross-reference table as follows:

    1. Open the PIN_HOME/sys/amt/Infranet.properties file in a text editor.

    2. Locate the publish_migrated_objects entry and add the storable classes that Oracle AIA cross-references in comma-separated format. For example:

      publish_migrated_objects=/billinfo,/service,/purchased_product,/payinfo,/balance_group,/purchased_bundle
      

      See the list of BRM cross-reference object types in Table M-2, "Cross-Reference Mapping Between Oracle AIA and BRM" for the storable classes to add.

    3. Save and close the file.

  2. Configure the Enterprise Application Integration (EAI) Manager and the Synchronization Queue Data Manager (DM) to publish the AccountInfoChange business event to AQ.

    For more information, see:

    • The discussion of integrating BRM with enterprise applications and configuring event notification for EAI Manager in Oracle Communications Billing and Revenue Management Developer's Guide

    • The discussion of specifying which business events to send to the database queue in Oracle Communications Billing and Revenue Management Synchronization Queue Manager

Note:

The integration includes the payloadconfig_crm_sync.xml payload configuration file, which contains the AccountInfoChange business event.

Handling Errors

When an exception is raised the BRMMultiSchemaConsumer service will add a message into the error queue for manual intervention. See "Handling Error Notifications for Order Fallout Management" for more information.

Assumptions and Constraints for Multischema Migration

The assumptions and constraints for multischema migration are as follows

  • AIA cross reference data should be updated after migration. AIA does not support the processing of orders while a migration is ongoing.

  • Account migration should be planned and scheduled at a time when there is no or very little user activity on the system. Any orders flowing through the system during migration will result in order fallout and will need to be reprocessed after the AIA cross references have been synchronized.

Integration Services

The following services enable the integration of multischema migration:

  • SyncMultiSchemaChangeBRMAQ Consumer

  • SyncMultiSchemaChangeBRMRequesterImpl

  • MultiSchemaUpdate.sql

About the SyncMultiSchemaChangeBRMAQ Consumer

The SyncMultiSchemaChangeBRMAQ consumer is a mediator-based service called by the BRM AQ after a multischema migration. It reads the BATCH_ID and BRM instance ID in the AccountInfoChange message from the AQ and passes it to the SyncMultiSchemaChangeBRMRequester service.

About the SyncMultiSchemaChangeBRMRequester Service

The SyncMultiSchemaChangeBRMRequester service is a BPEL service that accepts the AccountInfoChange message from the SyncMultiSchemaChangeBRMAQ consumer and invokes the MultiSchemaUpdate.sql process. It performs the following actions:

  1. Reads the AIAConfigurationProperties.xml file for a list of custom cross reference tables. See "Configuring Oracle AIA to Work with BRM in Multischema Environments" for more information.

  2. Reads the BRM_INSTANCE.dvm to get the database link name

  3. Invokes MultiSchemaUpdate.sql

  4. Adds a message to the error queue if an error is found. See "Handling Error Notifications for Order Fallout Management" for more information.

About the MultiSchemaUpdate.sql Process

MultiSchemaUpdate.sql is a PLSQL process which is called by the BRMMultiConsumer service after a multischema migration to update the Oracle AIA cross reference table. It performs the following actions:

  1. Retrieves the BATCH_ID and CUSTOM_TABLE_NAMES

  2. Connects to the BRM MIGRATED_OBJECTS_T cross-reference table using a database link.

  3. Locates the old POID values and updates the new POID values in the Oracle AIA cross reference table