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