Wednesday, January 20, 2010

Working on Homework Today

Worked on getting some homework done for my university studies today.  Created the server component for the book vendor project.  The project is basically creating three separate applications.  The first is the data store application (responsible for storing information about the books).  The data store in the real world would be replaced by a database server (such as MySQL or PostgreSQL) in the real world, but since it is a little more complicated to do setup multiple database servers for the instructor (or force everyone to use a specific type), we have to create our own data store server.

The next application is the server itself.  The server is responsible for interactions from the client to the data store.  The server is responsible for providing catalog functions (taking data from the data store and providing the information for the client), allowing the client to purchase books if there any books available and other such things.  The server must also have a cache mechanism.  The cache allows the server to cache the data from the data store in a reliable manner (with all of the fun things related to cache maintenance).

Finally, the client is the client facing application.  There is not a significant amount of detail about the client.  The client can either be command line or GUI and must talk to the server on a reliable transport mechanism (i.e. TCP).

The server I have created so far is a multi-threaded application (one thread for each of the client connections).  I need to still work out how to handle the caching on the server and the data store interaction.  I will probably make the data store in a similar manner of the server (with a multi-threaded approach to the creation of book vendor server connections).

No comments:

Post a Comment