Understanding Data Synchronization

Types of Synchronization Requests

Data synchronization is performed using synchronization requests sent from the external system using a middleware integration component. The application supports three types of synchronization requests:

Initial Synchronization Requests

Initial synchronization requests are used during the initial configuration of the integration. They facilitate import of data that synchronizes service points, locations, and contact information.

Ongoing Synchronization Requests

Ongoing synchronization requests are used when updating existing data in Oracle Utilities Work and Asset Management based on changes in corresponding data in the external system. Ongoing synchronization requests can be used to update locations, assets or components and to send activity completion information.

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 a location and complete an activity. This supports situations where multiple types of data must be updated based on a single change in the external system.

Navigate to Admin, click Business Object, and search for “W1%sync%” to locate business objects used for data synchronization.

Base Package Synchronization Request Business Objects

Navigate to Admin, click Business Object, and search for “W1%sync%” to locate these objects.

Master Configurations for Data Synchronization

Master configurations are used to define aspects of the synchronization process, including resolution of foreign keys and the type of synchronization business objects to use for each type of data being synchronized.

Navigate to Admin and click Master Configuration to review or modify master configuration settings.

Batch Controls for Data Synchronization

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 contacts, assets, and so on).

“Initial Sync Request - Resolve Keys [maintenance object]” 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 (asset, contact, and so on) to be processed. This must be set to the Sync Request maintenance object for the batch control.
  • 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.

Refer to the Oracle Utilities Work and Asset Management Batch Controls section for a list of these synchronization batch controls.

Batch Scheduling for Data Synchronization

The following sequence indicates the order in which the batch controls on the Initial Sync Request BO life cycle should be executed.

  1. Transformation / Schema Validation Job
  2. Key Allocation Job
  3. Foreign Key Resolution / BO Validation Job (all key allocation jobs must finish)
  4. Load Job

XAI Inbound Services for Data Synchronization

XAI inbound services are used to facilitate invoking the Sync Request Seeder business object by the middleware components upon receipt of a synchronization request.

Navigate to Admin and click XAI Inbound Service to review or modify master configuration settings.

Processing of the Synchronous Request

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 list the specific objects involved.
  1. The external system sends a synchronization request to the middleware integration layer.

    For example, consider a request to update information about an asset installation.

  2. The middleware components transform the request from the external system to the format, to the format used by Oracle Utilities Operational Device Management (this format is based on the business object schemas of the synchronization request business objects).
  3. The middleware component invoked the appropriate XAI Inbound Service, and sends the transformed request.

    XAI Inbound Service: W1-SyncRequestInbound (mapped to the W1-SyncRequestSeeder business object)

  4. The XAI Inbound 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: W1-SyncRequestSeeder

  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