Synchronisation Issues


Anyone got any ideas on how to handle the following.

A user updates customer X on System A and system A is synchronised with System B.

At the same time another user updates customer X on System B which is synchronised with System A.

Who wins? How does the middleware hand this? I know there is the issue of who is right but only the middleware will know there is a problem.

Anyone solved this or got any thoughts. They would be greatly appreciated.



I have worked on a number of mobile devices with synchronization. You have to set up some rules to apply against the sync.

  • A overwrites B always.
  • B overwrites A always.
  • Develop custom interface for manual intervention.

Or, you could come up with a rule that examines both pieces of data, extracts net changes and then applys the rule:

  1. Static data is always changed: phone number, contact etc. I would use a time-stamp field to determine which data is newest. Or, if data is changed for a column or set of joins, design some kind of switch (y/n column or numeric column) that determines that an update against the biz rules is necessary.

or with dynamic data…

  1. Let’s say credit limit is $50,000.00. System A shows liability of $10,000 of orders and credit available of $40,000.00. System B receives another order input for $15,000.00. The net credit for the customer “x” is now $25,000.00. Total orders are 2, and balance on books is $25,000.00. The orders are separate, but the credit limit has changed.

Hope this helps a little. But, in the end, usually there is a MASTER that contains all of the relevant data.