Good day! Me and my friend would like to make a simple Document Management System. We have experienced in developing single client application that only runs in a single desktop computer. Now we want to implement this Document Management System in a client/server, the system is distributed to different computers and connected by LAN. To be more specific there are 3 sub offices and 1 main office, this main office will be the server of the system, the sub offices are the clients. we want to implement it using java and postgresql.
My questions are:
1. In the client application, can we just create/implement one application and just distribute it to other clients? i mean they have the same implementation, code that will communicate to the server computer but just have different ip/socket so the server can differentiate the clients.
2. what kind of strategy that we can use for implementing the server side, how to handle all the clients, if I'm right clients request the data from the server and the server retrieves the data from database and returns it to client, we have small understanding about the multi-threading, do we need to use in the server side? or what other strategy can we use?
3. I've read about the RMI that allows two or more machines to communicate with each other, can we use this RMI or there are other that is more better than RMI.
4. What frameworks can you suggest for the implementations? that it will be scalable and maintainable in the future. we will be implementing it in eclipse and SWT for its GUI.
Sorry for too much question but we really need your help, thanks in advance.