Workflow Operations

Each individual process in the overall workflow can potentially be a long running operation.

Accordingly, there are two types of workflow operations possible in the PReS Connect REST API:

  • Asynchronous – the operation is initiated, monitored, and the result returned using multiple requests (Default)
  • Synchronous – the operation is initiated and the result returned using a single request

Asynchronous Operations

Asynchronous workflow operations require the submission of an initial HTTP request to initiate the operation. Then additional requests are required to monitor progress and retrieve the final result. All the required detail is included in the HTTP response headers of the initial request, including the URIs that should be used for further processing.

A successful request will return a response that will include the headers listed in the following table:

Header Description

operationId

The unique id of the operation being processed

Link

Contains multiple link headers which provide details on which URI to use to retrieve further information on the operation:

  • Header with rel="progress" – The URL to use to check the progress of the operation
  • Header with rel="result" – The URL to use to retrieve the result of the operation
  • Header with rel="cancel" – The URL to use to cancel the operation

A request made to the progress URI during processing will return a progress percentage value of 0 to 100, and finally the value of ‘done’ once the operation has completed.

A request made to the cancel URI during processing will immediately cancel the operation.

A request made to the result URI after processing has completed will return the final result of the operation.

This is the default workflow operation type, and this approach is used across most workflow based services as demonstrated in the Working with the Workflow Services page of the Working Examples section.

Synchronous Operations

Synchronous workflow operations initiate the operation and retrieve the final result in a single request.

There are no additional operation related headers returned, and there is no option to either monitor progress or cancel a running operation.

This approach is only used by specific methods found in the All-In-One workflow service.