Running a workflow

This section walks through the process of executing a workflow. It assumes you've already got a workflow document written.

Submitting a Workflow

Workflows have to be submitted to a JES server to be executed. This can be done:

Tracking Progress

Once a workflow has been submitted to Jes, a unique identifier for the job is assigned. This identifier (JobURN) can then be used to key the Jes Server and retreive information about the workflow document.

Alternatively, a Jes Server can be queried for the list of jobs that were submitted to it by a particular user.

Both functions are avaiable via the portal, the JES html interface, and programmatically through delegates. The portal returns an interactive display of a workflow, the html interface returns a html-formatted representation of workflow, while the delegates return the raw xml document.

Inspecting Results

During execution of a job, the Jes Server records progress and result information as annotations to the submitted workflow document. The following annotation elements are used to record execution infomation.

Step Execution Record

The <step-execution-record> element records a single execution of a step or script element. A step or script may be annotated with an unbounded number of step-execution-records - one for each time the activity is executed. (its possible for an activity to be executed more than once, due to loops).

A step-execution-record records the time the execution started and finished and the current execution phase (one of PENDING, RUNNING, COMPLETED, ERROR).

A step-execution-record element may also contain a number of message elements, which provide more information on the execution of the activity.

It may also contain a number of extension elements - this provides an extension point of the workflow document schema where implementation data / further functionality can be stored. This possibilities of this extension point, and its use in the current implementation of JES need to be documented, but it's not importantl from a user point-of-view

Job Execution Record

A <job-execution-record> element records the execution of the entire workflow. The root workflow element may have a single job-execution-record.

This element has the same structure as step-execution-record but also has an additional child element - <jobId> which records the unique identifier (obURN) for this job execution.

Message

A <message> element records a message generated during execution. It may have been generated by the JesServer, a CEA server that was called to execute a tool, or via a script call to one of the jes logging functions. Each message provides:

  • content the text of the message
  • timestamp
  • level severity / importance of the message
  • source originator of the message
  • phase current execution phase when message was generated.