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:
- Emptoris Virtual Supply Master Server manages synchronization of Regions, Categories, Groups, Organizations, Suppliers, Users & Contacts to all the integrated applications.
- Emptoris Contract Management Server manages synchronization of Contract business objects to Emptoris Program Management.
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 .
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 . 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 .
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 . On the Synchronization server configuration properties page, configure the following 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 . On the Synchronization server queue configuration page, configure the following properties:
| 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 . On the Synchronization server message transmitter page, configure the following properties:
| 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.