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

就能拿到图形,然后点击上方导出按钮即可

posted @ 2022-11-08 13:52  夏·舍  阅读(612)  评论(0编辑  收藏  举报