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
- Describing the service interface (in WSDL)
- Implementing the service, (in Java)
- Configuring the service, (WSDD and JNDI)
- 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
- Create a new mailing list.
- Add a member to a mailing list.
- Given the name of a member, search a mailing list
for that member's address.
- 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
|