Midterm test

Objective

Create a virtual library which has basic functions:

  1. Search books: students can search a book by title.
  2. Check reserved books: A student can check the list of books that he reserved.
  3. Reserve a book: A student can reserve a book by providing his student ID and the book ID.

Web service functionality requirements

  1. Client requests a service and gets a response.
  2. Interactions between two services.

Technique requirements

  1. Using Axis2 or Eclipse WTP to create services.
  2. Test the library functions with Web Service Explorer in Eclipse or client Java classes.

Scenario

  1. Suppose: A library web service that manages book reservation is called service A and an authentication web service that checks user identification is called service B. (see the figure below)
  2. When a client searches books, service A checks the existing books' titles and their status to reply the client.
    • Input: book title ; Output: list of matched book titles, book IDs and their current status (available or reserved) or “book not found.”
  3. When a client checks reserved books, service A will:
    • request service B to check the client ID.
    • then, get the response from B, if success, it returns the client list of reserved book, if not success, returns “failed authentication”.
    • Input: student ID ; Output: list of books (ID, title, status) reserved by the student or “failed authentication”.
  4. When a client reserve a book, service A will:
    • request service B to check the client ID.
    • then, get the response from B, if success, it marks that the requested book is reserved by client, if not success, returns “failed authentication”.
    • Input: student ID, book ID ; Ouput: the book (ID, title, status) reserved by the student or “failed authentication” or “book not found”.

Evaluation

# Requierments Marks (20)
1 Successfully create the “search books” function 2
2 Successfully create the “check reserved books” function 2
3 Successfully create the “reserve a book” function 3
4 Successfully create the authentication web service 3
5 Successfully interact between two web services 4
6 Work with complex data type (class, array, etc.) 2
7 Work with database (in xml, in mysql, etc.) 2
8 Successfully publish and run the created services on Tomcat servers 2

Step-by-step hints

  1. List the required operations, input, output of each web service.
  2. Create service A that provides the required functions.
  3. If you don't want to work with the database, you can create arrays to store the books information and the reservation information. Each element in these arrays is a Class object.
  4. If you intend to use database (MySQL, PostgreSQL, etc) to store the books and reservation information, you have to implement functions to read/write data from the selected database. You can also use these XML files: books.xml and students.xml.
  5. Deploy service A and test A by Java client or Eclipse Web service Explorer.
  6. Create and deploy service B that check the student ID.
  7. Test service B by Java client or Eclipse Web service Explorer.
  8. Create interaction: A sends a request to B and receives a response from B.
  9. Test: client → service A → service B → service A → client (using Eclipse Web service Explorer or client Java class).
  10. Deploy service A and B in different Tomcat servers.
  11. Test: client → service A → service B → service A → client.

How to submit

  1. Create a text file, named readme.txt, present: student names; how to install and run your services. The content can be in either English or French.
  2. Compress the readme.txt file and your application in .tar.gz format.
  3. Send the compressed file by email, titled: CSC5522-midterm: [name1-name2] (for example: CSC5522-midterm: Peter-Tom), to ngoc-chan.nguyen@it-sudparis.eu and cc to walid.gaaloul@it-sudparis.eu.
teaching_assistant/web_services/midterm.txt · Last modified: 2013/07/08 08:44 (external edit)
Back to top
CC Attribution-Share Alike 4.0 International
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0