I want to deploy a server-client architecture based on ModeShape but I can't figure out how to configure ModeShape and Infinispan to achieve my goal.
Here is a typical use case:
- User A creates a node on the main server repository
- User B retrieves this node locally and edits its subtree and properties offline
- Once online again, user B pushes back this node to the main server repository and merges its content if necessary (i.e. the node has been also modified in the main repository)
So, my requirements are:
- I need the main server repository to hold all the data.
- I need each client to be able to fetch some specific nodes from the server repository and to store it locally.
- I need each client to be able to work offline (i.e. the main server repository is not reachable) in its local repository
- I need each client to be able to synchronize its local repository with the main repository once online and to merge the data if necessary
Do you have an idea how to get such a behavior by using the clustering options of ModeShape and/or Infinispan? Or maybe you can think of a better approach?