The MCBO API supports the following types of client-initiated synchronizations:
Both from server to client and from client to server:
Two-way sync (fast sync)
Two-way sync, also called fast sync, is the normal synchronization mode, in which the client and the server exchange modifications to the data that they have stored. An initial slow sync is used to populate the data on the client.
For details, see Two-way Sync (Fast Sync) in Sun Java System Mobile Enterprise Platform 1.0 Architectural Overview.
Slow sync
The slow sync is similar to two-way sync, except that all the items in the client databases are compared with all the items in the server databases, on a field-by-field basis. A slow sync can be requested if the client and server data is mismatched or if the client or server loses its information.
For details, see Slow Sync in Sun Java System Mobile Enterprise Platform 1.0 Architectural Overview
From client to server only:
One-way sync from client
This is one half of a two-way sync. In this mode, the client sends modifications of its data store to the server. The server updates its data store appropriately but does not send modifications of its data store to the client.
Refresh sync from client
In this mode, the client exports all its data to the server. The server is expected to replace all its data with the data sent by the client.
Use this synchronization type with caution.
From server to client only:
One-way sync from server
This is the other half of a two-way sync. In this mode, the server sends modifications of its data store to the client. The client updates its data store appropriately but does not send modifications of its data store to the server.
Refresh sync from server
In this mode, the server exports all its data from a database to the client. The client is expected to replace all its data with the data sent by the server.
Server-initiated synchronization is also possible. The server can initiate syncs by sending SMS messages to the client device.
Both the client and the server store information about changes to their respective data stores since the last successful synchronization. When the next synchronization is performed, the client and server negotiate how the changes are resolved and propagated according to the type of synchronization being performed.