CSc 8711. Databases and the Web
Fall 2006, Programming Project 5 (Web Services - Data Transfer)
Due: Friday, December 1st, 2006

In this project, you will develop two Web services that will enable data transfer between two relational databases: GradeBook Database and GoLunar Database.

The first Web service supports one operation retrieveClassList and is implemented at the site where GoLunar database is located. The retrieveClassList operation 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 second Web service supports one operation retrieveGrades and is implemented at the site where GradeBook database is located. The retrieveGrades method will take as input TERM, YEAR, and CRN and return all grades for students in the particular section from the GradeBook 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).

You need to write two separate client programs that invoke the corresponding Web service methods (the client that calls retrieveClassList will run at the GradeBook site and the client that calls retrieveGrades at the GoLunar site). The client programs should have the following terminal interface:

java gbClient

    Menu
(a) Get Class List
(b) Display Class List
(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) Display Class List
(q) Quit

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

Class List for FA 2002, 10101:
  1111 John Davison
  2222 Jacob Oram
  3333 Ashish Bagai

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

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

Your Option: q


java glClient

    Menu
(a) Get Grades
(b) Display Grades
(q) Quit

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

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

    Menu
(a) Get Grades
(b) Display Grades
(q) Quit

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

Grades for FA 2002, 10101

  1111, John Davison A
  2222, Jacob Oram   B
  3333, Ashish Bagai C

    Menu
(a) Get Grades
(b) Display Grades
(q) Quit

Your Option: q

This project needs to be done in teams of 2. Each member should implement one Web service and the corresponding client.