Monday, February 25, 2008

Project 1

Due Date: Wednesday, 26 March

Group project

Functional and Architectural Requirements

In this project, you will have the opportunity to implement a service-oriented voter registration system. The system consists of the following components.
  • Voter registration web service with the following capabilities:
    • set current ZIP code (stored in HTTP session scope)
    • register a voter (stored persistently, generates a confirmation number)
    • check whether a voter is registered
    • modify a voter
    • remove a voter
    • list all registered voters
  • Voter registration client that exposes the capabilities of the web service through a simple command-line interface.
For each voter, at least the following information is captured:
  • confirmation number as unique key
  • name
  • zip code

Other Non-Functional Requirements

  • The project is managed using Maven.
  • Both the service and client should be equipped with comprehensive test suites.
  • CXF is used to implement the web service and client using wsdl2java.
  • Spring session-scoped proxies are used for data in session scope.
  • Persistence is provided using Hibernate.


  • Example projects
    • LinearRegressionMaven (442 repository)
    • CXF examples in 433 repository
  • CXF documentation
  • Hibernate documentation
  • Maven documentation


A repository for each group will be created shortly. No explicit submission will be required.

No comments: