...
Panel |
---|
Example SituationTo set the scene, here's a typical situation in our web applications:
Obviously this isn't good; when Dave finally submits changes, we need the app to detect that someone else has changed the data, and to handle the situation appropriately. Two aspects to doing this are:
We'll take these in reverse order: |
Panel |
---|
Handling a Concurrent Update SituationThere are three approaches to handling a concurrent update situation:
Unless there's a clear business requirement for the merge option, I think we need to take the second approach, "first commit wins". In order to pursue this approach, we do need to have a mechanism for detecting concurrent updates. Which leads to... |
...