Synchronization in UNIFYBroker/Plus
Synchronization is the process of transferring entity data between adapter and locker following the rules defined by the link. Synchronization can only occur in a single direction at a time, moving entity data from the source entity space to the target entity space. When the source is an adapter and the target is a locker, it is considered an inbound sync. Conversely, from a source locker to a target adapter is considered an outbound sync.
Modes
A synchronization process can be executed in one of two different modes:
Sync Type | Description | Best Use |
---|---|---|
Baseline | A synchronization between all adapter entities and all locker entities. Useful to realign adapter and locker entity spaces. | Run either manually or on a schedule at long intervals. eg weekly |
Change Polling | A synchronization between adapter and locker entities which have been modified, added or removed since the last time a synchronization was run. | Run on a schedule at a small interval. Links are create by default with a change polling sync schedule to run every 30 seconds. |
Execution
Synchronization can be executed either by setting a link schedule or manually. For more information on setting a synchronization schedule see the links documentation page on Synchronization Schedules.
The manual triggering of a synchronization can be done from Link, and will synchronize between the adapter and locker associated with that link. Additionally, baseline synchronizations can also be started from a Locker to synchronize on all associated links.
Process
The synchronziation process is a complex series of events comprised of many individual steps, but can be simplified to the following chain of events:
- Change collection - the collation of changes requiring synchronization
- Filtering - the appropriate link filter is applied, removing changes not matching the defined filter rules
- Joining - the links join rules are applied to find connections between source entities to sync and existing target entities
- A source entity without a joined target entity has a target entity provisioned, if configured
- A deleted source entity with a previously joined target entity has that target entity deprovisioned, if configured
- Mapping - the links mapping rules are applied and changed source entity values are transferred to the new or existing target entity
Provisioning and Deprovisioning
Provisioning
Provisioning occurs as part of a synchronization when the join rules defined by the link are applied to a source entity, but do not result in a matched target entity. In such cases, the provisioning process generates a new entity in the target entity space for which to synchronize to.
A provision only occurs when the sync direction specific link provisioning configuration option is selected. See the link configuration documentation for more information.
Alongside provisioning custom, user-defined actions can be run. See the provisioning task documentation for more information.
Deprovisioning
Deprovisioning occurs as part of a synchronization when a source entity has been deleted but had previously been joined with a target entity. In such cases, the deprovisioning process removes the target entity from the target entity space.
A deprovision only occurs when the sync direction specific link deprovisioning configuration option is selected. See the link configuration documentation for more information.
Alongside deprovisioning custom, user-defined actions can be run. See the provisioning task documentation for more information.
Customer support service by UserEcho