How to handle conficts and reconciliation issue
We are trying to Integrate 2 systems. We have a Java Application and Database in between integrating both the systems for handling Bi-directional flow of data using event-based approach and Web services. There are couple of queries:
1. There is a maximum possibility that Integrating Application and Database can go down.Despite handling through Clustering and Load Balancing, how can we ensure that data is in sync and transactions gets committed properly without causing any conflicts?
2. Updates can happen on the same ticket from both ends at the same time. One of the user changes Priority on a ticket in JIRA. At the same time a user updates the Workflow status from Open to Close. The Integrating Java Application & Database goes down. When the Integrating Database and Application is started, how can we technically handle the events so that there is no loss of data?