课题背景:
目前,包含慧正工作流引擎的各业务系统服务器的交互主要通过数据源访问的方式完成,该方式存在数据安全隐患,需要考虑更安全的方式进行交互。
课题目标:
慧正工作流系统基于webservice的多引擎交互设计课题目标为:
1) 研究多服务器间工作流交互管理实现;
2) 研究原有直接访问目标服务器数据源交互模式的替代方案;
课题内容:
点对点通信交互实现互联互通的网络环境内任意两个慧正工作流引擎服务器之间的通信连接,如图1。未来将研发统一服务器管理接口来实现服务器间的交互、日志的管理、任务的管理等。

图1点对点通讯模型
现有情况下,通过调用目标服务器的Web Service接口来实现服务器间的数据交互,而同服器间的租户间的数据交互沿用V6SP4采用访问目标租户数据源的形式实现,如图2:

图2多引擎管理模型
多引擎管理结构目前分为服务器管理、租户管理、组织结构管理、租户间通讯接口,队列管理5部分。如图3

图3多引擎管理功能框架
服务器管理模块
1) 结构及功能
由图3可知,服务器管理项下分为当前服务器管理,其他服务器管理以及服务器间通讯接口3部分。
当前服务器管理用于查看更改当前服务器的某些信息,并管理其租户信息。其他服务器管理用于添加需要交互访问的目标服务器的信息。
服务器间通讯接口为多引擎管理的核心,用户服务器间的点对点交互。
2) 服务器间通讯接口
执行人将要执行的任务指令下达给当前服务器A,A将任务数据放到自己发送任务队列中,同时创建定时任务执行。

图4服务器间通讯时序图
根据图4时序图设计如下流程图

图5服务器间通讯流程图
租户管理模块
1) 结构
由图3可知,租户管理模块下分为主租户、子租户管理及租户切换三部分。同一个服务器可以创建多个租户,租户分为主租户、子租户两种。
2) 功能
1.主租户是系统初始化时产生的第一个租户,类型默认为“主租户”且初始化完成后可以更改为子租户。
2.有且只有一个主租户作为统一用户源提供方, 子租户需要指定对应的主租户,用户信息同步主租户信息。
3.主租户需要设置定制同步任务,将用户信息变更定期同步给各个子租户。
4.只有属于同一个主租户的不同租户间,采用进行复制共享跨引擎流转。
5.子租户进行组织机构管理时,通过访问组织机构源服务器提供的组织机构服务接口实现。该接口提供子租户,对主租户内授权管理的组织机构信息,进行管理的功能,界面效果与单独服务器的用户管理相同,管理完毕,可以执行手工同步,将主租户的用户信息变更,同步到子租户。
6.同一主租户的不同主、子租户间管理端可以切换。同一服务器上的租户间管理切换采用session信息更新并重新加载的方式;不同服务器租户间采用WEBSSO方式切换。主租户需要设置租户的管理权限范围,对某个租户有管理权限是当前登录用户切换到该服务器进行管理的前提。
组织结构管理模块
组织结构树需要有统一的用户源,统一的用户源时租户间及跨服务租户间流程流转、数据共享的前提条件。
租户间通讯接口
1) 结构
由图3可知,租户间通讯管理模块下分为同服务间租户通讯及服务器间租户间通讯两部分。该模块的功能依赖于服务器间通讯接口来实现。
2) 功能
同一个服务器内的租户间通讯,采用直接访问对方数据源方式。
不同服务器间租户通讯要通过服务器间通讯接口(Web Service)实现。
服务器间可以通过通讯接口实现流程的复制、共享、跨引擎调用。共享信息集中存放在主服务器上,子租户通过访问主服务器提供的接口,获取可以共享的信息。
同一个服务器不同租户间的跨租户流程调用,采用传递租户标识参数的方式实现。
不同服务器间的跨租户流程调用,采用WEBSSO打开对方页面处理,或者服务器间调用Web Service方式。
队列管理模块
1) 结构
由图3知,队列管理主要下分为数据队列管理及队列日志管理两部分。
2) 功能
数据队列管理需要方便用户监控不同服务任务间交互情况。
定义重试策略以便失败的任务重新执行。
通过本课题的研究,明确了慧正工作流引擎多服务器间工作流交互管理原理及结构,以Web Service接口方式,替代原有的通过数据源交互的方式,提升工作流引擎之间的数据安全,降低各引擎的交互耦合度,未来将实现到慧正工作流产品中。
转发左下角“阅读原文”中的文章才能获得积分哦!!!
转发左下角“阅读原文”中的文章才能获得积分哦!!!
转发左下角“阅读原文”中的文章才能获得积分哦!!!
重要的事情说三遍!!!


