eu.planets_project.services.migrate
Interface Migrate

All Superinterfaces:
PlanetsService

@MTOM
@StreamingAttachment(parseEagerly=true,
                     memoryThreshold=10485760L)
public interface Migrate
extends PlanetsService

Migration This is the generic migration interface for digital object format conversion services. In Planets we have settled on the term Migration for this, but it should be noted that this is slightly inconsistent with the OAIS terminology. In OAIS terms, a service that implements this interface is providing a Transformation service. In contrast, OAIS Migration covers to a range of operations which exactly preserve the bitstream (e.g. Refresh) as well as those that do not (e.g. Transformation). Those other OAIS Migration operations cannot be mapped onto stateless services, as they explicitly involve managing copies of the bitstream (i.e. managing global state). Therefore, this misalignment of terminology does not cause a major problem within the Planets frameworks, as all other OAIS Migrations would actually be implemented at the Workflow level. Note that although this interface only maps digital objects one-to-one, the intension is that resources composed of multiple bitstreams should be contained as new digital object types, and so many-to-one, one-to-many, and many-to-many transformations can be implemented using this interface by defining suitable composite digital object types along with appropriate format URIs. A Migration Service: - Supports service description to facilitate discovery. - Allows multiple input formats and output formats to be dealt with be the same service. - Allows parameters to be discovered and submitted to control the migration. - Allows digital objects composed of more than one file/bitstream. - Allows Files/bitstreams passed by value OR by reference.


Field Summary
static java.lang.String NAME
          The interface name
static javax.xml.namespace.QName QNAME
          The qualified name
 
Method Summary
 MigrateResult migrate(DigitalObject digitalObject, java.net.URI inputFormat, java.net.URI outputFormat, java.util.List<Parameter> parameters)
          Migrate one digital object from inputFormat to outputFormat.
 
Methods inherited from interface eu.planets_project.services.PlanetsService
describe
 

Field Detail

NAME

static final java.lang.String NAME
The interface name

See Also:
Constant Field Values

QNAME

static final javax.xml.namespace.QName QNAME
The qualified name

Method Detail

migrate

@RequestWrapper(className="eu.planets_project.services.migrate.MigrateMigrate")
@ResponseWrapper(className="eu.planets_project.services.migrate.MigrateMigrateResponse")
MigrateResult migrate(DigitalObject digitalObject,
                                                     java.net.URI inputFormat,
                                                     java.net.URI outputFormat,
                                                     java.util.List<Parameter> parameters)
Migrate one digital object from inputFormat to outputFormat. Note: The migration should ignore the formatURI specified in the digital object.

Parameters:
digitalObject - The digital object to migrate
inputFormat - the initial format (migrate from)
outputFormat - the required format (migrate to)
parameters - a list of parameters to provide fine grained tool control
Returns:
A new digital object, the result of migrating the given digital object


Copyright © 2007-2010 The Planets Consortium. All Rights Reserved.