1. 引言
由于Activiti面世出现也比较早,加上是Java领域的开源工作流,自然而然也被很多企业个人拿来使用,有做做简单的或有深入的二次开发使用的。作为一个资深的BPM领域技术专家,貌似如果没有研究过Activiti的话会显得不专业,所以我们也免不了俗,自然而然也是对Activiti做过剖析。
关于Activiti的选型还是有必要说一说,从纯技术角度上说,不从商业角度,因为那不是讨论的范畴。所以正好以此为契机把它整理成一篇全面一些的文章,就想着也提供给有需要的技术达人在Activiti选型时的参考。Activiti本身有很多优秀的地方,但也有很多弊端,谈论过程中如果您有不同的观点我们也是很欢迎接受的,我们也是从某个角度谈谈聊聊,仅作参考。
2. 什么是Activiti
Activiti是Tom Bayen(jBPM创始人)自2010年离开jBoss加入Alfresco公司后的又一力作:第一版在2010年5月发布,当时仅支持最简单的流程处理,之后的版本陆续完善了对BPMN 2.0规范的支持。其核心是使用Java开发的。其前身就是JBPM。
早年关于研发工作流的厂商也少,而Activiti开源早,所以占领的知名度的先机,但目前国内自主研发的流程引擎也越来越多,而且更加符合中国国情的项目,甚至远远越过了Activiti。易用易上手。容易扩展,即拿即用。
2.1. Activiti核心数据库表
Activiti的后台是有数据库的支持,所有的表都以ACT_开头。
ACT_RE_*: 'RE’表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片&