Skip to content

Web services

ansell edited this page Nov 1, 2012 · 76 revisions

Web Services

(This page is work in progress)

The main interface to the PODD system consists of a set of RESTful web services as described below.

The location of these web services are of the form:

http://<host>:<port>/<path_to_podd_service>/<service_name>

For example, services on the prototype may be accessed using:

http://poddtest.plantphenomics.org.au/podd/\<service_name>


1: Prototype RDF web service

Add PODD artifact service:

  • Load a new artifact (i.e. a PODD object) to the PODD application.
  • Maps to the previous “Object Creation Service”

Get PODD artifact service

  • Download a copy of the specified PODD artifact (i.e. PODD object) as an RDF file.
  • Previously Object Details Service

Edit PODD artifact service:

  • Allows an authorized user to edit an existing PODD object.
  • Keep the old version (for UNDO purposes?) Only offer the latest version to the user.
  • Previous "Edit object service"

Delete PODD artifact service

  • Allows an authorized user to delete an existing PODD artifact (i.e. a Project). An object can be deleted only if it does not have any active children.
  • (Deleting objects within a project is included here)
  • Previous "Delete object service"

Login service

  • With pre-created user accounts (cookie based)

File reference attachment service:

  • "This web service makes it possible to attach existing files to a PODD artifact by defining references to it without having to explicitly upload the files. This is especially useful for very large files that would take up too much bandwidth if uploaded to PODD directly. This also leaves the responsibility of file management to the remote data store of the files." - adapted from PODD1.

2: After the prototype

Add Schema ontology service:

  • Allows an administrative user to add a new schema ontology or a new version of an existing ontology.
  • Only administrative users are authorized to use this service.
  • The PODD application should be put to maintenance mode before the service is invoked.

Get Schema ontology service:

  • Download a copy of the specified schema ontology as an RDF/XML file. Authentication is not required to access this service.
  • Maps to the previous “Concept Details Service”.

Enable/disable maintenance mode:

  • The application needs to be put into a read-only state (for artifacts) before a schema ontology version update and back to its normal state afterwards. Only administrative users are authorized to use this service.

Publish top object service

  • A PODD top object (i.e. project) that has a status of "complete" can be published by a suitably authorized user.
  • Redesign requirements state: "Once a PODD Artifact is published, a new PODD Artifact must be created internally based on the content and roles assigned to the old PODD Artifact in order to make further changes. The new PODD Artifact may have a link back to the published PODD Artifact, but it will have a new permanent identifier so that it can be distinguished uniquely in future. The basic rationale for this is that the PODD Artifact must be published in the PODD system before it can be cited. Once it is cited, the data that the citation points to must remain constant for a period of time."
  • Previous "Publish Project Service"

PODD artifact listing service

  • Returns a list of the artifacts (i.e. projects) depending on authorization level of the user.
  • Previous Project Listing Service

User management services

  • Logout service
  • User creation service
  • User listing service

HTML editing support

File attachment service

  • Upload a file through this service to give the responsibility of file storage to PODD.

Get file service

  • Download a copy of the specified file (or its meta-data only if requested) from the location where it is stored. This service will internally dereference the file's URI and retrieve it using an appropriate internal service depending on the type of storage.

Project ID service:

Get project hierarchy service:

  • Previous Get project hierarchy service.
  • Can be part of the Get artifact service. Have an option to include referenced files in the downloaded ZIP file.

Browser Service:

  • Low priority. Needed for middleware.

Later (depending on time availability)

  • Delete file service: Delete the specified file from its remote storage location.
  • Search by barcode service
  • AAF Authentication service

Services discontinued from the old PODD

  • TAB submission service – TAB import will be implemented as a client side utility. PODD itself will not support TAB format.
  • Local File attachment service – Was deprecated.

Clone this wiki locally