Skip to content

Web services

kutila edited this page Oct 22, 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>


Add Schema ontology service:

  • Allows an administrative user to add a new schema ontology to PODD.

Update Schema ontology service: (merge with add)

  • Update an existing schema ontology by uploading a new version.
  • 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.

Add PODD artifact service:

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

Get artifact service

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

Edit PODD artifact service:

  • Allows an authorized user to edit an existing PODD object.
  • DECIDE: Should only Top Objects (i.e. Projects) be editable?
  • QUESTION: Do we save this as a new version of the object or overwrite the current 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.
  • QUESTION: Is deleting objects within an artifact part of the "Edit PODD artifact service".
  • Previous "Delete object service"

Publish artifact service

  • A PODD artifact (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

File management services

  • 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.
  • File attachment service: CLARIFY: Won't be needed as PODD itself will not be storing files
  • 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.
  • Delete file service: Delete the specified file from its remote storage location.

User management services

  • User creation service
  • Authentication service
  • User listing service

QUESTION: Are the following 3 services needed any longer?

Not included in the prototype

  • 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