编者按:BPM流程引擎现在越来多受到企业客户的青睐,每个企业的流程需求都各有差异,流程引擎有基于开源开发的,也有企业自研的,那么这两者的区别是什么呢?企业该如何选择呢?
关键词:BPM流程引擎、流程整合、源码交付
一、基于开源的流程引擎的难点
市场上比较有名的开源流程引擎有osworkflow、jbpm、activiti、flowable、camunda。其中:Jbpm4、Activiti、Flowable、camunda四个框架同宗同源,祖先都是Jbpm4,开发者只要用过其中一个框架,基本上就会用其它三个。
Activiti的设计初衷是嵌入式引擎应用,减少大量的硬编码工作,而应对BPM引擎中心需求仍有很多不足。因此基于开源的流程引擎存在着以下几方面的难点:
1、扩展或定制开发难以满足中国特色需求
基于开源流程引擎API接口进行扩展开发,但目前市场上主流开源流程引擎,如JBPM、Activiti、Flowable、Camunda,均是老外开发的,底层架构设计较好,但功能上不能满足中国特色的流程应用需求,比如:抄送、会签、加签、传阅、跳转、任意流、退回、取回、撤销、一人多部门等需求,这些需求均需要扩展开发才可以,对于没有BPM研发经验的团队来说,开发周期长,风险较大。
2、流程引擎自带的组织用户模型不能满足中国特色需求
开源流程引擎自带了简单的组织用户表,比如camunda流程引擎自带了用户表(act_id_user)、用户群组表(act_id_group)、用户群组关联表(act_id_membership)这几张表,功能十分简单