Mon 13 Mar 2006
Every Synchronization application is built around a small number of synchronization types:
- Slow Sync / Full Sync - two ways sync
- Fast Sync / Normal Sync - two ways sync
- Refresh Sync - one way sync
- Update Sync - one way sync
1. Slow Sync / Full Sync:
This synchronization type takes place when the two systems are synchronized for the first time. When the Slow Sync occurs, the Synchronization Engine loads all records from both sides, filtered and grouped by section, folder and filters, and are processed.
The processing means that the duplicated are detected, so in case the two systems have one or more identical records, these records could be mapped corectlly, so there will be no duplicates after the synchronization is finished.
Here are the basic operations performed by the Synchronization Engine during the synchronization process:
- The Synchronization Engine connects to the main system
- The Synchronization Engine connects to the secondary system
- The Synchronization Engine loads the supported fields, folders, sections and filters from the main system
- The Synchronization Engine loads the supported fields, folders, sections and filters from the secondary system
- If available the Synchronization Engine loads the fields/folders/sections mapping from the datastore, otherwise it attempts to perform automatic mapping
- The Synchronization Engine clears the records cache and the records mapping table
- For each section & folder, the Synchronization Engine retrieves all records from the main system that match the synchronization filters.
- For each section & folder, the Synchronization Engine retrieves all records from the secondary system that match the synchronization filters.
- The Duplicate Detection Engine performs duplicates detection.
- The Duplicate Detection Engine automatically maps detected duplicates.
- The Synchronization Engine sends all new records to the main system.
- The Synchronization Engine sends all new records to the secondary system.
- The Synchronization Engine updates the history log, the records mapping table and the records cache table with the status of the synchronized records
- The Synchronization Engine performs miscelaneous clean-up actions
- The Synchronization Engine disconnects from the main system
- The Synchronization Engine disconnects from the secondary system
This is a tipical use-case / scenario for the Slow Sync type. Depending on many aspects of the synchronization application, durin the slow sync, the user might be able to confirm the operations that will be send to both systems, might be able to actually preview the changes that will be made or will be able to see records that were rejected by any of the two systems.
2. Fast Sync / Normal Sync
Normal Sync, also known as Fast Sync, is the synchronization type that is used for synchronizing two systems that at some point were fully synchronized by the Slow Sync. This means that the Synchronization Engine has a records mapping table and a records cache table, which can be used during the Duplicate Detection and Conflict Resolution process.
At some point, the Normal Sync / Fast Sync is identical to the Full Sync / Slow Sync. The differences are:
- Fast Sync does not clear the reocrds cache table and the records mapping table, as the information stored into those tables is used during the Conflict Resolution process and during the automatic records merging.
- Fast Sync does not retrieve all the records from the two systems, only the changes performed since the last sync
Knowing these differences, let’s create now the use-case/scenario for the Fast Sync / Normal Sync:
- The Synchronization Engine connects to the main system
- The Synchronization Engine connects to the secondary system
- The Synchronization Engine loads the supported fields, folders, sections and filters from the main system
- The Synchronization Engine loads the supported fields, folders, sections and filters from the secondary system
- If available the Synchronization Engine loads the fields/folders/sections mapping from the datastore, otherwise it attempts to perform automatic mapping
- For each section & folder, the Synchronization Engine retrieves all records from the main system that match the synchronization filters.
- For each section & folder, the Synchronization Engine retrieves all records from the secondary system that match the synchronization filters.
- The Duplicate Detection Engine performs duplicates detection.
- The Duplicate Detection Engine automatically maps detected duplicates.
- The Duplicate Detection Engine performs conflicts detection.
- The Duplicate Detection Engine applies the most appropiate Conflict Resolution policy.
- The Synchronization Engine sends all updates to the main system.
- The Synchronization Engine sends all updates to the secondary system.
- The Synchronization Engine updates the history log, the records mapping table and the records cache table with the status of the synchronized records
- The Synchronization Engine performs miscelaneous clean-up actions
- The Synchronization Engine disconnects from the main system
- The Synchronization Engine disconnects from the secondary system
3. Refresh Sync
The major difference between the Refresh Sync and the Slow Sync is that the Refresh Sync only loads records from a system and updates the other system. Optionally, the system where the records are created can be cleaned up before the synchronization.
The Refresh Sync also has 2 sub-synchronization types:
- Refresh Sync from main system only: all records from the main system are transfered to the secondary system. This sync type is also known as BackUp Sync
- Refresh Sync from secondary system only: all records from the secondary system are transfered to the main system. This sync type is also known as Restore Sync
4. Update Sync
The Update Sync is for the Normal Sync what Refresh Sync is for the Slow Sync: the one way sync type. This sync type is used when the synchronization application provides backup & restore features and the backups should be incremental. So, instead of back-ing-up all the records, just “append” the backup with the changes.
Conclusion:
Using these 4 major sync types supported by the Syncware Synchronization Framework, you can create synchronization applications containing the basic synchronization features as well as advanced features like:
- BackUP & Restore
- Export & Import Wizards
- Multi-step BackUps
Many other features can be provided by simply combining the 4 major synchronization types.
May 26th, 2006 at 3:04 pm
Is it possible to have more information about that product ? Some samples ?
Regards,
Sebastien Ros
May 26th, 2006 at 3:12 pm
Samples will be posted soon. We started to work on a new version, changed a lot of stuff into the synchronization framework. If you’re interested to use this synchronization framework into your own sync application , please send me an email. Thanks.
June 5th, 2006 at 8:41 am
Yes, I’d like to try you framework … If only I could find you email
Don’t you have mine ?