最近闲来无事,研究了一下工作流框架。找到了一条可以实现审批流程的技术方向。
我选择的后端工作流框架是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协议的流程定义文件:
- BPMN 2.0 Introduction · Flowable Open Source Documentation
- BPMN 2.0 Constructs · Flowable Open Source Documentation
上面两个文档看完之后再配合流程变量,基本上大部分的需求就解决了。
重点来了,如何在自己的WEB网页上设计BPMN流程,最后导出成文件,我尝试使用了两个框架:
- bpmn-js:bpmn-js: BPMN 2.0 rendering toolkit and web modeler | Toolkits | bpmn.io
- logicflow:快速上手 | LogicFlow (logic-flow.cn)
其中,bpmn-js生成的BPMN协议的文件应该是最符合标准的。但无奈参考资料少,定制化难度高,个人水平有限,被我浅尝之后果断放弃。投向了logicflow。
logicflow不止可以做BPMN协议的流程。我认为他最大的优点就是可定制化程度高。它有bpmn的扩展包,实现了大部分的bpmn的协议,但不适用于我的想法。
所以我决定自己使用logicflow实现一部分可用的BPMN内容。
具体怎么实现文档写的也很清楚:快速上手 | LogicFlow (logic-flow.cn) 主要用到的是自定义节点,自定义转换器。
标签:Java,bpmn,Flowable,流程,BPMN,Source,文档 From: https://www.cnblogs.com/zhaoleiFree/p/18011620