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.
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.
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.
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.
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.
Second Microservice Input
- 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 parent Workflow must - or at least should - define Variables of the integrated Workflows as well. If the parent 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.
- 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).