You are here

Introduce a Web Services Server for Teaching

Project ID: 
17
Current stage: 
Manager: 
Unit: 
What: 

Description: Create a student web services server, like homepages.inf.ed.ac.uk, for course work. To use Tomcat as a server engine with JSP (Java Servlets) and a backend database and (for example) Hibernate for persistent object storage.

This will allow each student to setup a web site where they can allow people to register, login and interface to a database. In the past this has been done by each student running their own server on lab machines rather than sharing a common server as proposed. The justification for moving to a single server is that it would make evaluation of work easier and would also allow for checking of session handling (important for example for ecommerce type applications). In addition an individual environment is not always an appropriate model for 4th year courses and projects or for group work.

Deliverables: A prodcution server running the service as appropriate, configured and managed via LCFG. Suitable documentation for the server and LCFG to allow it to be generally managed. Beyond basic testing, usage testing will be carried out by the lecturer (or as delegated) that is developing the course work.

Why: 

Customer: This project is a Teaching requirement from Stephen Gilmore on the Enterprise Computing course, and maybe the SDP course and 4th Year Projects (unconfirmed). Stephen also makes a case for this as a general Research requirement.

Case statement: Strong teaching requirement in terms of using modern technology for student coursework as well as project work. There is also a desire to provide a consistent web development environment through 3rd year and 4th year courses and then the 4th year project. There is also a research requirement for such a service to provide software which third parties can use without a download and compile cycle.

When: 

Status:

Timescales: A sufficiently running service by beginning of August to allow the course lecturer and the student developing the course work sufficient time to check everything works prior to the start of the first semester.

Priority: Project needs to be done by August for coursework to be produced. However that may have to be a provisional implementation (FC3). It is possible that most of the coursework can be produced independently so the deadline can slip but it will still need to be tested against the final service reasonably prior to the start of the semester.

Time: This is not fully quantifiable at this stage as a certain amount of time is needed simply to evaluate the technology and how best to implement certain aspects of the proposal. Given that the evaluation has been carried out and a more finalized plan is in place this project has a ballpark time cost of two full time weeks plus a contingency of one full time week.

How: 

Proposal: Basic plan is to provide an LCFG component to configure and run Tomcat as a web server, a back-end database (with Hibernate for persistent object storage for example) and Java Servlets on a machine. This machine will host either multiple virtual servers or multiple locations, one per-student or group and multiple databases, one corresponding to each student or group. Students will be able to create web applications using JSP and a database within their dedicated area. Lecturers will be able to go to a specific per-student URL to evaluate the work. Some means for students to edit "web.xml" must be provided (this is what Tomcat uses to control which Servlets can run). How accounts get set up on the machine and on the database needs investigation.

Resources: There is a need for suitable server hardware to be purchased or re-deployed.

Web and Java expertise may be required from other Units, but probably only on a consultative basis.

Plan: 1. Evaluate suitable technology
2. Play with Tomcat, JSP (or equiv.) and Hibernate (or equiv.)
3. Evaluate how to configure back-end database and do account management
4. Create LCFG component and headers to configure and manage
5. Deploy a server

Other: 

Dependencies: This project has no dependencies and no other projects depend on it. Probably will mostly pend on FC5 (or rather, final implementation will be on FC5).

Risks: In order for students to work from home the web service needs to be externally visible.

URL: http://www.dice.inf.ed.ac.uk/units/research_and_teaching/projects/webser...

Multiple students running their own servlets using a common server may cause it to crash frequently.

Milestones

Proposed date Achieved date Name Description