Service-Oriented Computing: Programming Assignment 2  (P2)

Developing and deploying your own service

In your first assignment you built a client for performing keyword search on Amazon's product catalog. Here you will develop a simple books Web service from scratch, deploy it on your local machine.  And later in P3, you will publish it in a public UDDI registry, and query the registry.

Interface

Your books Web service will have the following interface:

public interface Books {
  public void addBook (BookRecord bRecord);
  public Collection listBooks ();
  public Collection getBookInfo(String ISBN);
}

The BookRecord class can have attributes such as: Type, Name of the book, Author, Publisher, Price, ISBN, and Availability.

Storage

In order to implement the addBook, listBooks and getBookInfo operations in BookImpl.java, you can either use a database (For e.g. mysql) to store the information on books or use a simple comma separated text file to store and retrieve book records.

Deployment

Deploy your Web service to your local Axis engine. For deploying your Web service to an Axis engine you will be required to write deployment and undeployment descriptors (.wsdd files). A service can be deployed and undeployed using the Axis org.apache.axis.client.AdminClient tool.

Generating a WSDL description

Use the Axis Java2WSDL to generate the WSDL file from your deployed Web service.

Resources

Checklist for submission

·        books.jar containing Books.class, BookRecord.class, BooksImpl.class

·        Books.java, BookRecord.java, BooksImpl.java source files along with deploy.wsdd and undeploy.wsdd deployment descriptor files

·        WSDL file generated by Axis's Java2WSDL tool

Grading