Since the issue is to compare a rich client with a browser client, think of what are the issues with a Rich client like Swing for example:
- You first have to distribute the code to the client's machine. That could be a maintenance problem if you have to make bug fixes.
- You typically have to keep a constant connection with the server or come up with your own exception handling scenarios if you loose server connection
- If the client is truly distributed as in an internet application, you may not be able to use
EJB connection with the server so you have to have some sort of HTTP wrapper classes to help you connect to the server.
- For a client like swing, you are more susceptible to client machine java version issues.