Homework 5 for CS514: Project Status Report 1

 

This homework is due in class on Thursday, October 26th. Your assignment is, as a group, to write up a short (around 2-page) report on the progress you have made. The outline given here is quite specific about the aspects of your project you should describe; please read it carefully. If you have been working steadily on the project, this homework should not be too demanding, since you will already have most of the points worked out. If not, you need to hurry up! The end of the course isn’t too far away, and if you don’t have a fairly specific idea of what you want to do by now, you are probably in trouble!

 

This is not a normal homework assignment: it is actually a request for a report on the status of your CS514 project. Rather than requiring a general overview, this homework poses some specific questions. These questions assume you’re doing one of the two suggested projects. If not, you should describe your progress at a similar level of detail; contact the TA if you need clarification.

 

1.    Explain the capabilities (“functionality”, if you prefer) being provided by your project. Phrase this in terms of what a user will see and be able to do. Identify what the software you’re using provides (whether it’s WebLogic, E-Speak, or some other product), and what you have to write yourself.

 

2.    Identify what the parts of the system are, and what data the system needs to store. Draw a diagram. Explain who is working on what within your group: vague answers are no longer satisfactory!

 

3.    Describe a “typical” client interaction with the system: what data will the client access during a session? What data, if any, will be changed? Based on this description, where do you think the bottlenecks in the system will arise if you have one server handling a large volume of sessions? If your system can have more than one server handling requests, where will the bottlenecks move to?

 

4.    Following on from your analysis of bottlenecks, what are you doing to improve the scaling properties of your system? What happens if a component of your system fails? How will you cope while the component is down?  When the component comes back up, how much work is required to re-integrate it into the system? What do the answers to these questions tell you about the scalability and fault-tolerance of your system? How do you improve on the properties offered by the software you’re using? (note that improvement certainly is possible: for instance, WebLogic Clustering explicitly says that you shouldn’t replicate stateful EJBs – so why not try?). How will you evaluate the performance of your system?

 

5.    Compare your progress so far to the timeline you submitted in Homework 2. Note any revisions to the timeline. We have a copy of your Homework 2 on file ...

 

You may find it helpful to refer to the comments to Homework 2, posted on the homework page.