1、描述
顺序流程是流程两个元素之间的连接器。在流程执行过程中访问一个元素之后,将遵循所有流出的顺序流程。这意味着BPMN 2.0的默认属性是并行的:两个输出序列流将创建两个独立的并行执行路径。
2、图形表示法
一个序列流被视为从源元素到目标元素的箭头。箭头总是指向目标。
3、XML表示
序列流需要有一个进程唯一的id和对现有源和目标元素的引用。
<sequenceFlow id="flow1" sourceRef="theStart" targetRef="theTask" />
4、有条件的顺序流程
描述
序列流可以在其上定义一个条件。当留下BPMN 2.0活动时,默认行为是评估出站序列流的条件。当条件评估为真时,选择该输出顺序流程。当以这种方式选择多个序列流时,将会生成多个执行,并且过程将以并行的方式继续。
注意:上述内容适用于BPMN 2.0活动(和事件),但不适用于网关。网关将根据网关类型以特定方式处理具有条件的序列流。
图形表示法
一个有条件的顺序流被视为一个常规的顺序流,在开始处有一个小钻石。条件表达式显示在序列流旁边。
XML表示
条件序列流在XML中用常规的序列流表示,包含一个conditionExpression子元素。请注意,目前只支持tFormalExpressions,省略xsi:type =“”定义将简单地默认为唯一受支持的表达式类型。
<sequenceFlow id="flow" sourceRef="theStart" targetRef="theTask">
<conditionExpression xsi:type="tFormalExpression">
<![CDATA[${order.price > 100 && order.price < 250}]]>
</conditionExpression>
</sequenceFlow>
目前,conditionalExpressions 只能与UEL一起使用。有关这些的详细信息可以在表达式部分找到。使用的表达式应该解析为布尔值,否则在评估条件时抛出异常。
- 下面的例子通过getters引用典型的JavaBean风格的流程变量的数据。
<conditionExpression xsi:type="tFormalExpression">
<![CDATA[${order.price > 100 && order.price < 250}]]>
</conditionExpression>
- 这个例子调用一个解析为布尔值的方法。
<conditionExpression xsi:type="tFormalExpression">
<![CDATA[${order.isStandardOrder()}]]>
</conditionExpression>
Flowable发行版包含以下使用值和方法表达式的示例过程(请参阅org.flowable.examples.bpmn.expression):
上面文章来自盘古BPM研究院:http://vue.pangubpm.com/
文章翻译提交:https://github.com/qiudaoke/flowable-userguide
了解更多文章可以关注微信公众号: