Data Synchronization

Data Synchronization is the synchronization of data between the integrated applications in Emptoris® Strategic Supply Management Platform. Business objects created and mastered in Emptoris Strategic Supply Management Platform are published into the integrated applications. Updates in Emptoris Contract Management to the Contract and Term business objects that are, in turn, linked to Emptoris Program Management, are published to Emptoris Program Management.

The application that performs the publishing of the synchronized data is called as the Synchronization Server and the application that receives the synchronized data is called as the Target Client. Each Synchronization Server manages the synchronization of the business objects that it is responsible for. The following list indicates the Synchronization Servers:

Synchronization messages from each server are inserted in an active queue for transmission. Separate active queues are maintained for each Target Client. For example, in an integrated site with Emptoris Sourcing and Emptoris Contract Management, two separate synchronization queues are maintained, one each for Emptoris Sourcing and Emptoris Contract Management. The Synchronization Server concurrently publishes the synchronized data to all the active queues. If a record in the Active queue is not accepted by a Target Client, the status of that record is set to Failed. However, the Active queue is not blocked because of this failed record, and the next record is processed. The records in the queue are stored in a database and maintained even after the servers are restarted.

Purpose

The Data Synchronization module provides information on the data synchronization of business objects, the status of the data synchronization, and options to re-synchronize the failed processes. Based on the applications deployed on a customer site, one of more Synchronization Servers may be available for management in this module. For each of the available Synchronization Servers, you can perform the following activities:

  • Active: Indicates all the data synchronization records that are currently active. To view all the data synchronization records that are currently active, from the Administration tab, click Data Synchronization > [Server that you want to manage] > Active.

    If the data synchronization is not successful, then the record remains in the Active queue with the status as Failed. To view the cause of failure, click the View link in the Message column. You can use the information that is displayed to fix the data. After you have rectified the data, you can resynchronize the record by using the Recover button in the Active Table. If a configuration error, for example, the Target Client being shut down, causes non-data related failure of the synchronization, then you can use the Recover All button to resynchronize all the Failed records in the Active Table.

  • Audit: Indicates all the data sync records that are completed. To view all the data synchronization records that are completed, from the Administration tab, click Data Synchronization > [Server that you want to manage] > Audit. The audit tables displays all the completed records that are successful and failed.
  • Management: Provides the administrative control of the data synchronization process including the ability to resynchronize the clients and recover the failed synchronization records. To manage the Synchronization Server, from the Administration tab, click Data Synchronization > [Server that you want to manage] > Management.

Management of Synchronization Server

You can configure the Synchronization Server from the Synchronization server configuration properties page. To configure the properties of the Synchronization Server, from the Administration tab, click Data Synchronization > [Server that you want to manage] > Management > Configuration. On the Synchronization server configuration properties page, configure the following properties:

Table 1. Synchronization Server Configuration Properties
Attribute Description
com.ibm.emptoris.dsf.audit.table.purge.age Indicates the period for purging the records. The data synchronization audit records older than the number specified are purged.

The default value is three.

com.ibm.emptoris.dsf.audit.table.purge.age. units Indicates the unit of time for purging the records. This value is used by the com.ibm.emptoris.dsf.audit.table.purge.age property.

The default value is Months.

com.ibm.emptoris.dsf.audit.table.purge. enabled Enable or disable the periodic purging of data synchronization audit records.

DTO Cache

Caching can improve performance as the DTO lookup is optimized. It reduces the number of calls to build the DTO, which is sent to the clients. When caching is enabled, DTOs can be pre-fetched to further reduce latency. You can use the Enable and Disable buttons to manage the cache.

DTO Monitor

DTO Monitor provides the event duration, in milliseconds, for reading various DTOs from the server.

Management and review of the synchronization queue

You can configure the Synchronization Server queue from the Synchronization server queue configuration page for the respective Target Client. To configure the queue properties of the Target Client, from the Administration tab, click Data Synchronization > [Server that you want to manage] > Management > Queues > [Target client that you want to manage]. On the Synchronization server queue configuration page, configure the following properties:

Table 2. Synchronization Server Queue Configuration
Attribute Description
FailedCount Indicates the number of records that failed synchronization.
Name Indicates the name of the queue.
PendingCount Indicates the number of records that yet to be synchronized.
RecordFetchSize Indicates the number of business objects selected in a chunk.

When the Synchronization Server prepares a list of business objects for synchronization, it fetches data in chunks.

RunningCount Indicates the number of records that currently undergoing synchronization.
Size Indicates the size of the queue.
SyncedCount Indicates the number of records that have been synchronized successfully.
UnknownCount Indicates the number of records for which the synchronization status is unknown.

Management and review of the Target Client synchronization properties

You can configure the Synchronization Server message transmitter from the Synchronization server message transmitter page for the respective Target Client. To configure the message transmitter properties of the Target Client, from the Administration tab, click Data Synchronization > [Server that you want to manage] > Management > Remote Transmitters > [Target client that you want to manage]. On the Synchronization server message transmitter page, configure the following properties:

Table 3. Synchronization Server Message Transmitter
Attribute Description
Autorestart Enable or disable the automatic restart of the message transmitter.
ClientNodeStickiness If the Target Client is setup in a cluster and all servers in that cluster are configured to receive synchronization messages, then this property determines the number of synch message to send to each server in the cluster using the round robin method.
CompressionThreshold Indicates the maximum bytes of data which can be sent before data compression is enabled. Data more than the specified byte size is compressed and sent to the Target Client.
CountFailed Indicates the number of records that failed to synchronize.
CountPendingResponses Indicates the number of responses that are pending.
CountSynced Indicates the number of records that have been successfully synchronized.
CountUnknown Indicates the number of records for which the synchronization status is unknown.
Destination Indicates the name of the Target Client of the message.
DoCompress Enable or disable compression of the data synchronization message.
DoDtoPrefetch Enable or disable the parallel processing of preparation and transmission of the synchronization message.
DoLogMessages Enable or disable logging of the complete synchronization message. The logging is performed in the application log file of the Synchronization Server.
MaxSyncErrors Indicates the number of times the Target Client rejects the synch message before it is marked as FAILED.
MaxTransientErrors Indicates the number of times the Synchronization Server fails to connect to the Target Client before it pauses that synchronization transmitter. The duration of the pause is specified in the PauseTime property.
Name Indicates the name of the synchronization transmitter.
PauseTime Indicates the maximum pause duration of the synchronization transmitter in milliseconds.
Paused Enable or disable pausing the message transmitter.
Prefetches Indicates the number of prefetches.
Running Enable or disable the running of the message transmitter.
ShutdownUnexpected Indicates whether the message transmitter was shutdown unexpectedly.

Synchronization Recovery Service

With the synchronization recovery service, you can recover failed synchronization requests.

  • Get Oldest Failed Sync Requests - To retrieve a given number of oldest failed requests, enter the maximum number of records to fetch in the max field, and click Execute.
  • Get Range of Failed Sync Requests - To retrieve a given range of failed sync requests, enter the start and stop values of the range, and click Execute. For example, to view records 1 through 10 enter, "1" and "10" respectively.
  • Recover - To recover a particular failed sync request, provide the client, objectId and objectType, and click Execute.
  • Resync Client - To re-synchronize all the objects for the given clientId.
    Note: It can process a large number of records, and must be used carefully.
  • Recover All Clients - To recover failed records for all the clients.
    Note: It can process a large number of records, and must be used carefully.

Any sync recovery operation shows the recovered records being processed in the Active queue, similar to any other sync operation.