流程引擎课堂(二)| 基于开源流程引擎开发的bpm有那些难点? | bpm-爱游戏

编者按:开源流程引擎哪个好?如何基于开源流程引擎开发bpm,存在哪些难点?本文从国内流程引擎市场的难点出发,分析了其中的利弊。


企业的流转离不开流程,一个好的流程管理系统可以为企业增效降本,增强企业综合实力。而流程系统好不好,主要取决于流程引擎。就目前国内流程引擎市场来说,基于开源流程殷勤开发的bmp主要有几个难点。

难点一:难以满足中国特色流程需求

这是一个众所周知的难题,主要有两方面的需求不能满足。

1应用功能需求:目前市场上主流的开源流程引擎有osworkflow、jbpm、activiti、flowable、camunda,都是国外的,底层架构设计优秀,但功能上不能满足中国特色的流程应用需求,比如:抄送、会签、加签、传阅、跳转、任意流、退回、取回、撤销、一人多部门等需求,而有些团队在开发bpm的时候,正是基于这些流程引擎api接口进行扩展开发,比如宏天、红迅是基于开源activiti。当然,这些需求可以通过扩展开发实现,开发周期较长,风险较大。

2组织模型需求:开源流程引擎自带了简单的组织用户表,比如camunda流程引擎自带了用户表(act_id_user)、用户群组表(act_id_group)、用户群组关联表(act_id_membership)这几张表,功能十分简单,基本上满足不了国内企业级应用需求,需要单独涉及组织机构表,然后跟流程引擎进行集成。比如最常见需求——多组织流程架构支持,集团总部、子公司多级组织架构,国内组织架构涉及到有组织、部门、用户、岗位、职务多个要素,这些要素间有复杂逻辑关系。

难点二:难以满足复杂表单应用需求

虽然开源流程引擎也带了电子表单模块,基本上比较简单,都是字段平铺的往下罗列,对于满足国内企业级的应用开发差距很大,必须重新开发才可以,这就涉及到电子表单的开发工作量,以及表单跟流程引擎集成的问题,一个功能强大的电子表单开发,其难度和工作量不低于流程引擎的开发,需要有顶层的架构设计思想,功能性、性能和扩展性要综合考虑,涉及到的细节问题很多。有的流程管理系统基于图标库构建报表引擎,还是很实用的,比如天翎bpm。

难点三:流程引擎整合难

如何把开源流程引擎整合到自己的产品里,应用起来很简单,最好是图形化配置即可,这个是有一定难度的,开源流程引擎官方给的demo里,都是调研api接口,需要硬编码才能把流程引擎用起来,对于我们产品设计,需要把这块抽象封装起来,通过图形化界面配置完成,比如流程会签、流程跳转这些功能,是常用的功能,好多项目都需要,不可能让每个项目都按照api自己开发实现,推广应用和维护成本很高。

难点四:流程引擎整合集成难

互联网业务流程应用相对简单,基本是一个直线流程或者分支流程,但在大型集团型企业里,流程应用十分复杂,但从业务角度讲是合理的,it很难拒绝业务,遇到这种需求,如何灵活应对?这时候,构建统一的流程中心就显得尤为重要。

小结:

其实,基于开源流程引擎开发的bpm,问题还有很多,今天笔者着重列出几个需要优先考虑的,为大家提供点参考建议。总之,流程系统的选型,需要多看多比,多与实际应用相结合,毕竟,实用才是硬道理。

推荐

网站地图