Synchronization Modules Overview
In a multi-server environment running multiple instances of Openbravo Commerce it is critical to ensure data consistency. One of the techniques we use for this is data replication using Symmetric DS.
For each table which needs to be replicated/synchronized a separate 'Synchronized Table' record needs to be created in the 'Synchronized Table' window. Also when the data should be present from the start in a store then the table also needs to be added to the Store Server Creation Dataset.
When creating new modules and adding new tables to the solution it is important to consider if these tables need to be synchronized/replication. If so then the module should contain also entries in the 'Synchronized Table' window/table and possibly the 'Store Server Creation' dataset. To ensure replication and correct store creation.
However, by adding the synchronization definition in a module it would make the module depend on the Symmetric DS replication module. For single server architectures (which is quite common) this dependency from a functional module to the replication modules makes less sense and is too restrictive. This because the replication module is not installed typically in single server environments. Therefore many synchronization definitions are implemented in separate modules.
It is important to understand that when installing a module in a multi-server environment that you should also check if there is a relevant synchronization module which should also be installed.
We can not yet automatically detect that the synchronization module is needed. So this is a manual task, this wiki page can help you to find the relevant synchronization module.
Retail Store Server Synchronization module
This is the main synchronization/replication definition module. It contains the 'Synchronized Table' records and 'Store Server Creation' dataset records for the standard/core retail tables.
Below the listing of synchronization modules implemented specifically for supporting these extension modules in a multi-server environment. The original extension module can be found by removing the '.synchronization' suffix: