org.embl.ebi.escience.scufl.enactor
Interface EnactorProxy

All Known Subinterfaces:
ResumableEnactorProxy
All Known Implementing Classes:
FreefluoEnactorProxy

public interface EnactorProxy

This interface defines the user proxy for a workflow enactment system capable of running workflows based on ScuflModel instances

Author:
Tom Oinn

Method Summary
 WorkflowInstance compileWorkflow(ScuflModel workflow, java.util.Map inputs, UserContext user)
          Submit a workflow to the enactor represented by this proxy.
 WorkflowInstance compileWorkflow(ScuflModel workflow, UserContext user)
          Submit to the enactor represented by this proxy for compilation the workflow submission.
 

Method Detail

compileWorkflow

WorkflowInstance compileWorkflow(ScuflModel workflow,
                                 java.util.Map inputs,
                                 UserContext user)
                                 throws WorkflowSubmissionException
Submit a workflow to the enactor represented by this proxy. The workflow submission is provided in the form of a ScuflModel instance, and a WorkflowInstance implementation is returned to allow further interaction with the workflow state. Calling this method compiles the workflow but doesn't start it running. This allows registering listeners on the WorkflowInstance state before it starts running.
The inputs parameter is used to supply any known inputs at the time of workflow submission. Some enactor implementations may only allow input specification at this stage, but others may allow subsequent inputs to be added through the setInputs method in the returned WorkflowInstance.

Parameters:
workflow - The workflow model to enact
inputs - A Map of DataThing objects with keys corresponding to the named input parameters of the workflow.
Throws:
WorkflowSubmissionException - thrown if the workflow submission fails for some reason. This exception is only used to wrap the real exception using standard exception chaining mechanisms.

compileWorkflow

WorkflowInstance compileWorkflow(ScuflModel workflow,
                                 UserContext user)
                                 throws WorkflowSubmissionException
Submit to the enactor represented by this proxy for compilation the workflow submission. The workflow submission is provided in the form of a ScuflModel instance, and a WorkflowInstance implementation is returned to allow further interaction with the workflow state. Calling this method compiles the workflow but doesn't set its inputs or start it running. This allows registering listeners on the WorkflowInstance state before it starts running.

Throws:
WorkflowSubmissionException