Hi everyone,
thank you very much for your congratulations.
Hi Ratna,
generally: I chose the two tier approach due to the convincing arguments mentioned in this
thread.
Concerning data access level: I have one singleton instance which is instantiated when the application starts and persists during the whole run of the application. This instance reads the Data Schema section of the database file. Since this object once created is immutable and serializable it provides through an interface meta data informations needed at the client side.
Each data access either from the singleton or an instance of the Data class is made by one RAF.
networking issue I chose RMI with a Connection Factory providing for each client a reference to a newly created remote object. This remote object wraps an own db access object. Thus I have a one-to-one relationship, one db access object per client.
exception handling Here I took a really long time to properly implemented layer conformed exceptions. For example, I have never propagated one checked exception of the data access level up to the client.
User interface I implemented a MVC
pattern solution closely adapted to this described by Max in his book. Admitedly I have an different exception handling at the Controller class, distinguishing between User input exceptions pointing on an invalid user input and system level exceptions.
The GUI was layouted by a GridBagLayout, I used editable combo boxes for the searchingfunctionalities.
Generally, I would recommend not to spend so much time like me trying to fulfill the requirements
Ok, I got a high score, but finally it's just important to pass and to learn a lot about new issues.
Keep it simple and straightforward and if you think that a certain implementation is beyond the scope of this assignment, document it.
Hope I could help you,
regards
Ulrich
[ August 13, 2004: Message edited by: Ulrich Heeger ]