DB Sync framework purpose

DB Sync is a system for sharing data between a central SQL database and local SQL databases used by nomad apps that need to function off-line.

A nomad app using the DB Sync system to share data with a central database is named a DB Sync client app.

On the central server, the DB Sync server (or service) processes the synchronization requests coming from DB sync client apps, to update the central database.

When off-line, the DB Sync client apps modify their local database and register all SQL modifications in a changes log.

Figure: Disconnected DB Sync client apps

DB Sync client applications working off-line.

The database synchronization process takes place when the DB Sync client app gets network access back.

Figure: Connected DB Sync client apps

DB Sync client application performing a database synchronization.

To distinguish changes done in local and central databases, each end user and application is identified in the DB Sync system.

Application SQL tables in the central database are updated by the DB Sync server during the synchronization process initiated by a DB Sync client app.

The DB Sync server writes all changes done by each user/app pair in a dedicated DB Sync system called the DB Sync central change log.

During the synchronization process, changes done by other DB Sync client apps will be collected and propagated to the current DB Sync client app doing the sync.

The DB Sync framework can integrate with the Genero Identity Provider (GIP), for end user authentication through SSO, and to control apps usage with the GIP permissions system.