Overview

The Integrated Workflow Execution Processor (IWEP) allows the user to execute Processors of specially prepared Workflows in another Workflow, with the possibility to control certain inputs and outputs marked as Microservices within the integrated Workflow.

Internally, the IWEP copies the Processors of the Workflow to integrate via Microservice Processors.

The IWEP allows to execute the Processors of specially prepared Workflows in another Workflow.


To put this simply, the Processor acts as a dark room containing a Workflow having only its inputs and outputs accessible as doors or small windows.


Input

The Processor has three input ports, all identical when it comes to their behavior. The input provided to the Integrated Workflow Execution Processor replaces an input provided by a Microservice Input Processor in the integrated Workflow (The correspondence is configured in the Processor using a unique identifier for the Microservice Input Processor).


Not all inputs have to be used.


Output

The Processor has three output ports, all identical when it comes to their behavior. The output provided by the Integrated Workflow Execution Processor replaces an output provided by a Microservice Output Processor in the integrated Workflow (The correspondence is configured in the Processor using a unique identifier for the Microservice Output Processor).


Not all outputs have to be used.


In other terms, the Microservice Processors mark the beginning and end of the integrated part of the Workflow.


Configuration

The Processor configuration contains three main elements:

  • Workflow ID: ID of the Workflow to integrate. The ID can be easily found within the Workflow link.



  • Workflow Version: Desired version of the Workflow (Leave empty to load the latest version).
  • IDs of the Different Microservices: Copy the IDs entered in the corresponding Microservice Processors.

Example

In the following example, we will replace a system of two Processors, namely a Left Join Processor and an Inner Join Processor, using the IWEP. Down below, inputs and outputs of both Workflows are shown, along with the identifier correspondence between input/output Microservices and input/output ports within the IWEP configuration. 


First Workflow
Input

First Microservice Input

Second Microservice Input

Output

First Microservice Output

Second Microservice Output

Second Workflow

Input

First Input

Second Input

IWEP Configuration

Output

First Output

Second Output


Boundaries and Current Constraints

  • It is not possible to have a Workflow with two or more IWEPs integrating the same Processors. To achieve this, one needs to create a second Workflow and copy the Processors into it (using Copy Workflow also does not work).
  • The master Workflow must - or at least should - define Variables of the integrated Workflows as well. If the master Workflow does not have (at least) the same Variables as its integrated Workflows, Variables will be left unsubstituted and will result in undefined behavior or error.
  • Be aware that when writing to Data Tables (using Data Table Save or similar Processors) inside the Workflow to integrate, conflicts can arise when it is accessed simultaneously. This is similar to when normal Workflows write to the same dataset.
  • The following point is only applicable to older ONE DATA versions. It has been fixed since version 3.39.0 (73), possibly earlier. In a Workflow, Fast Debug does not work in case an IWEP is part of the thread to debug. The result is a rather unspecific error, which does not hint to the issue (Could not execute Workflow).