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.
References
- Example projects
- LinearRegressionMaven (442 repository)
- CXF examples in 433 repository
- CXF documentation
- Hibernate documentation
- Maven documentation
Submission
A repository for each group will be created shortly. No explicit submission will be required.