Skip to main content

Overview

Workflow extensions bring possibility for Red App to extend existing logic in SR360 workflow with new features. It is done by exposing specially defined extension points which can be used by Red App to contribute its logic to it. Workflow extension is a point in flow which is executed like any ordinary task, however, unlike to it, does not have own logic inside. Logic is delivered by Red App by registering its handler to chosen flow extension point. Handler like this is being executed with flow data, then results of execution are merged to flow data. For example, the Red App can display their own GUI after submitting LowFareShopping search form and modify the request before sending it to the service. Customization is optional, so if there is no contributor registered this step in the workflow is skipped.

Data Flow

  1. FrontEnd sends command.

  2. Command is received by BackEnd.

  3. Command payload is transformed from JSON to Java Objects.

  4. Workflow is assigned to command starts.

  5. Execution of the workflow lasts until extension point is reached.

  6. Workflow executor checks if any handler is registered to the workflow extension point.

  7. If there is no handler registered to the workflow extension point, the workflow execution goes on.

  8. Command flow and its payload are converted to available for Red App counterparts.

  9. Red App handler registered to the workflow extension point, do the logic by using converted objects.

  10. Modifications done by handler on flow data are merged back to the original command flow and its payload.

  11. Next workflow execution goes on.

  12. Workflow command with the results is transformed to JSON. Data added by Red App handler are transformed to JSON by using the Red App data model.

  13. FrontEnd displays result data accordingly. Simple text is being displayed in SR360 editor and complex data model is being shown by Web Module.

image195

Time-out

Handlers registered to extension point have defined time-out within they must complete their work. When this execution time will exceed, then handler will be terminated and no result from it will be added to the workflow. Default execution time-out for extension points is 60 seconds.