SyncML

Two months ago, I started reading about SyncML when learning that it could empower the synchronisation engine from iSync.

SyncML a unified language to enable synchronisation of data between different devices. Synchronisation means to spread the changes of a user to a record to all devices that have this record. A device may be a mobile phone, a handheld, a laptop computer or a mainframe entreprise server.

SyncML defines two roles for devices in a synchronisation process. A client and a server part. In those two roles I only figured out that a server holds a global identifier to a data record where the client could have a local identifier. The server has to hold a mapping table between the locals identifiers and his global ones.

A record is defined in the SyncML specification, it could be a vcard, a xml file, html file, binary data or other things. I didn’t bother to check it…

There are different schemes of synchronisation:

  • two way : client and server both send their modified records
  • one-way : only the client or only the server send it’s modified records
  • refresh : on tier is erasing all its records to refresh its memory with the new one sent

Transport of the data may be achieve by different protocols like HTTP, WAPXML or SMTP for examples.

Implementations are not widely available. I think more time is needed before you can see something plug-and-play. Still there is already sync4j a SyncML server written in Java and article about it. Next realise of iSync on Mac OS X is said to have its API opened.

I have looked for experiences over the Internet but by googling didn’t go far. I think I will hibernate for a while before getting back on this matter. But still I believe this may be tomorrow problems to answer.


No Comments to “SyncML”  

  1. No Comments

Leave a Reply