Sun Java System Mobile Enterprise Platform 1.0 Architectural Overview

Synchronization Types

MEP supports the following types of client-initiated synchronizations:

There are two ways to initiate the synchronization process: the user can trigger it manually by selecting the appropriate menu item in the client device's Java ME client, or the server can initiate the process (Push). As defined by the Open Mobile Alliance (OMA), for OMA DS Push, the server sends an SMS notification message to the device. If the client has been programmed to act on this message, it can synchronize with the server to retrieve any changes.

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.

The following sections describe the synchronization types.

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.

The client always initiates this exchange by sending client data modifications to the server. This is called a synchronization request.

The server processes the synchronization request, comparing and unifying the data from the client with the data in the server database by means of an Enterprise Connector.

Afterwards, the server sends the modified data to the client, which updates the local data store with the information from the server. Figure 1–5 illustrates this process.

Figure 1–5 Two-way Sync

Diagram showing two-way sync

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.

Typically, the very first sync that a client performs is a slow sync. After that, the client performs fast syncs. If the data on the server or client is lost or corrupted, the next sync must be a slow sync.

In practice, a slow sync means that the client sends all its data to the server and the server does a field-by-field analysis, comparing its own data with that sent by the client. After the analysis, the server returns all the modification information to the client. In turn, the client returns the mapping information for all data items added by the server. Figure 1–6 illustrates this process.

Figure 1–6 Slow Sync

Diagram showing slow sync

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.


Note –

Use this synchronization type with caution.


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.