Developing a synchronization application with the SyncBuilder framework

The intended purpose of the SyncBuilder framework is to write applications which synchronize data between application databases on the Palm device and application databases on the synchronization host. The framework also allows you to develop many other kinds of utility applications, but this guide will clearly focus on the development of synchronization applications.

Developing a synchronization application involves three steps:

  1. Write a synchronization server – The server will accept incoming connections from Palm devices and will coordinate the invocation of the methods which handle the synchronization. While this might sound challenging, it really is not. The SyncBuilder framework comes with ready-to-use classes which only need to be instantiated in order to provide you with a fully functional server. See Chapter 2.

  2. Write database support – This step is required if you wish to synchronize with an application on the Palm device that is not yet supported by the SyncBuilder framework. It teaches the framework about the format of the application's databases. Currently there is only support for the built-in applications. This step typically involves inheriting from three classes and overwriting a few methods on each one of them. These methods are conversion methods which are of a trivial nature. See Chapter 3.

  3. Write synchronization logic – This step is always required, and it might be non-trivial. It teaches the framework how to synchronize the data from an application on the Palm device with a particular source of data on the host. For each application there is only set of database support classes, but there may be several implementations of the synchronization logic. Take for example the Mail application. The format of the Mail application's database will always remain the same, but you might have to develop different synchronization logic, depending on whether you wish to use POP3, IMAP4, or Unix movemail.