Flow
Definition
A Flow is a sequence of nodes performing operations on one or more participating systems, selected from those defined in the Systems section.
VulCon / GreenVulcano® ESB Configuration
For each couple Service-Operation a flow will be instantiated. This element defines a 'flow' to implement a GreenVulcano® ESB primitive communication with a workflow actually executable.
Using the sub-element Conditions can be (re)defined the conditions for possible use in the workflow routing.
It has the following attributes:
- first-node: Indicates the initial node of the workflow.
From this node begins running when a workflow instance is invoked. - point-x: X position of the start node in the VulCon® workflows editor.
- point-y: Y position of the start node in the VulCon workflows editor.
and the subelements:
- Description,
- Conditions,
- (GVOperationNode | GVNodeCheck | ChangeGVBufferNode | GVWaitNode | GVNotificationNode | GVIteratorOperationNode | GVCoreCallNode | GVEndNode | GVSavePointNode)(s)
How to
The flow element appears automatically when an Operation is created. For setting the attribute first-node it you must add your first node. It can be made from the Core view by right clicking the Flow element, Insert after (or Insert before), and selecting one of the available nodes.
It can be also done using the VulCon editor, by dragging the node into, and associating it to the Start node using the Default connection. Once the editor will be saved, Flow attributes will filled automatically.
The respective part of the configuration file GVCore.xml become:
<Service group-name="DEFAULT_GRP" id-service="TOUPPER#GVESB" service-activation="on" statistics="off">
<Operation name="RequestReply" operation-activation="on" out-check-type="sys-svc-id" type="operation">
<Participant id-channel="TEST_CHANNEL" id-system="GVESB"/>
<Flow first-node="test" point-x="20" point-y="150">
<GVOperationNode class="it.greenvulcano.gvesb.core.flow.GVOperationNode"
id="test" id-system="GVESB" input="input" next-node-id="end" op-type="call"
operation-name="toupper_call" output="output" point-x="186" point-y="152" type="flow-node"/>
<GVEndNode class="it.greenvulcano.gvesb.core.flow.GVEndNode" end-business-process="yes" id="end" op-type="end"
output="output" point-x="386" point-y="150" type="flow-node"/>
</Flow>
</Operation>
</Service>