-
Notifications
You must be signed in to change notification settings - Fork 2
Workflow Runner API
✅ Status
The first implementation of this API is made to interface the Taverna Server, and is under development. A deployment of the latest snapshot is available at http://sandbox.wf4ever-project.org/runner/default/ - which accesses http://sandbox.wf4ever-project.org/taverna-server/
Research Objects, for the purpose of Wf4Ever, will generally contain workflows. In order to assess if a workflow is functional, it is generally useful to be able to (re)-execute a workflow.
Different workflow systems have different ways of running a workflow. For instance, Taverna has the Taverna Server, while Wings has a portal and a Pegasus/Condor engine in the backend. This API intends to provide a common lightweight interface within Wf4Ever for features such as "Run this workflow please" and "Show me the data from that workflow run".
At its heart, this API mirrors the RODL API, but the ROs exposed by this service each represent a particular workflow run, structured to show inputs, outputs, console logs, provenance and annotations containing wfprov and wfdesc mappings. Thus it intends to be possible to use existing RODL compatible tools with this service, for instance adding from the RO command line tool, browsing with the Portal or transforming to wfdesc using the Workflow Transformer service.
Accessing the root of the service, in this specification exemplified as http://example.com/runner, SHOULD redirect to a default server runs resource. From here the client may either:
- POST a new workflow run, providing as a minimum the workflow definition
- GET a list of existing workflow runs
- DELETE existing workflow runs
A client may also create a new run by uploading a workflow definition, provide inputs and initiate running the workflow.
See the Resources and formats below for details.
Resources are located using specific properties in the RO manifest for the workflow run.
Property Description
runner:workflow Used in the workflow run description to link the workflow run with the main
workflow to run, such as uploaded on RO creation. It is a subproperty of
ore:aggregates.
runner:inputs Used in the workflow run description to link the workflow run with the list
of required workflow inputs, if any. It is a subproperty of ore:aggregates.
runner:outputs Used in the workflow run description to link the workflow run with the list
of (expected or actual) workflow outputs, if any. It is a subproperty of
ore:aggregates.
runner:logs Used in the workflow run description to link the workflow run with the list
of logs, such as stdout, if any. It is a subproperty of ore:aggregates.
runner:provenance Used in the workflow run description to link the workflow run with the list
of provenance related resources, if any. It is a subproperty of
ore:aggregates.
runner:workingDirectory Used in the workflow run description to link the workflow run with the list
of working directory and its files, if any. It is a subproperty of
ore:aggregates.