Understanding Data Synchronization

The product supports various options for managing an ongoing synchronization of an entity to an external system. While each integration involves unique business rules, in many cases the process is quite similar and involves the following overall steps:

  • When an entity is added, changed or deleted logic determines whether the change is eligible for synchronization and if so a sync request record is initiated to manage the synchronization process. The base product uses the Audit plug-in spot on the maintenance object to allow for such logic to be performed when a change is detected to a record for that MO. The framework calls the algorithm defined on this plug-in spot in the event a change to the MO has been detected. Refer to the description of the plug-in spot on Maintenance Object - Algorithms for more information about when this plug-in is called.

  • The processing of the sync request is deferred to batch so that the communication with the external system does not impact the updating transaction.  It also ensures that the data being shared with the external system is fully committed to the database.

  • When processed, sync request logic manages the following aspects of the process:

    • Determines whether the synchronization is still needed and if not discards the request.

    • Prepares the outbound message with the entity's synchronization details and sends it to the external system.

    • Manages errors and retry attempts as needed.

The following sections describe the various data synchronization options supported by the product.