However, this requirement does not mean that a file system must be exposed to users or applications. Instead, data synchronization mechanisms will be available to software developers as a new set of Java APIs. The latter enables the synchronizable object to manage the merging of updates. Synchronizable is a Java interface that extends Serializable so that the state can be stored and transmitted. SyncStore is a lightweight replicable persistent store that supports disconnected operation.
Synchronizers hide and implement transport protocol details.
SyncStoreManager makes SyncStores available to applications by registering, creating, opening, and listing them. SyncManager is a server component in charge of driving synchronization. It determines which Synchronizer to use, then starts it and monitors its progress. It also handles resources of the communication link, concurrency, and priority. Applications can use the new interfaces to manage data objects that must be kept synchronized with peers or servers.