Advanced Replication Guide : Planning and designing for advanced replication applications : Designing the application for synchronization : Providing a user interface to manage synchronization
  
Providing a user interface to manage synchronization
In a stand-alone replica database, the data contents of the database may vary. Data can be downloaded to and deleted from the local database based on the user's need. For instance, a salesman may need customer information for the western region today and the same data about the eastern region tomorrow. To be able to dynamically populate the replica database, a user interface may be needed for refreshing new (and existing) data as well as deleting unnecessary local data by dropping the corresponding subscriptions.
Managing the synchronization process
The synchronization process of solidDB® advanced replication architecture needs to be implemented at the application level. The synchronization process management may contain the following tasks:
Define the contents of the synchronization process, that is, define which
transactions are propagated to the master and which publications are refreshed to the replica in a single synchronization message.
Execute the process, that is, send the request message and get the reply message back. Depending on the application need, these steps can be executed as one "synchronous" or two "asynchronous" operations.
Monitor the status of the process.
Resolve the system- and application-level errors that may have occurred during synchronization.
You can design these tasks through the user interface or by an automatic process. For example, you can implement a user interface into your application for manual monitoring and execution of these tasks. Alternatively, you may want to fully automate the tasks inside your application so that no user interaction is necessary.
During synchronization, errors can occur. These errors can be either at the application or at the system level.
Application-level errors
These are errors that occur when the validation logic of a transaction detects an error and manual actions are necessary to fix the situation. For example, if an "insert order" transaction of an order-entry application detects that the customer credit limit has been exceeded in the master database, manual approval to the order is required. Tracking and resolving the errors typically requires an application-level error log table that can be viewed from the client application.
System-level errors
These errors are typically failures in the store-and-forward messaging. For instance, the network may be down when synchronization is being attempted. Due to this, it is important, that proper error handling is implemented in the execution of the synchronization process. The information that is required to monitor and manage the synchronization process is available in the system tables of solidDB®.
See also
Designing the application for synchronization