基于开源流程引擎开发BPM或OA有哪些难点

基于开源流程引擎开发BPM或OA有哪些难点

2023年7月24日发(作者:)

基于开源流程引擎开发BPM或OA有哪些难点前⾔    如何基于开源流程引擎开发OA系统?开源流程引擎哪个好?把它整合到⾃⼰的产品⾥难不难,有没有啥风险?这是⼤家经常遇到的问题。笔者从2006年开始参与流程引擎开发,经历了三代流程引擎研发,⽀撑过上千个项⽬应⽤,把遇到的⼀些问题总结出来,给⼤家参考。⼀、代码量⼤,研究困难,尤其涉及底层代码修改,⽆法下⼿

   ⽬前的开源流程引擎越做越复杂,就以flowable6.4.1为例,源代码⼯程就103个,如果想深度掌握,必须要研究源代码,但这么多的代码如何研究,对于没有BPM研发经验的⼈来讲难度是⽐较⼤的,也许有⼈说我不⽤研究源代码,就调⽤它的API就可以了,你看完⽂章下⾯的内容就知道了可不可以。

⼆、如何扩展或定制开发满⾜中国特⾊需求

   有些团队在开发BPM的时候,基于开源流程引擎API接⼝进⾏扩展开发,但⽬前市场上主流开源流程引擎,如JBPM、Activiti、Flowable、Camunda,均是⽼外开发的,底层架构设计较好,但功能上不能满⾜中国特⾊的流程应⽤需求,⽐如:抄送、会签、加签、传阅、跳转、任意流、退回、取回、撤销、⼀⼈多部门等需求,这些需求均需要扩展开发才可以,对于没有BPM研发经验的团队来说,开发周期长,风险较⼤。三、流程引擎⾃带的电⼦表单均不能满⾜复杂应⽤需求

   虽然开源流程引擎也带了电⼦表单模块,基本上⽐较简单,都是字段平铺的往下罗列,对于满⾜国内企业级的应⽤开发差距很⼤,必须重新开发才可以,这就涉及到电⼦表单的开发⼯作量,以及表单跟流程引擎集成的问题,⼀个功能强⼤的电⼦表单开发,其难度和⼯作量不低于流程引擎的开发,需要有顶层的架构设计思想,功能性、性能和扩展性要综合考虑,涉及到的细节问题很多。国内泛微BPM的电⼦表单功能较为强⼤。四、流程引擎⾃带的组织⽤户模型不能满⾜中国特⾊需求

   开源流程引擎⾃带了简单的组织⽤户表,⽐如camunda流程引擎⾃带了⽤户表(act_id_user)、⽤户群组表(act_id_group)、⽤户群组关联表(act_id_membership)这⼏张表,功能⼗分简单,基本上满⾜不了国内企业级应⽤需求,需要单独涉及组织机构表,然后跟流程引擎进⾏集成。常见需求有:1、流程⽀持多组织架构,集团总部、⼦公司多级组织架构,国内组织架构涉及到有组织、部门、⽤户、岗位、职务多个要素,这些要素间有复杂逻辑关系。2、流程选⼈⽀持⼀⼈多部门多岗位,⽐如张三是公司副总经理,同时也是产品研发部的部门经理;3、流程选⼈规则动态灵活,⽀持⼈员、部门、岗位交叉形式的动态选⼈,⽐如流程的某⼀节点的审批需要流程发起⼈所在部门的副经理以上职位⼈审批,这就是⼀个⼈员、部门、岗位三个维度的交叉动态选⼈规则。4、流程审批体现审批⼈部门和职位,⽐如:张三是公司副总经理,同时也是产品研发部的部门经理,那么当他参与会签审批⼀个流程的时候,是以副总经理的⾝份审批的,还是以部门经理的⾝份审批的,在业务上是有很多区分的。五、开源流程引擎的界⾯基本不能满⾜国内企业应⽤需求

   ⽬前市场上主流开源流程引擎,如JBPM、Activiti、Flowable、Camunda等的⽤户界⾯很难满⾜中国⼈应⽤习惯,其实国内企业对UI功能和体验要求很⾼的,还有每个企业领导的操作习惯和个⼈喜好,界⾯基本上要全部定制开发,⽽且要研究流程引擎后台接⼝,这部分⼯作量⼗分巨⼤。笔者曾经参与过⼀个集团级的BPM项⽬,采⽤的是IBM BPM平台,界⾯基本满⾜不了客户需求,最后界⾯全部重新开发,投⼊了很⼤的⼈⼒物⼒。六、如何整合流程引擎,达到配置化开发,⽽不是硬编码

   如何把开源流程引擎整合到⾃⼰的产品⾥,应⽤起来很简单,最好是图形化配置即可,这个是有⼀定难度的,开源流程引擎官⽅给的DEMO⾥,都是调研API接⼝,需要硬编码才能把流程引擎⽤起来,对于我们产品设计,需要把这块抽象封装起来,通过图形化界⾯配置完成,⽐如流程会签、流程跳转这些功能,是常⽤的功能,好多项⽬都需要,不可能让每个项⽬都按照API⾃⼰开发实现,推⼴应⽤和维护成本很⾼。要把流程引擎玩好,把它整合到⾃⼰的产品⾥,实现配置化开发,对软件架构师有较⾼的要求,既要懂开源流程引擎技术,还要有架构设计思维。七、遇到复杂流程应⽤需求难以应对

   互联⽹业务流程应⽤相对简单,基本是⼀个直线流程或者分⽀流程,但在⼤型集团型企业⾥,流程应⽤⼗分复杂,甚⾄是⼀些变态的需求,但从业务⾓度讲是合理的,IT很难拒绝业务,遇到这种需求,如何灵活应对?如果对流程引擎底层原理了解不深⼊,是很难应对的,最好勉强实现,问题也会很多,甚⾄写死代码,后期很难维护。总结

   基于开源流程引擎研发BPM或者OA系统,问题远远不⽌这些,笔者仅仅是把常见的、重要的问题列了出来,给开发⾃主可控的BPM的团队提供参考,尽量少踩坑,也可以与我深度沟通。后续的⽂章中我们继续分享经验,分享踩坑经历。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1690213951a315863.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信