Configuring Master Data Synchronization
In most integrations with Oracle Utilities Customer Care and Billing (or other CIS), Oracle Utilities Meter Data Management is not used as the system of record for account, customer, or service point-related data. Synchronizing this data between the two systems ensures that all account, customer, and service point-related data in Oracle Utilities Meter Data Management is correct and up to date before usage transaction calculations are performed. This synchronization process is supported through a set of business objects, master configurations, batch controls, and pre-configured Inbound Web Services.
Initial Synchronization Requests: Initial synchronization requests are used when initially setting up Oracle Utilities Meter Data Management. They facilitate import of data that creates devices, device configurations, measuring components, service points, install events, contacts, and usage subscriptions in Oracle Utilities Meter Data Management based on corresponding data in Oracle Utilities Customer Care and Billing.
Ongoing Synchronization Requests: Ongoing synchronization requests are used when updating existing data in Oracle Utilities Meter Data Management based on changes in corresponding data in Oracle Utilities Customer Care and Billing. Ongoing synchronization requests can be used to update contacts, devices, device configurations, measuring components, install events, service points, and usage subscriptions.
Composite Synchronization Requests: Composite synchronization requests are requests that contain synchronization requests for multiple types of data within a single request. For example, a composite request could contain requests to update device, device configuration, measuring component, and install event data. This supports situations where multiple types of data must be updated based on a single change in Oracle Utilities Customer Care and Billing.
Master Configuration
The following master configurations are used in Oracle Utilities Meter Data Management to configure the sync process between CIS and MDM:
Master Configuration
Name / Description
Master Data Synchronization Configuration
Lists all foreign key references that need resolution. Each one should reference the view that contains the external key / production key cross-reference. For entities that undergo both the initial and the ongoing sync, two views are specified. For entities that undergo the ongoing sync, an external system / ID type mapping is specified to cater for entities that might be synchronizing from more than one external system.
Seeder Sync Request Master Configuration
Lists the maintenance objects (device, device configuration, etc.) that require synchronization. Each references the synchronization business object that needs to be instantiated when processing a synchronization request for that maintenance object. For maintenance objects that undergo both initial and the ongoing synchronization, two business objects are specified.
Inbound Data Synchronization Business Objects
The integration between Oracle Utilities Meter Data Management and Oracle Utilities Customer Care and Billing uses the following inbound (to Oracle Utilities Mater Data Management) synchronization business objects:
Object Name
Business Object
Description
Device Config Composite Sync Request
D1-CompositeSyncRequestDC
A composite synchronization request that handles syncing in Device Configuration and creating related Measuring Component. This business object a child of the D1- CompositeSyncRequest business object.
Contact Initial Sync Request
D1-InitialSyncRequestContact
Instances of this business object represent individual initial contact synchronization requests.
Device Configuration Initial Sync Request
D1-InitialSyncRequestDC
Instances of this business object represent individual initial device configuration synchronization requests.
Device Initial Sync Request
D1-InitialSyncRequestDevice
Instances of this business object represent individual initial device synchronization requests.
Install Event Initial Sync Request
D1-InitialSyncRequestIE
Instances of this business object represent individual initial install event synchronization requests.
Measuring Component Initial Sync Request
D1-InitialSyncRequestMC
Instances of this business object represent individual initial measuring components synchronization requests.
Service Point Initial Sync Request
D1-InitialSyncRequestSP
Instances of this business object represent individual initial service point synchronization requests.
Dynamic Option Initial Sync Request
D2-InitialSyncRequestDynOpt
Instances of this business object represent individual initial dynamic option synchronization requests.
Dynamic Option Event Initial Sync Request
D2-InitialSyncRequestDynOptEvt
Instances of this business object represent individual initial dynamic option event synchronization requests.
Usage Subscription Initial Sync Request
D2-InitialSyncRequestUS
Instances of this business object represent individual initial usage subscription synchronization requests.
Ongoing Sync Request Acknowledgement
D1-OngoingSyncReqAckMsg
Used to send a message to the sending system to acknowledge receipt of an ongoing synchronization request.
Scalar Meter Read Ongoing Sync Request
D1-OngoingSyncReqScalarMtrRead
Instances of this business object represent individual ongoing scalar meter read synchronization requests.
Contact Ongoing Sync Request
D1-OngoingSyncRequestContact
Instances of this business object represent individual ongoing contact synchronization requests.
Device Configuration Ongoing Sync Request
D1-OngoingSyncRequestDC
Instances of this business object represent individual ongoing device configuration synchronization requests.
Device Ongoing Sync Request
D1-OngoingSyncRequestDevice
Instances of this business object represent individual ongoing device synchronization requests.
Install Event Ongoing Sync Request
D1-OngoingSyncRequestIE
Instances of this business object represent individual ongoing install event synchronization requests.
Measuring Component Ongoing Sync Request
D1-OngoingSyncRequestMC
Instances of this business object represent individual ongoing measuring component synchronization requests.
Service Point Ongoing Sync Request
D1-OngoingSyncRequestSP
Instances of this business object represent individual ongoing service point synchronization requests.
Dynamic Option Ongoing Sync Request
D2- OngoingSyncRequestDynOpt
Instances of this business object represent individual ongoing dynamic option synchronization requests.
Dynamic Option Event Ongoing Sync Request
D2- OngoingSyncRequestDynOptEvt
Instances of this business object represent individual ongoing dynamic option event synchronization requests.
Usage Subscription Ongoing Sync Request
D2-OngoingSyncRequestUS
Instances of this business object represent individual ongoing usage subscription synchronization requests.
Sync Request Seeder
D1-SyncRequestSeeder
Used to identify the appropriate synchronization business object to create when processing synchronization requests.
Contact Synchronization Add
D1-SynchronizationAddContact
Used when adding a new contact as a result of a synchronization request.
Device Configuration Synchronization Add
D1-SynchronizationAddDC
Used when adding a new device configuration as a result of a synchronization request.
Device Synchronization Add
D1-SynchronizationAddDevice
Used when adding a new device as a result of a synchronization request.
Install Event Synchronization Add
D1-SynchronizationAddIE
Used when adding a new install event as a result of a synchronization request.
Measuring Component Synchronization Add
D1-SynchronizationAddMC
Used when adding a new measuring component as a result of a synchronization request.
Service Point Synchronization Add
D1-SynchronizationAddSP
Used when adding a new service point as a result of a synchronization request.
Usage Subscription Synchronization Add
D2-SynchronizationAddUS
Used when adding a new usage subscription as a result of a synchronization request.
Batch Controls
Batch controls perform processing for initial synchronization requests such as allocating keys to data, resolving foreign keys, and loading data (instantiating business objects representing entities such devices, measuring components, etc.).
"Initial Sync Request - Resolve Keys XXX" batch controls invoke a generic maintenance object transition process to invoke the "Resolve Keys - Initial Sync" algorithm for synchronization requests of the appropriate type. Parameters used by "resolve keys" batch controls include:
Maintenance Object: (Required) the maintenance object (device, device configuration, etc.) to be processed. This must be set to the Sync Request maintenance object for the batch control (device for device synchronization requests, service point for service point synchronization requests, etc.)
Restrict By Batch Code: Restricts processing to synchronization requests whose current state is linked to this batch code.
Restrict By Business Object: Restricts processing to synchronization requests linked to this business object.
Restrict By Status Code: Restricts processing to synchronization requests of this status (default: KEY_​ALLOCATD).
Max Errors: Specifies the maximum number of errors allowed before the process exits.
"Initial Sync Request - Load Data XXX" batch controls load data (created new instances of business objects) for requests of the appropriate type (device, measuring component, etc,). Parameters used by "load data" batch controls include:
Maintenance Object: (Required) the maintenance object (device, device configuration, etc.) to be processed. This must be set to the Sync Request maintenance object for the batch control (device for device synchronization requests, service point for service point synchronization requests, etc.)
Restrict By Batch Code: Restricts processing to synchronization requests whose current state is linked to this batch code.
Restrict By Business Object: Restricts processing to synchronization requests linked to this business object.
Max Errors: Specifies the maximum number of errors allowed before the process exits.
The table below lists the batch controls used by initial synchronization requests:
Batch Code
Name / Description
D1-CMSYN
Composite Sync Request
D1-SIIER
Initial Sync Request - Error
D1-SILCN
Initial Sync Request - Load Data Contact
D1-SILDC
Initial Sync Request - Load Data DC
D1-SILDV
Initial Sync Request - Load Data Device
D1-SILIE
Initial Sync Request - Load Data IE
D1-SILMC
Initial Sync Request - Load Data MC
D1-SILSP
Initial Sync Request - Load Data SP
D1-SILUS
Initial Sync Request - Load Data US
D1-SIKCN
Initial Sync Request - Resolve Keys Contact
D1-SIKDC
Initial Sync Request - Resolve Keys DC
D1-SIKDV
Initial Sync Request - Resolve Keys Device
D1-SIKIE
Initial Sync Request - Resolve Keys IE
D1-SIKMC
Initial Sync Request - Resolve Keys MC
D1-SIKSP
Initial Sync Request - Resolve Keys SP
D1-SIKUS
Initial Sync Request - Resolve Keys US
D1-SIOER
Ongoing Sync Request -Error
D1-SIOPE
Ongoing Sync Request - Pending
D1-SRSDE
Sync Request Seeder - Error
D2-SIKDO
Initial Sync Request - Resolve Keys DO
D2-SIKDE
Initial Sync Request - Resolve Keys DOE
D2-SIKUS
Initial Sync Request - Resolve Keys US
D2-SILDO
Initial Sync Request - Load Data DO
D2-SILDE
Initial Sync Request - Load Data DOE
D2-SILUS
Initial Sync Request - Load Data US
F1-SAKRQ
Sync Request Allocate Keys Monitor
F1-SRLRQ
Sync Request Load Records Monitor
F1-SYNRQ
Sync Request Monitor Process
F1-SYSRQ
Sync Request Sampling Monitor (Deferred)
Batch Control Scheduling
The following table specifies the order in which the batch controls on the Initial Sync Request BO life cycle should be executed. The first row identifies the maintenance object for which the synchronization request is intended and the first column specifies the type of process.
Contact
Usage Subscription
Service Point
Install Event
Device Configuration
Device
Measuring Component
Dynamic Option
Dynamic Option Event
Transformation / Schema Validation Job
1
1
1
1
1
1
1
1
1
Key Allocation Job
2
2
2
2
2
2
2
2
2
Foreign Key Resolution / BO Validation Job
(dependent on ALL Key Allocation Jobs finishing)
3
8
3
6
3
3
6
3
5
Load Job
4
9
5
7
5
4
7
4
6
Note that before the Key Resolution job is run, all the Key Allocation Jobs need to finish. This ensures that all foreign key references can be subsequently resolved.
Some business object-level validation is dependent on other entities being completely loaded first. The sequence numbers above allow for this. For example, usage subscriptions business object validation is dependent on service points existing; Install Event business object validation is dependent on both service points and devices existing.
Inbound Web Services
Inbound web services are used to facilitate invoking the Sync Request Seeder business object by the middleware components upon receipt of a synchronization request.
The table below lists the pre-configured Inbound Web Services used to process synchronization requests sent from Oracle Utilities Customer Care and Billing.
Inbound Web Service
Description
Schema Name
D1-SyncRequestInbound
Sync Request Inbound
D1-SyncRequestSeeder (BO)
D1-SyncRequestInboundComposite
Sync Request Inbound Composite
D1-CompositeSyncRequestDC (BO)
Example Sync Process Steps
This section provides an overview of the processing that takes place when a synchronization request is sent. For each step in the process, the table below provides a brief description of the processing that takes place, and lists the specific objects involved.
Step
Process
Objects
1
Oracle Utilities Customer Care and Billing sends a synchronization request to the middleware integration layer.
For example, consider a request to update information about a service point.
2
The middleware components transforms the request from the Customer Care and Billing format, to the format used by Oracle Utilities Meter Data Management (this format is based on the business object schemas of the synchronization request business objects).
3
The middleware component invoke the appropriate Inbound Web Service, and sends the transformed request.
Inbound Web Service:
D1- SyncRequestInbound (mapped to the D1- SynrRequestSeeder business object)
4
The Inbound Web Service invokes the Sync Request Seeder business object, which in turn, determines which synchronization request business object to create (based on the type of data in the synchronization request and the Seeder Sync Master Configuration).
Synchronization Request BO:
D1- OngoingSyncRequestSP
5
For initial synchronization requests, background processing creates master data for each synchronization request, including the following steps:
Data Transformation / Schema Validation
Allocate Keys
Resolve Foreign Keys / Validate Business Object
Load Data
6
For ongoing synchronization requests, the following steps are performed by Enter algorithms on the synchronization request business object lifecycle states:
Data Transformed/Basic Schema Validated:
Determine Sync Request BO
Setup Transformed Data
Pre-Added:
Sync Request Pre-Add Data
FKs Resolved:
Resolve Keys - Ongoing Sync
Updating:
Sync Request Update Data
Setup Transformed Data Algorithm:
D1- SETTRANDT
Sync Request Pre-Add Data Algorithm:
D1-SR-PREADD
Resolve Keys - Ongoing Sync Algorithm:
D1-RESKEYFAL
Sync Request Update Data Algorithm:
D1- SR-UPDDAT