这里我们已知流程已经部署,我的需求是获取当前流程的所有任务节点,我使用instanceof关键字来进行匹配 private List<UserTask> getProcessUserTasks(String processInstanceId) { ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleRes…
上一篇说明了选择 Camunda 的理由.这一篇说明如何实现适配层. 当前还没有专门写一篇对 Camunda 各个功能的详细介绍.如果要获得比较直观的感受,可以下载 Modeler 或者使用在线版的 Modeler . https://demo.bpmn.io/ 为什么要做适配层? 现有引擎无法满足业务 如果能满足,加个代理层就够了. 避免改源码导致升级困难 我们部门有个基于 k8s 源码修改的项目,当年拿过公司的大奖.现在由于没人维护的来,已经凉了. 可以兼容其他流程引擎 当前选的引擎即使能满…
一.背景 市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.由于jbpm.activiti.flowable这几个流程引擎出现的比较早,国内人用的比较多,大家对camunda流程引擎认识的不多,实际上camunda在功能上.稳定性.性能.轻量化方面均比jbpm.activiti.flowable优秀.中国人使用业务流程,"会签"是一个最常用的流程操作,那么如何基于camunda实现会签流程,会签背后的流程引擎执行原理是什么…
Camunda bpm流程引擎的数据库由多个表组成,表名都以ACT开头,第二部分是说明表用途的两字符标识.本文以Camunda7.11版本为例,共47张表. ACT_RE_*: 'RE'表示流程资源存储,这个前缀的表包含了流程定义和流程静态资源(图片,规则等),共5张表. ACT_RU_*: 'RU'表示流程运行时. 这些运行时的表,包含流程实例,任务,变量,Job等运行中的数据. Camunda只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录, 这样运行时表的数据量最小,可以最…
前言     如何基于开源流程引擎开发OA系统?开源流程引擎哪个好?把它整合到自己的产品里难不难,有没有啥风险?这是大家经常遇到的问题.笔者从2006年开始参与流程引擎开发,经历了三代流程引擎研发,支撑过上千个项目应用,把遇到的一些问题总结出来,给大家参考. 一.代码量大,研究困难,尤其涉及底层代码修改,无法下手    目前的开源流程引擎越做越复杂,就以flowable6.4.1为例,源代码工程就103个,如果想深度掌握,必须要研究源代码,但这么多的代码如何研究,对于没有BPM研发经验的人来讲难…
前言 本文重点介绍开源流程引擎camunda的核心概念,这些概念同样适用于JBMP.Activiti.Flowable流程引擎,了解这些基本概念和原理,使用流程引擎API将更得心应手. 一.Process Definition Process Definition即流程定义.Process Definition定义了流程的结构,或者说定义了业务活动的执行过程.Camunda bpm使用bpmn2.0作为其流程定义的主要建模语言.在Camunda BPM中,提供了C/S流程建模工具(Modeler…
​  市场上基于Java语言的开源工作流引擎有:osworkflow.jbpm.activiti.flowable.camunda等,其中osworkflow.jbpm流程引擎已经过时,目前主流的开源流程引擎主要有activiti.flowable.camunda这三款,无论选择哪一个开源流程引擎,都不可能拿来即用,需要做大量的功能扩展,才能满足项目需求.以下以camunda开源流程引擎为例说明,需要扩展哪些功能才能满足中国特色的流程项目需求. 1.扩展中国特色流程操作功能 开源流程引擎默认就是…
day#1(11.13) 尝试通过spring boot 集成最新版activiti 7,但是苦于官方的文档基本为空,无法完成spring boot的配置,最终按照activiti 6的文档,手工初始化ProcessEngine以及完成deploy测试. 在eclipse中安装流程模型设计器,并画简单的流程. day#2(11.14) 想要开启activiti对数据库操作的SQL日志打印,研究了好一番功夫,终于得以实现.实现方式如下: <?xml version="1.0" en…
流程引擎的API和服务 流程引擎API(ProcessEngine API)是与Activiti打交道的最常用方式 Activiti从ProcessEngine开始.在ProcessEngine中,可以获得很多包括工作流或者BPM方法的服务 ProcessEngine和服务类都是线程安全的.可以在整个服务器中仅保持它们的一个引用就可以 ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); RuntimeSe…
市场上比较有名的开源流程引擎有osworkflow.jbpm.activiti.flowable.camunda.其中:Jbpm4.Activiti.Flowable.camunda四个框架同宗同源,祖先都是Jbpm4,开发者只要用过其中一个框架,基本上就会用其它三个.开发低代码平台.OA系统.BPM软件均需要流程可视化功能,而流程可视化核心是流程引擎和流程设计器,对于市场上如此多的开源流程引擎,哪个功能和性能好,该如何选型呢? 一.流程引擎选型 1.Osworkflow Osworkflow是…