Howdy, Jeffrey. Welcome to JavaRanch!
My question relates to the other two modes. Currently I have the server mode simple starting the server application only.
First question is this correct?
Well, yes. In server mode, all your application has to do is start the server, so it is ready to receive connections.
Second Network Mode. Here i start the server application first and then the client application in the same JVM. However, if you decide to exit either the Server application or the client application it cause the JVM to terminate closing both applications.
Is this OK?
Hum... no. They have to be independent from each other, that is, if the server is started, it just receives connections from the clients and deals with the database. If it stops, then the clients connected to it will keep receiving RemoteExceptions, but shouldn't be stoped. If a client exits, then the server must continue running.
This is troubling me as I can not see any way where you can connect more than one client to the same server running my app the way it is currently.
...
Have I misread something? Should the user be given the option of local file or network connection when running in alone mode? Is this a design question can I simply just document it in my choices.txt or will this result in failure?
Champion, it should be pretty simple, actually. In standalone mode, everything is run locally. In server mode, only the server is started and can receive connections from clients. In client mode, a server must be up, so clients can connect to it and execute the operations offered by the server. The server's API will either look similiar to the interface provided by Sun (if you go for a thick client) or will have business methods (if you go for a thin client).
You don't have to give any options in the application when running it in any mode. The flag indicated in the console is how the application should run.