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
- 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.
- 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).
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article