Interface Package
What is the Interface Package?
This interface package contains (1) a client that allows submitting queries and checking the returned results of the contestant's composition system. The client invokes the composition system as a Web Service. Furthermore, the package includes (2) a dummy Web Service implementation that implements the required interface of the client as a part of the Web Service Challenge 2010.
How it works
We allow heterogenous implementations of composition systems as long as they can be invoked and queried with our client. In order to make this work, the contestant must implement a serverside Web Service interface defined by the given WSDL description. The WSDL can be used to generate server skeletons in most programming languages. Additionally, we offer Java source code and and an example implementation of a Jax-based Web Service.
The most crucial point in implementing the server are the semantics of its operations and the communication between the client UI and the server. The communication pattern has three stages:
- Initialize: The WSC client submits the URL of three local or remote files. The first URL locates the OWL taxonomy, the second one locates the WSDL service description and the third one locates the WSLA Quality of Service descriptions. The composition system may start its initialization process along with reading the challenge documents. This stage does not expect any parameter in return.
Note: Every document location is described a URL!
Example: http://localhost/services.wsdl or file:///C:/services.wsdl - Query: The WSC client submits the URL of the WSDL query document. Starting from this point, the composition system computes a solution.
Note: This stage does not return a parameter. This year the composition result is delivered by a callback interface inside the client UI. Thus, we will have no problems regarding platform dependent framework configurations, e.g. session timeouts. - Callback: The client UI offers an internal Web Service. The composition system calls this callback Web Service in order to submit the composition result. The callback interface is also described by a WSDL document.
Note: The URL of the client's callback interface is submitted during the Query-stage.
The Software
The software consists of two elements: one element is a simple Jax-based Web Service that implements the required interface (Java 6 required). This simple Web service needs to be deployed and made ready for invocation. Its main purpose is to serve as the counterpart of the invocation by the client.
Important Note: for the competition, it is not mandatory that you actually use and deploy our serverside Web Service implementation. The required condition is that your software works with our client. The composition system must be able to be invoked by our client and the server must invoke the callback Web Service of our client. The Jax implementation is just a dummy that serves as a counterpart to the client for demonstration purposes.
The Server Part
First of all, each composition system must implement a Web Service that can be used by the WSC client to communicate with the composition system. The WSDL file that describes the interface of this service is located in the package de.vs.unikassel.query.server. The package also contains a Java interface (CompositionSystemInterface.java) and a testimplementation (CompositionSystemImpl.java). If you use a language other than Java, you have to use the WSDL file to create a service implementation on your own.
The Web Service offers three methods:
- initialize(String wsdlServiceDescription, String owlTaxonomy, String wslaSLAgreementsURL)
The operation "initialize" is called by the WSC-Client to initialize the composition system. It takes the URL of the WSDL service description, the URL of the OWL taxonomy and the URL of the WSLA agreements. - startQuery(String wsdlQuery, String callbackURL)
The operation takes the URL of the WSDL query file and the endpoint URL of the callback service as a string parameter. This operation is a one-way operation. The WSC client doesnt expect a return value.The composition system must call the callback interface of the client to submit the result file. The WSDL file is located in the package de.vs.unikassel.query.client.callback_interface. A Java-stub created with Jax can be found in the package de.vs.unikassel.query.client.callback_interface.stub. If you dont use Java then you have to create your own stub from the callback WSDL document.
The WSDL-file of this callback interface is located in the package de.vs.unikassel.query.client.callback_interface. The callback service offers only one method (result) that takes the resulting BPEL document as an input parameter. This method must be called by the composition system. A Java-stub created with Jax can be found in the package de.vs.unikassel.query.client.callback_interface.stub. - stopComposition()
This method is used by the WSC client to stop the composition.
The Client Part
If you have implemented the service-interface described above, you can use the WSC-Client UI to control your Composition-System.
The client UI looks like this (click to enlarge):

The UI consist of four panels:
- The first panel ("URL") contains a textfield where you have to enter the URL of your composition system Web Service.
- The second panel ("Initialize") can be used to initialize the composition system. The first textfield on this panel takes the URL of the WSDL description file, the second textfield takes the URL of the OWL taxonomy file and the third textfield takes the URL of the WSLA agreement file. Press the "Initialize" button and the WSC-Client will call the initialize-operation of the composition system.
- The third panel ("Query") can be used to send queries to the composition system. The first (WSDL Query) takes the path of the WSDL query document. Before you can send the query document to the composition system you must start the callback service of the WSC client ("Start" button) which is used by the composition system to transmit the result document. after you have started the callback service you can press the "Send Query" button.
- The last panel on the WSC-Client GUI displays the time-measurement of the last query.
Requirements
This software has been built with the Java SE 6 (at least update 13) runtime environment. Furthermore the following software has been used:
Downloads
- WSC Software Package: WSC 2010 Software (12 MB)
- Composition System Server WSDL: CompositionSystem.wsdl
- Client UI Callback WSDL: CallbackWSDL.wsdl

