背景
有流程引擎系统,有各类业务系统,需要把业务系统和流程引擎结合起来。业务系统用的挺好,但是比较难以改造,有些业务需要上线审批流程,需要使用BPM中集成业务。
集成模式一:BPM集成业务
- 把需要构建的业务数据,使用可视化的组件呈现出来,让用户选择(需要设计对应公共组件属性)
- 然后把相关信息给予补充,构建出申请业务表单
- 发起流程
- 流程正常流转
- 在特定节点,根据业务需要,调用api或者通用的方法来把一些业务数据,回写到业务系统之中(根据需要,设置业务方法,或者特定的api)
总结
适用许可少,改造难的业务系统
特点:
BPM中发起流程
BPM中使用表单存储第三方业务数据
BPM中审批流程
优点:
统一交互和体验
统一入口和管理
业务系统改造少
缺点:
配置工作量较大
业务系统数据交互量较大
集成模式二:业务驱动BPM
- 业务系统提交申请,然后调用流程服务,同时把相关的业务数据塞到对应的表单之中
- 流程引擎接受数据,同时启动对应的流程(保留一份copy在bpm之中)
- 流程正常流转
- 在特定节点,根据业务需要,调用api或者通用的方法来把一些业务数据,回写到业务系统之中(根据需要,设置业务方法,或者特定的api)
总结
适用于数据复杂,业务发起习惯在业务系统
特点:
业务系统发起流程
BPM中使用表单存储第三方业务数据
BPM中审批流程
优点:
不改变原有业务习惯
统一交互和体验
业务系统改造少
缺点:
配置工作量较大
审批过程和业务发起不在一个系统
业务系统数据交互量较大
集成模式三 :业务驱动BPM
- 使用原业务表单,在业务系统发起流程
- 调用api
- 使用iframe嵌入对应的审批工具栏和审批相关信息,业务系统为主;或者另外一种方式就是把业务表单嵌入到流程引擎之中,流程引擎为主
总结
适用于业务系统成熟专业,需要使用流程审批
特点:
业务系统发起流程
使用原业务表单
BPM中审批流程
优点:
不改变原有业务习惯
业务系统数据交互少
BPM没有业务数据
通过AIP实现业务和BPM深度融合
缺点:
业务系统需具备改造的配合
不同系统表单交互体验不一致
总结
流程集成需要根据特定的场景,还有开发者的技术能力这些因素来选择适合特定的业务需求来匹配集成方式。当然,无论哪种集成,都会增加一定的工作量,需要慎重探讨可行方式。