Department of Computing Science Umeå University

Assignment 1 - Globus programming

Due: 2007-01-29, 23.59

The purpose of this assignment is to give an introduction to web services programming in general and the WSRF standard in particular. In this assignment, you will install your personal Globus toolkit environment and implement a simple stateful web service using the WSRF pattern. This assignment can be solved on any machine in MA416 or MA426 (lists of machines in MA416 and MA426).

Installation

Download Java WS Core from here. Unpack the software to a path MY_GLOBUS_PATH in your home directory. Finally, set the environment variable GLOBUS_LOCATION to MY_GLOBUS_PATH in your shell. In order to compile and run your service, you also need to source $GLOBUS_LOCATION/etc/globus-devel-env.{sh, csh}.

Getting started

The development process used for web services can be summarized as
  1. Describing the service interface (in WSDL)
  2. Implementing the service, (in Java)
  3. Configuring the service, (WSDD and JNDI)
  4. Building and deploying the service in the GT4 container (using Ant).

Useful tools:
globus-start-container -nosec - Start the service container (in security-disabled mode)
globus-stop-container - Stop the container (^C also works...)
wsrf-insert-property - Add a new value to the resource properties document. wsrf-delete-property - Remove a value from the resource properties document.

The counter service examples from the lecture can be found here. These examples contain a useful build-file and instructions on how you can adapt it to build and deploy your service. For more code examples and a detailed explanation of the development process, see the The Globus Toolkit 4 Programmer's Tutorial.

The task

Implement a WSRF-compliant service that manages mailing lists. Each mailing list contains a set of tuples storing the names and email addresses of list members. Each mailing list must be modelled as a WS-Resource. A resource property document for such a WS-Resource could, e.g., look like the following:

<MailingList> 
    <member>
        <name>P-O</name>
        <email>pappa_puck@hotmail.com</email>
    </member>
    <member>
        <name>Johan</name>
        <email>tordsson@yahoo.ru</email>
    </member>
    ...
</MailingList>

Create one (or a few) clients, allowing a user of the service to
  1. Create a new mailing list.
  2. Add a member to a mailing list.
  3. Given the name of a member, search a mailing list for that member's address.
  4. Remove a member from a mailing list.
You are allowed (and strongly encouraged) to reuse existing port types and clients from GT4 when implementing the service.

Examination

Hand in a brief report that describes your port type, including its operations and resource properties. Also describe what existing port types you have used in your service.

Due date

2007-01-29, 23.59

Useful links:

Globus Toolkit Java WS Core API
The Globus Toolkit 4 Programmer's Tutorial

http://www.cs.umu.se/kurser/TDBD20/VT07/lab/lab1.html
Ansvarig för sidan: Erik Elmroth, P-O Östberg, Johan Tordsson
Senast ändrad 2007-01-22