Skip to content

Web services

kutila edited this page Oct 22, 2012 · 76 revisions

Web Services

The main interface to the PODD system consists of a set of RESTful web services as described below in the order that they will be implemented.

The location of these web services are of the form:

http:/<host>:<port>/podd/service/<service_name>


Add Schema ontology service:

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

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”.

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

Update Schema ontology service:

  • 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.

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.

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?
  • 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"

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.

PODD artifact listing service

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

Project ID service

Get project hierarchy service

Browser Service

  • QUESTION: Is this service needed?

File attachment service

Get file service

Delete file service

User creation service

Authentication service

User listing service

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