The Mobile Developer
by Eric Giguère
SyncML: Standardizing Data Synchronization
It used to be common for data to be stored in a central
location. Now it's more likely to be distributed among
several different datastores -- enterprise database
servers, email clients/servers, handheld organizers, cellphones,
and so on. Some of that data is shareable, even though
it may be stored in different formats. In an ideal world,
for example, your email client, organizer and cellphone
would all share the same address book -- update one and
the others get updated automatically.
The process of updating multiple copies of data is
usually referred to as a data synchronization.
Data synchronization is not new technology: devices
like Palm organizers and BlackBerry pagers already
synchronize their on-board applications with popular
desktop applications. And database vendors provide
ways to keep local and remote copies of databases
synchronized. But there are two main problems with
data sychronization: it's complicated and it's proprietary.
Data synchronization is complex because shared data
doesn't necessarily exist in the same format
across multiple datastores and because of the need
for conflict resolution -- the ability to
handle multiple conflicting changes to the same
data. This complexity is not likely to disappear
any time soon, although there are plenty of companies
out there that will sell you tools to help you
overcome this complexity. (Shameless plug: check
out my employer's
MobiLink
technology for relational database synchronization.)
The proprietary nature of data synchronization
is about to change, however, with the introduction
of SyncML. SyncML (see the website at
www.syncml.org)
is an XML language for data synchronization.
(SyncML is an abbreviation for Synchronization
Markup Language.) It's still in the formative
stages, but its goal is to deliver a standard
synchronization protocol that applications
can use to share data. The protocol is
being designed specifically with mobile and
wireless devices in mind.
Is SyncML likely to succeed? Probably, given
the list of initial founders:
IBM/Lotus, Motorola, Nokia, Palm, Psion and Starfish.
A long list of smaller companies have just signed
on as supporters of the initiative, and expect
more to join in fairly short time, because
the popularity of mobile devices is making data
synchronization an important issue to address.
SyncML is expecting to publish its first specification
in the middle of this year, so there's very
little to comment on as of yet, but it's certainly
something you should be tracking.
Eric Giguère is the author of
Palm Database Programming: The Complete Developer's Guide
and an upcoming book on the Java 2 Micro Edition. He works
as a developer in Sybase's Mobile & Embedded Computing division.
Visit his website at www.ericgiguere.com
or send him mail at ericgiguere@ericgiguere.com.