I think I made some similar. Basically I designed:
- A data model in a database .
- A GUI view client, that can connect to the database (not only a database connection but a GUI representation of the model).
Then I put in a Server: The database model and a view (connected to local).
The clients have a view (remoted connected) so they could have the same GUI that the Server.
Moreover, as database accepted several clients connection you don't have to worry about the concurrence. Even you don't have to implement a special network protocol to manage several clients.
thanks, do you mind sharing some examples or samples?