Monday, March 31, 2008

Project 2

Due Date: Wednesday, 30 April (firm)

Group project

Functional and Architectural Requirements

In this project, you will have the opportunity to implement a resource-oriented reservation system. You should follow these requirements, using your web application from the previous semester as a starting point.

Overall, you should follow the architectural and design principles outlined here:
Your system should support at least two representations:
  • XHTML (suitable for a human user)
  • JSON or concise XML (suitable for a programmatic client)
The key conceptual component of this project is to map the uniform REST verbs to the functionality described in the requirements. To some extent, we should do this part as a group in class and through the mailing list. The example from chapter 7 of the REST book should help as well.

Other Non-Functional Requirements

  • The project is managed using Maven.
  • Restlet is used to expose the given functionality in a resource-oriented form. Where appropriate, suitable representations should be included that make the functionality accessible through a web browser (XHTML). Otherwise, the functionality should be accessible through a suitable client also implemented in Restlet (JSON or XML).
  • There should be a comprehensive test suite involving direct and client-based testing (using the chosen data representation) of the available functionality.
  • Persistence is provided using Hibernate as in your web application starting point, or you may switch to db4o instead.
  • Dependencies should be managed using the Spring framework.

Submission

Please use the repository for your group for collaboration and notify me when your work is ready for me to review. No explicit submission will be required.

No comments: