【flowable学习3】XML流程定义结构和元素

Flowable 使用 BPMN 2.0 XML 格式来定义业务流程模型。BPMN(Business Process Model and Notation)是一种业务流程模型和符号的标准,它提供了一种图形化的表示方法来描述业务流程的结构和行为。
以下是一个基本的 Flowable BPMN 2.0 XML 文档的结构和组成部分的详细解释:

BPMN 2.0 XML 基本结构

<?xml version="1.0" encoding="UTF-8"?>
<definitions
        xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:flowable="http://flowable.org/bpmn"
        xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
        xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC"
        xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI"
        typeLanguage="http://www.w3.org/2001/XMLSchema"
        expressionLanguage="http://www.w3.org/1999/XPath"
        targetNamespace="http://www.flowable.org/processdef">
    
    <process id="processId" name="Process Name" isExecutable="true">
        <!-- 流程元素定义 -->
    </process>
    
    <!-- BPMN DI 元素定义 -->
    
</definitions>

关键元素和属性

  • definitions:这是 BPMN 2.0 XML 文档的根元素。它包含所有其他的 BPMN 元素,并提供了一些命名空间定义。
  • process:定义了一个具体的业务流程。它具有以下属性:
    • id:流程的唯一标识符。
    • name:流程的名称。
    • isExecutable:表示该流程是否可执行。

流程元素

以下是可以在 <process> 元素内部定义的一些关键元素:

  • startEvent:流程的开始点。
  • endEvent:流程的结束点。
  • userTask:表示需要人工完成的任务。
    • flowable:assignee:分配给任务的用户。
    • flowable:candidateGroups:可以领取任务的用户组。
    • flowable:candidateUsers:可以领取任务的用户。
  • sequenceFlow:连接两个流程元素的流,定义了流程的流向。
    • sourceRef:流的源元素。
    • targetRef:流的目标元素。
  • exclusiveGateway:排他网关,用于基于条件的流程分支。
  • parallelGateway:并行网关,用于创建并行分支。
  • inclusiveGateway:包容网关,允许基于条件的多个分支。
  • callActivity:调用另一个流程定义。
  • serviceTask:执行自动任务的元素。
    • flowable:class:执行任务的自定义类。
    • flowable:expression:执行任务的表达式。

BPMN DI 元素

BPMN DI(Diagram Interchange)元素用于定义流程图的位置和布局信息:

  • bpmndi:BPMNDiagram:包含流程图的全部信息。
  • bpmndi:BPMNPlane:包含流程元素的图形表示。
  • bpmndi:BPMNShape:定义单个流程元素的图形。
  • bpmndi:BPMNEdge:定义流程元素之间的连接线。

示例

以下是一个简单的流程定义示例:

<process id="simpleProcess" name="Simple Process" isExecutable="true">
    <startEvent id="startEvent"/>
    <userTask id="userTask1" name="First Task" flowable:assignee="user1"/>
    <sequenceFlow sourceRef="startEvent" targetRef="userTask1"/>
    <endEvent id="endEvent"/>
    <sequenceFlow sourceRef="userTask1" targetRef="endEvent"/>
</process>

这个流程定义了一个开始事件、一个用户任务和一个结束事件,以及连接这些元素的顺序流。

注意事项

  • BPMN 2.0 XML 是结构化的,且需要遵循特定的命名空间和规则。
  • Flowable 扩展了 BPMN 2.0 标准,通过添加自定义属性(如 flowable:assignee)来增强其功能。
  • 在实际使用中,可能还需要包含更多的细节,如监听器、表单定义、任务参数等。
    要深入了解 BPMN 2.0 XML 和 Flowable 的 XML 结构,建议参考 Flowable 的官方文档和 BPMN 2.0 规范。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值