BPMN
目录
说明
BPMN就是使用各种图标,外加连线,实现可视化定义流程,并给流程各个节点设置负责人或候选组
图标
activity提供的可视化的方式写实现流程时,基于的是BPMN语言,BPMN是一种规范,各个厂家基于这个规范会给出不同的实现,表现出来就是各个厂家提供的可视化图标不一样,但是大体的含义都与规范一致
比如下面给出的是两个厂家提供的BPMN可视化图标
整个BPMN是用一组符号来描述业务流程中发生的各种事件,BPMN通过在这些符号事件之间连线来描述一个完整的业务流程
一个完整的BPMN图形流程,其实最终会生成一个XML进行描述,通常会将BPMN流程保存为一个.bpmn
文件
常用图标
BPMN要求一个流程总是从startevent
开始,到endevent
为止,中间可以插入各种事件
-
一类是常用的审批
usertask
(也是用得最多的)、servicetask
等事件,通过图标连线就能阐述清楚逻辑 -
一类是各种
Gateway
,用来构建更为复杂的流程,比如请假流程,一天以内直属领导审批即可,一天以上一周以内要部门领导审批,一周以上要HR审批,这种涉及if逻辑判断的情况,无法通过图标连线阐述清楚,就需要一个网关即Gateway
来帮助判断 -
一类是子流程
subprocess
或者注解annotation
大致分为这几种类别,通过这几种类别描述事件,最终构成整个业务流程
BPMN本质 XML
如图就是一个简单的线性流程,只需要usertask
在IDEA中绘制好的可视化BPMN文件,其实本质是xml文件,如下图
其中重点是process
标签,这个标签里的内容就是刚才拖拽得出的流程
在xml文件中,userTask
就是使用的事件,sequenceFlow
就是连线,说明哪个事件和哪个事件相连
XML中这个process
标签可以写好几个,对应到BPMN可视化图像上,就等于可以在一张画布上创建多个start-end
,不过日常开发不建议这样用,日常开发一般是一个process
对应一个BPMN文件,便于管理
BPMN小细节
连线
拖拽好BPMN小图标后,要从图标中心点往外拉,才能产生线去连接别的图标
乱码
另一个是有时候BPMN文件中的中文会出现乱码,这可能是IDEA字符集问题,此时点击IDEA的help下的VM配置,向其中添加-Dfile.encoding=UTF-8
导出图片
BPMN文件本质是xml文件,在IDEA中可以可视化显示,但是要把这个流程交给非开发人员看,那么就要将其导出为图片
首先在IDEA中将BPMN复制一份,后缀改为xml格式,然后右键这个文件找到如图的按钮,或者用快捷键ctrl+alt+shift+U
就能拿到图形,然后点击上方导出按钮即可