-
Notifications
You must be signed in to change notification settings - Fork 0
Workflow
A Workflow is an XMOM Object which represents a composition of Process Steps. It consists of various Service calls and other Modeling Blocks that define the course of action for a process, which can be controlled by several types of control structures like branching based on different criteria. It supports serial and parallel execution, loops and different measures of Error Handling.
A Workflow is deployable and executable by the Workflow Engine of the Xyna Factory. It is modeled with the Xyna Process Modeller and is saved in an XMOM of a certain Runtime Context.
When you start the Xyna Process Modeller, an empty new Workflow is already provided to model with. Another way to create a Workflow is to use the New Document symbol in the left icon bar or to convert a Prototype Service.
Inside of the black bar on top of the Workflow window, double-click on the text to change the Workflow's label. The label should be given in a user-friendly and functional way. Its name (shorter version of the given label) is generated automatically when saving the Workflow (see below).
You can specify Input Parameters for the Workflow by dragging Data Types , e.g. from Factory Navigation, or parameters from other Modeling Blocks into the Workflow's Input Parameter area. These parameters can be used by the internal Modeling Blocks and have to be passed when calling the Workflow.
Analogously proceed with Output Parameters.
The overall pattern is to use a drag and drop style handling for modeling a Workflow, for instance when inserting new Modeling Blocks or control structures into the modeling area. The basis for this is made up of the XMOM Objects like Data Types, Coded Services and Workflows (which can be found in the Factory Navigation) on the one hand and of special purpose elements from the Workflow-specific icon bar on the other hand. Furthermore, Prototype Services and Prototype Data Types can be used (cf. Rapid Prototyping) for prototypical modeling.
To remove a Modeling Block or a control structure from the Workflow, select it and press <kbd>Del</kbd> or open its context menu and select Remove.
Besides the modeling of sequential processes (all Modeling Blocks are inserted as a one dimensional chain below one another), parallel execution can be modeled by arranging the respective Modeling Blocks side by side.
Please note: If you use a Workflow containing unresolved issues, the calling Workflow won’t show any issues but will not be deployable, though.
Besides Prototype Services and Prototype Data Types, you can change the label of existing Services corresponding to the embedded context. This change does not affect the called Service, it only affects the calling Workflow. The user is invited to use this labeling feature to describe every step in a user-friendly and functional way.
Figure 2: Parameter with an unsolved ambiguity Figure 3: Parameter with a solved ambiguity
Values are passed with the process flow from top to bottom from Modeling Block to Modeling Block. An Input Parameter of a Modeling Block is automatically connected to an Output Parameter of a preceding Modeling Block (or to an Input Parameter of the Workflow), if the underlying Data Type matches. Three situations can arise:
- An unambiguous connection is possible (no further user interaction is required).
- There is more than one matching parameter from preceding Modeling Blocks (ambiguity, cf. fig. 2). The affected Input Parameter will be marked with a yellow dot.
- There is no matching parameter from preceding Modeling Blocks. The affected Input Parameter will be marked with a red dot.
Please note: To show an Input Parameter's connection, select the parameter.
To solve an ambiguity, select the parameter with the ambiguity to display all possible connections (cf. fig. 2). Choose the appropriate connection and press the add button to connect the parameter with the source parameter the line is pointing to. To revise the decision, select the parameter and the line again and press the remove button (cf. fig. 3).
In the same way a source parameter can be used to create connections.
You can provide Input Parameters with constant data. To do this, open the context menu, choose Constant ... and set the desired values. To edit the constant values, open the context menu and choose Constant ... again. To remove all constant values, click Delete in the opening window.
An Input Parameter with constant data will be marked with a black dot and is not connected to any preceding parameter.
Please note: You can also provide the overall Workflow's Output Parameters with constant data, but not its Input Parameters.
Please note: You can also provide the Output Parameters of a Conditional Branching or a Process Step in case of a caught exception with constant data.
You can provide documentation for each Process Step additionally to the documentation of the Service's definition. Open its context menu and select Show/Hide Documentation Area to open its documentation area. To document the overall Workflow, there is a separate documentation area on the top (see Hints on Documentation).
Store the workflow inside of the XMOM by clicking the Save symbol or the Save as... symbol in the icon bar (<kbd>CTRL+SHIFT+S</kbd>). You can save the Workflow although there are pending issues .
If you want to execute the Workflow, you have to deploy it first by clicking the Deploy symbol in the icon bar (<kbd>CTRL+SHIFT+D</kbd>). The Workflow can only be deployed if there are no pending issues.
You can open Workflows from nearly wherever they are displayed, e.g. from inside of another Workflow, from out of the Factory Navigation or the Search area of the Xyna Process Modeller. To open and edit a Workflow, open its context menu and select Open in new Tab.
A Workflow can be moved or renamed from inside the Factory Navigation by using the context menu and choosing Move/Rename. The arising dialog will guide through this process.
With this action, all references to the moved object will be adjusted.
To remove a Workflow, you have to open its context menu inside of the Factory Navigation or Search area and select Delete from XMOM.
Please note: Objects with active dependencies should NOT be deleted manually. This will lead to inconsistencies in the remaining XMOM Objects, e.g. the Workflow.
While modeling a process, Workflows can be started manually from inside the Workflow Tester in order to test them. Simply open this panel by selecting Test Workflow from the context menu of a workflow (e.g. in Factory Navigation), set custom Input Parameters and start a new Xyna Order.
After starting a new Xyna Order, e.g. via Workflow Tester, the Order ID can be used to track the Order State inside the Order Overview section of the Xyna Process Monitor and to review detailed audit information on a per-Workflow-step-level.