MobiLink Synchronization User's Guide
Introducing MobiLink Synchronization
The MobiLink synchronization process
MobiLink synchronization is adaptable and flexible. Following are some of its key features:
Data coordination MobiLink allows you to choose selected portions of the data for synchronization. MobiLink synchronization also allows you to resolve conflicts between changes made in different databases. The synchronization process is controlled by synchronization logic, which can be written as a SQL, Java, or .NET application. Each piece of logic is called a script. With scripts, for example, you can specify how uploaded data is applied to the consolidated, specify what gets downloaded, and handle different schema and names between the consolidated and remote databases.
Automation MobiLink has a number of automated capabilities. The MobiLink synchronization server can be instructed to generate scripts suitable for snapshot synchronization, or instructed to generate example synchronization scripts. It can also automatically add users for authentication. Server-initiated synchronization allows you to push data updates to remote databases.
Monitoring and reporting MobiLink provides two mechanisms for monitoring your synchronizations: the MobiLink Monitor, and statistical scripts. You can monitor scripts, schema contents, row-count values, script names, translated script contents, and row values.
Performance tuning There are a number of mechanisms for tuning MobiLink performance. For example, you can adjust the degree of contention, upload cache size, number of database connections, number of worker threads, logging verbosity, or BLOB cache size.
Two-way synchronization Changes to a database can be made at any location.
Upload-only or download-only synchronization You can choose to perform only an upload or only a download.
File-based download Downloads can be distributed as files, enabling offline distribution of synchronization changes. This allows you to create a file once and distribute it widely.
Server-initiated synchronization You can initiate MobiLink synchronization from the consolidated database. This means you can push data updates to remote databases, as well as cause remote databases to upload data to the consolidated database.
Choice of communication streams Synchronization can be carried out over TCP/IP, HTTP, or HTTPS. Palm devices can synchronize through HotSync. Windows CE devices can synchronize using ActiveSync.
Remote-initiated Synchronization between a remote database and a consolidated database can be initiated at the remote database.
Session-based All changes can be uploaded in a single transaction and downloaded in a single transaction. At the end of each successful synchronization, the consolidated and remote databases are consistent.
Transactional integrity Either a whole transaction is synchronized, or none of it is synchronized. This ensures transactional integrity for each database.
Data consistency MobiLink operates using a loose consistency policy. All changes are synchronized with each site over time in a consistent manner, but different sites may have different copies of data at any instant.
Wide variety of hardware and software platforms A variety of widely-used database management systems can be used as a MobiLink consolidated database: Adaptive Server Anywhere, Adaptive Server Enterprise, Oracle, Microsoft SQL Server, or IBM DB2. Remote databases can be Adaptive Server Anywhere or UltraLite databases. The MobiLink synchronization server runs on Windows or UNIX platforms. Adaptive Server Anywhere runs on Windows, Windows CE, or UNIX machines. UltraLite runs on Palm, Windows CE, or Java-based devices.
Flexibility The MobiLink synchronization server uses SQL, Java, or .NET scripts to control the upload and download of data. The scripts are executed according to an event model during each synchronization. Event-based scripting provides great flexibility in the design of the synchronization process, including such features as conflict resolution, error reporting, and user authentication.
Scalability and performance MobiLink synchronization is scalable: a single server can handle thousands of simultaneous synchronizations, and multiple MobiLink servers can be run simultaneously using load balancing. The MobiLink synchronization sever is multi-threaded and uses connection pooling with the consolidated database. MobiLink provides extensive monitoring and reporting facilities.
Easy to get started Simple MobiLink installations can be constructed quickly. More complex refinements can be added incrementally for full-scale production work.