CSc 8711. Databases and the Web
Spring 2004, Programming Project 4 (Web Services - Data Transfer)
Due: Thursday, March 25, 2004

Apache Axis Setup and Sample Server and Client Code

In this project, you will develop a web service that will enable data transfer between two relational databases: Gradebook Database and GoLunar Database. The web service should have the following two methods: getClassList and sendGrades.

The getClassList method will take as input TERM, YEAR, and CRN and return the SID, FNAME, and LNAME of all students enrolled in the section from the GoLunar database.

The sendGrades method will take as input SID, TERM, YEAR, CRN, GRADE and update the grade for the particular student in the particular section in the GoLunar database. Note that the gradebook database does not have the grade explicitly stored. You will have to calculate the grade from the scores, weight of components and grading scales available in the various tables of the gradebook database (the Java code for this calculation is available in the Oracle 9i primer book).

The client program should have the following terminal interface:

java gbClient

    Menu
(a) Get Class List
(b) Send Grades
(q) Quit

Your Option: a
TERM: FA
YEAR: 2002
CRN: 10101

Updating Class List:
  insert into gstudents values (1111,'John','Davison')
  insert into genrolls values (1111,'FA',2002,10101)
  insert into gstudents values (2222,'Jacob','Oram')
  insert into genrolls values (2222,'FA',2002,10101);
  insert into gstudents values (3333,'Ashish','Bagai')
  insert into genrolls values (3333,'FA',2002,10101);

    Menu
(a) Get Class List
(b) Send Grades
(q) Quit

Your Option: b
TERM: FA
YEAR: 2002
CRN: 10101

  Sending grade (1111,'FA",2002,10101,A)
  Sending grade (2222,'FA",2002,10101,B)
  Sending grade (3333,'FA",2002,10101,C)

    Menu
(a) Get Class List
(b) Send Grades
(q) Quit

Your Option: q

The Get Class List option should obtain the list of students from GoLunar and insert the data into the gradebook database.

The Send Grades option should calculate the student grades and send them one at a time to the GoLunar database for update of the grade column in the lenrolls table there.

Do some reasonable error checking in your code.