Data sync occurs in many scenarios when an external app synchronizes data between itself and ERP.net. It includes:
- Notifications - receiving real time information for changes in ERP.net
- Versions - checking whether an object is updated in ERP.net since last check
- Locking - implementing UI with optimistic locking for data, stored in ERP.net, for concurrency control
Real time notifications are implemented through Webhooks. A webhook template should be set in the Web Hooks entity. Then the template is activated using the WEBHOOK action in a User-defined business rule. It is up to the receiving application to decide what to do with the event. Link for more information.
Object version is a system and API supported way for applications to track changes in ERP.net entities. The changes are collected in Entity aggregates. For example, if an external app updates a single Sales Order Line, the update creates a new version for the whole Sales Order aggregate and the object version counter gets increased by 1. This feature is available through the Domain API for each entity type. In order for the API to return the object version, it must be explicitly selected in the API call. Link for more information.
Optimistic concurrency control is a no-lock concurrency control method implemented in ERP.net through the Object version API. Optimistic locking is used when replicating data between external data source and ERP.net and when implementing external UI for data apps. Link for more information.
With these three important mechanisms in place, we make ERP.net an even easier application to integrate with.