并行方案:
本章节讲解的并行主要指多个系统并存,用小学生思维就是启动了多个tomcat,WF启动一个,你的系统启动一个,没有相互影响。
如果并行处理,数据库是否需要并行,还是共用一个, 不管DB是否一个,本质问题是需要解决基础数据共用的问题,即用户系统、角色体系、组织等基础数据双方如何才能共用一份 方案有如下几种:
1.共用库的情况下
1.1 共用表,这样从本质上解决了问题。
1.2 不共用表,那么就需要做到表数据两边一致性,那么是否可以用触发器解决,让业务库的改动实时同步到WF的表中。同时WF端对基础数据不操作,做到只读模式。
2.不共用库的情况下
2.1 同步,这里与1.2一致,唯一区别是1.2同步发生在一共库(oracle下是用户),2.1同步发生在两个库下面的两个表,处理流程是一致的。
数据一致性问题解决了,后面就是两个系统之间如何调用。 业务调用引擎非常简单,只需要发一个请求过来,带上参数即可,引擎这边比如有个controller接收请求然后调用发起方法即可。 最大问题可能是进度查询,审批等,一种方式是使用单点登录的方式,在业务系统中嵌入WF的页面,可以直接查询操作(如果界面两边差不多,要不然有点突兀)。 当然还有其他方式,这个就不限制大家的想象,只要能传参调用返回数据其实两个系统和一个系统就没啥区别了。