/**
 * API <tt>interface</tt>s for the main service classes.
 * 
 * @author Donal Fellows
 */
package org.taverna.server.master.api;