![]() |
|
![]() |
|
| Home | Introduction | The Team | Back-end | Cellphone Interface | Web Interface | Downloads |
![]() By Graham Hunter |
The goal of the backend is to provide the system with persistant storage, manage the state of the system and allow functionality to be called remotely using URIs. It consists of:
Web ServicesThe Web Services accepts HTTP requests, and responds with XML data. The interfaces then parse this data for presentation. Parameters are either passed in the URL or form encoded. The services available are split into four categories:
@HttpMethod(value = "GET") @ProduceMime(value = "application/xml") @UriTemplate("User_Details") public String User_Details(@QueryParam("UserId") int UserId) { @HttpMethod – Defines what HTTP type the service should respond to, such as GET or POST. @ProduceMime – What the response type will be such as plaint text or XML. @UriTemplate – What URI the service should respond to. @QueryParam – The name of the parameter sent with the URI Web ServerJakarta Tomcat manages the connections to the database by:
DatabaseThe backend uses mySQL, a freely available open source database. Each major entity in the system is mapped to a table as well as intermediary tables to link entities together.
DesignThe software model used in development was a feature driven model, where the overall system model is planned based on the initial features it needs, then features are implemented in order. There were two feature gathering stages, involving expert and non-expert users with a variety of shopping experience.EvaluationThe backend was evaluated through many tests including functional and performance testing. The performance testing was done using JMeter to simulate multiple requests being made at the same time, and following a system use case.ConclusionThe backend implemented all the features derived from user interviews and initial requirements. The Web Services provided an API that was easy to call and receive data from. The use of mySQL as a database meant that extra time was needed for development, as well as affecting performance. What was recommended was the use of Hibernate, which would manage persistence for the developer. |
| Home | Introduction | The Team | Back-end | Cellphone Interface | Web Interface | Downloads |
Cellphone Shopper, a 2007 University of Cape Town Computer Science honours project
|