外部系统整合BPM工作流的方案问题(技术交流)

背景:使用IBM BPM开发了OA系统,现在有一个外部系统A,需要开发工作流,工作流部分想采用BPM平台来实现,方便流程的统一管理。问题:如何使用BPM平台初步考虑的方案如下:方案一:A系统保存自己的业务数据和表单,bpm实现工作流,A系统通过rest接口调用bpm的工作流引擎实现流转,bpm只是提供...显示全部
背景:使用IBM BPM开发了OA系统,现在有一个外部系统A,需要开发工作流,工作流部分想采用BPM平台来实现,方便流程的统一管理。

问题:如何使用BPM平台

初步考虑的方案如下:

方案一:A系统保存自己的业务数据和表单,bpm实现工作流,A系统通过rest接口调用bpm的工作流引擎实现流转,bpm只是提供流程引擎,负责工作流程的流转和控制,不保存任何业务数据和表单。即A系统每次调用接口,获取到的是流程的流转及状态等信息。

方案二:bpm实现工作流,A系统调用bpm提供的rest接口启动流程,并传入业务数据,bpm实现工作流程流转和控制之外,也保存业务数据。即A系统每次调用接口,除了获取流程的流转和状态信息之后,也交互业务数据的信息。

两个方案哪个更合理?各位大神是如何实施的,是否有其他方案。请赐教!
收起
参与63

查看其它 25 个回答daniewang的回答

daniewangdaniewang总经理/总裁danie
方案一和方案二应该有针对性,主题中缺少了一个问题描述.
问题:   针对的重点应该是A系统的业务数据是否涉及到流程流转过程中的交互问题,交互数据量的范围
如果涉及流程流转过程中的数据交互,建议使用第二种方案
如果不涉及这个问题,建议使用第一种方案
举例说明:
方案一适合的对接模式
如果是A系统单纯的只做一些业务级别的审批动作,审批后某些数据统计或生效,
这类事务处理多数都可以进行开发形式的封装
举例请假流程,  审批通过后每月定期统计实际员工的请假次数,
方案二适合的对接模式
业务数据交互复杂度搞,相对流程封装方法重构率高
A系统开发建立了主数据档(资金池),现阶段拥有资金100W
资金使用流程申请时,流程提交,  资金池资金发生变化,拥有资金 = 原拥有资金-待使用资金
流程审批通过后,   资金再次发生变化,   待使用资金变更为已使用资金
流程被退回,  用友资金恢复为原始状态
在这种多业务数据交互的情况下,  涉及到的对接功能点较多,所以第二种方案的可行性较高,成本也会比第一种第,当然,这取决于系统本身
这种只是单纯的一种数据档操作,如果是多种则封装难度较高,
没有检查错别字,如发现请见谅
软件开发 · 2015-05-21
浏览2509

回答者

daniewang
总经理/总裁danie

回答状态

  • 发布时间:2015-05-21
  • 关注会员:6 人
  • 回答浏览:2509
  • X社区推广