Avoiding Synchronization Conflicts

Unwired Server has mechanisms for protecting data from conflicting changes during synchronization.

If a mobile business object (MBO) performs an update operation, the device sends additional parameters to the server that contain the original values of the database columns mapped to the object's parameters. These original values are shared with the enterprise information system (EIS) server in specially-named arguments. That is, if an argument is named A, and if the original value is available, it is provided in the argument named sup__oldvalue__A. By checking whether or not the original values has become stale, the EIS update operation can avoid conflicting updates.

Consider a database that contains table Person with three columns: socialsecurity_num (pk), fname, and lname. Then consider what happens in case of updates by different device applications.
  1. Two devices, D1 and D2, have downloaded a row 999-55-1212, 'Joe', 'User'.
  2. D1 updates the fname to 'Jane' and succeeds.
  3. D2 updates lname to "Yooser", and consequently supplies the original values 'Joe' and 'User'.

Because the current lname ('Jane') is not same as sup__oldvalue__fname ('Joe') the update for D2 does not occur.

Related concepts
Synchronization Transactions and Data Harmonization Processes
Old Value Argument
Related tasks
Enabling and Configuring Data Synchronization
Binding Data Sources to Mobile Business Objects
Related reference
Mobile Business Object Properties
Mobile Business Object Attribute Properties
Mobile Business Object Operation Properties
Datatype Support


Created September 17, 2009. Send feedback on this help topic to Sybase Technical Publications: pubs@sybase.com