Assignment
4 – First Pass at the Server Due Nov 26, 2002
There
are four weeks left in the semester in which we need to implement the room
reservation server. Four weeks may seem like a short time, but is it is a long
time to go without some milestone. It is important to get feedback on a project
while there is sometime to react to the feedback. Given that everyone has there
own protocol this assignment will be somewhat vague.
1.
Make any changes to your protocol you think are needed.
2.
Select a core subset of the protocol to implement. This core should permit a
reasonable interaction with the server and require the server to go through all
its states.
3.
Implement a concurrent server to that implements this core protocol. Use a file
to store usernames and passwords. However, you can fake the data in the
database by hard coding a response to each request (except for the logging in
part). The server should use configuration files and command line arguments to
set parameters like port number, maximum number of threads and location of the
password file. The server also has to log requests and exceptions to a log
file. If your server is stateful it must implement states. Since you will be
adding to the code later, you will need (and want) unit tests. You might find
it useful to implement a non-gui client to help test your server by hand.
Language
The
assignment is to be done using the language in which you qualified for the
course: Smalltalk or Java.
Grading
Details
to be added later.
What
to Turn in
Turn
in hard copy and an electronic copy of your code. Java people need to place an
electronic copy of your code in a CVS repository in your class rohan account
(which will be handed out in class). Your account needs to have the environment
variable CVSROOT defined. You need to define a module assignment4. Check out
the assignment4 module should give the code for this assignment. This includes
the unit tests. Smalltalk people need to place their code in their store
repository. Your assignment will not be considered turned in until I have both
your electronic copy and the hard copy of your assignment.