How do you bind your UI to your backend? How do you ensure your client is showing the current state of your data? How can you notify other clients about changes made in any client running while there are in different technologies like android, swing, web etc?
An answer to all these questens gives you OpenDolphin. It is a library you can include in your software for doing communication between your backend and frontend. It is based on a generic model which allows doing the communication between client and server.
There is one big rule: “The client is master”
If changes are done in the UI, the client notifies the server which can process these data.
Are there changes on the server, the server notifies the client. Just after client acknowledge of the data, the server does the changes in server side model.
And what about actions?
This is also very simple. An action is just a command sent to the server an can not contain any other data. All data has to be sent via the model. This is a little bit different of out regular thinking about method calls.
One of the model feature is, holding original values. If there were made changes on the model, there is no problem restoring the original values. Because the model has the information. Just tell the model restoring the value before.
You can read more about on http://open-dolphin.org