Java中的审批流:BPMN与Flowable

最近研究了一下工作流框架。找到了一条可以实现审批流程的技术方向。

我选择的后端工作流框架是Flowable,看文档应该是属于Activity的一个分支吧。使用教程文档地址在:Getting Started · Flowable Open Source Documentation(用百度/必应搜索,搜到的是Flowable的官网,最后这个技术文档还是从github里面找到的)。

我对Flowable的理解:它只是一个根据指定流程文件处理流程的框架,流程文件中还可以设置变量,使用Flowable可以对变量进行赋值,增加审批中的灵活性。

使用SpringBoot集成Flowable很简单:Spring Boot · Flowable Open Source Documentation

 将Flowable的依赖添加进入pom文件之后,Flowable会自动在你连接的数据库中创建数据表。

要想将Flowable玩起来的关键在于BPMN协议的流程定义文件:

  1. BPMN 2.0 Introduction · Flowable Open Source Documentation
  2. BPMN 2.0 Constructs · Flowable Open Source Documentation

上面两个文档看完之后再配合流程变量,基本上大部分的需求就解决了。

重点来了,如何在自己的WEB网页上设计BPMN流程,最后导出成文件,我尝试使用了两个框架:

  1. bpmn-js:bpmn-js: BPMN 2.0 rendering toolkit and web modeler | Toolkits | bpmn.io

其中,bpmn-js生成的BPMN协议的文件应该是最符合标准的。但无奈参考资料少,定制化难度高,个人水平有限,被我浅尝之后果断放弃。投向了logicflow。

logicflow不止可以做BPMN协议的流程。我认为他最大的优点就是可定制化程度高。它有bpmn的扩展包,实现了大部分的bpmn的协议,但不适用于我的想法。

所以我决定自己使用logicflow实现一部分可用的BPMN内容。

具体怎么实现文档写的也很清楚:快速上手 | LogicFlow (logic-flow.cn) 主要用到的是自定义节点,自定义转换器。

posted on 2024-02-08 10:36  zhaoLei_Free  阅读(707)  评论(0编辑  收藏  举报

导航