Difference between revisions of "Flow"

From GreenVulcano Wiki
Jump to: navigation, search
(How to)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
==Definition==
 
==Definition==
  
A Flow is a sequence of nodes performing operations on one or more [[Participant|participating]] systems, selected from those defined in the [[Systems]] section.
+
A Flow is a sequence of nodes performing operations on one or more [[Participant|participating]] systems, selected from those defined in the [[System|Systems]] section.
  
=={{VULCON}} / {{GVESB}} Configuration==
+
=={{VULCON}} / {{GVCONSOLE}} Configuration==
  
 
[[File:VULCONFlow.jpg|thumb|Flow element]]For each couple [[Service]]-[[Operation]] a ''flow'' will be instantiated. This element defines a 'flow' to implement a {{GVESB}} primitive communication with a workflow actually executable.
 
[[File:VULCONFlow.jpg|thumb|Flow element]]For each couple [[Service]]-[[Operation]] a ''flow'' will be instantiated. This element defines a 'flow' to implement a {{GVESB}} primitive communication with a workflow actually executable.
Line 10: Line 10:
  
 
It has the following attributes:
 
It has the following attributes:
 +
The following table shows the Subflow element attributes:
 +
{|class="gvtable"
 +
! Attribute !! Type !! Description
 +
|-
 +
| first-node || required || Indicates the initial node of the workflow.
 +
From this node begins running when an instance of the workflow is invoked.
 +
|-
 +
| point-x || optional || X position of the start node in the VulCon workflows editor.
 +
Immutable, used by {{L_VULCON}}.
 +
|-
 +
| point-y || optional || Y position of the start node in the VulCon workflows editor.
 +
Immutable, used by {{L_VULCON}}.
 +
|}
  
* ''first-node'': Indicates the initial node of the workflow. <br/> From this node begins running when a workflow instance is invoked.
 
* ''point-x'': X position of the start node in the {{L_VULCON}} workflows editor.
 
* ''point-y'': Y position of the start node in the VulCon workflows editor.
 
  
and the subelements:
+
Flow element might contain the following sub-elements:
 
+
* Description
* Description,
+
* [[Conditions]]
* Conditions,
+
* [[GVOperationNode]]  
* ([[GVOperationNode]] | [[GVNodeCheck]] | [[ChangeGVBufferNode]] | [[GVWaitNode]] | [[GVNotificationNode]] | [[GVIteratorOperationNode]] | [[GVCoreCallNode]] | [[GVEndNode]] | [[GVSavePointNode]])(s)
+
* [[GVNodeCheck]]  
 +
* [[ChangeGVBufferNode]]  
 +
* [[GVWaitNode]]  
 +
* [[GVNotificationNode]]  
 +
* [[GVIteratorOperationNode]]  
 +
* [[GVCoreCallNode]]  
 +
* [[GVEndNode]]  
 +
* [[GVSavePointNode]]  
 +
* [[GVSubFlowCallNode]]
 +
<div class="version_ge3.4">
 +
* [[GVSubFlowSplittedNode]]
 +
* [[GVSubFlowParallelNode]]
 +
* [[GVSubFlowSpawnNode]]
 +
</div>
  
 
==How to==
 
==How to==
[[File:VULCONFlowAttributes.jpg|thumb|Flow attributes]]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 [[Palette|nodes]].  
+
[[File:VULCONFlowAttributes.jpg|thumb|Flow attributes]]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 [[Palette|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.
+
It can be also done using the {{VULCON}} editor, by dragging the node into, and associating it to the ''Start'' node using the [[Palette|Default connection]]. Once the editor will be saved, ''Flow'' attributes will filled automatically.
  
  
Line 31: Line 54:
 
<syntaxhighlight lang="XML">
 
<syntaxhighlight lang="XML">
 
<Service group-name="DEFAULT_GRP" id-service="TOUPPER#GVESB" service-activation="on" statistics="off">
 
<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">
+
     <Operation name="RequestReply" operation-activation="on" out-check-type="sys-svc-id" type="operation"
 +
              class="it.greenvulcano.gvesb.core.flow.GVFlowWF">
 
         <Participant id-channel="TEST_CHANNEL" id-system="GVESB"/>
 
         <Participant id-channel="TEST_CHANNEL" id-system="GVESB"/>
 
         <Flow first-node="test" point-x="20" point-y="150">
 
         <Flow first-node="test" point-x="20" point-y="150">
Line 37: Line 61:
 
                   id="test" id-system="GVESB" input="input" next-node-id="end" op-type="call"
 
                   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"/>
 
                   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"
+
             <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"/>
 
                   output="output" point-x="386" point-y="150" type="flow-node"/>
 
         </Flow>
 
         </Flow>

Latest revision as of 09:59, 13 May 2014

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 / GV Console Configuration

Flow element

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: The following table shows the Subflow element attributes:

Attribute Type Description
first-node required Indicates the initial node of the workflow.

From this node begins running when an instance of the workflow is invoked.

point-x optional X position of the start node in the VulCon workflows editor.

Immutable, used by VulCon®.

point-y optional Y position of the start node in the VulCon workflows editor.

Immutable, used by VulCon®.


Flow element might contain the following sub-elements:

How to

Flow attributes

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"
               class="it.greenvulcano.gvesb.core.flow.GVFlowWF">
        <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>