一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于与工作流平台进行异步消息通讯的应用功能模块间的协作方法与流程

2022-03-09 00:33:55 来源:中国专利 TAG:


1.本发明属于工作流技术领域,具体涉及一种基于与工作流平台进行异步消息通讯的应用功能模块间的协作方法,该方法可将物理上相互独立的应用功能模块按业务次序和逻辑关系组成流程进行功能协作。


背景技术:

2.工作流参考模型是国际工作流管理联盟制定的流程标准。工作流平台是对国际工作流参考模型的具体实现。传统的工作流平台主要表达有人机交互的流程协作,平台的流程定义模型中的活动匹配的功能模块主要为人机交互类型,它们之间的信息交互方式由活动实例化后产生的工作项承担。工作项中指明参与人以及其需要使用的功能模块,功能模块执行完毕后通过平台接口回传工作项参数,从而使得后续活动实例化并让流程定义模型实例得以继续执行。虽然传统的工作流平台也有与应用功能模块的交互,但并不关注应用功能模块之间的协作关系表达。当前对于复杂的有流程协作逻辑的计算机建模系统而言,不仅需要集成有人机交互的功能模块,而且还需要表达应用功能模块之间的协作次序、协作逻辑和协作功能,因而传统工作流平台现存问题限制了其在应用功能模块流程业务协作关系上的表达能力。


技术实现要素:

3.为解决现有技术的不足,本发明提出了基于与工作流平台进行异步消息通讯的应用功能模块间的协作方法,该方法包括以下步骤:
4.步骤s1:应用功能模块间的协作次序和协作逻辑由工作流平台的流程定义模型表达并在模型实例化后运行,任意一个应用功能模块都与流程定义模型中的一个应用功能型活动相对应,流程定义模型实例化后激活的应用功能型活动与相应的应用功能模块构成能进行异步消息通讯的交互信息对;
5.步骤s2:当工作流平台的流程定义模型实例化并激活应用功能型活动后,即该活动实例化,工作流平台将该活动作为流程断点并通过接口以异步方式将工作流参数集消息传递给应用功能模块,应用功能模块通过工作流参数集中的模块共享参数进行功能协作业务的表达;
6.步骤s3:应用功能模块执行完成后再将工作流参数集消息以异步方式通过接口回传给工作流平台,工作流平台根据回传工作流参数集获取流程定义模型实例断点并激活后续活动;
7.步骤s4:如果激活的活动为应用功能型活动,重复步骤s2-步骤s3,从而实现不同应用功能模块间的协作。
8.进一步地,本发明还具有以下技术特点:
9.步骤s1中的交互信息对关系的建立在流程定义模型中表达,为每组交互信息对配
置的异步通讯通道资源包括:在消息中间件中配置活动主题和模块主题,活动主题是消息从工作流平台传递给应用功能模块的通道,模块主题是消息从应用功能模块回传给工作平台的通道;活动主题topic为流程定义编号,tag为应用功能型活动定义编号,模块主题topic为流程定义编号,tag为模块编号;为活动主题绑定一个活动订阅程序用于激活相应的应用功能模块,为模块主题绑定一个功能模块订阅程序用于向工作流平台接口发送回传的工作流参数集;当流程模型中的交互信息对配置更改后,同步更新异步通讯通道。
10.所述的工作流参数集,用json格式进行规范;传给功能模块的工作流参数集中包含可使应用模块进行功能协作的模块共享参数,回传的工作流参数集使工作流平台获取当前流程定义模型实例的执行断点。
11.所述的交互信息对在数据存储操作上应构成事务,即应用功能模块产生的业务数据与流程模型中的应用功能型活动产生的工作流数据在关系数据库存储操作上构成事务,两类数据存储时要么同时成功,要么同时失败,当其中一类失败时都回滚到存储失败前的状态。
12.本发明与现有技术相比,具有以下有益技术效果:
13.(1)它能基于工作流平台使应用功能模块间建立协作关系完成一件复杂任务以及表达一个复杂系统的功能。
14.(2)可将一个复杂系统分解为有协作关系的解耦功能模块,从而使系统具有良好的扩展性。
15.(3)增强了工作流平台对应用功能模块协作的表达能力。
附图说明
16.图1为本发明的方法流程图。
17.图2为本发明的方法涉及的平台整体构架图。
18.图3为本发明由工作流平台发送给应用功能模块的工作流参数集消息json规范。
19.图4为本发明由应用功能模块回传给工作流平台的工作流参数集消息json规范。
20.以下结合附图及具体实施方式,对本案的具体内容作进一步详细说明。
具体实施方式
21.本发明提出基于与工作流平台进行异步消息通讯的应用功能模块间的协作方法。该方法执行步骤如图1所示,执行需要构建如图2所示的应用功能模块流程协作架构,架构由工作流平台、消息中间件以及有流程协作需求的一组应用功能模块三个部分组成。工作流平台用于定义表达应用功能模块协作次序和协作逻辑的流程定义模型以及实例化该模型;消息中间件能为工作流平台和应用功能模块间建立异步消息通讯通道;一组应用功能模块都支持交互信息对异步消息通讯json规范(如图3图4所示)来获得和回传工作流参数集。
22.如图1所示,本发明参照如下步骤:步骤s1:应用功能模块间的协作次序和协作逻辑由工作流平台的流程定义模型表达并在模型实例化后运行,任意一个应用功能模块都与流程定义模型中的一个应用功能型活动相对应,它们构成一组能进行异步消息通讯的交互信息对;
23.步骤s2:当工作流平台的流程定义模型实例化并激活应用功能型活动后,即该活动实例化,工作流平台将该活动作为流程断点并通过接口以异步方式将工作流参数集消息传递给应用功能模块,应用功能模块通过工作流参数集中的模块共享参数进行功能协作业务的表达。
24.步骤s3:应用功能模块执行完成后再将工作流参数集消息以异步方式通过接口回传给工作流平台,工作流平台根据回传工作流参数集获取流程定义模型实例断点并激活后续活动。
25.步骤s4:如果激活的活动为应用功能型活动,重复步骤s2-步骤s3,从而实现不同应用功能模块间的协作。
26.在步骤s1中,首先需要在工作流平台中定义含有应用功能型实体活动的流程定义模型。为每个应用功能模块在工作流平台中进行注册,对流程中的每个应用功能型活动绑定一个注册的应用功能模块、一个活动主题监听程序和一个模块主题监听程序;从而构造出如步骤s1所述的能进行异步消息通讯的交互信息对关系;工作流平台通过接口为每组交互信息对配置异步通讯通道:在消息中间件中配置活动主题和模块主题,活动主题是消息从工作流平台传递给应用功能模块的通道,模块主题是消息从应用功能模块回传给工作平台的通道;活动主题topic为流程定义编号,tag为应用功能型活动定义编号,模块主题topic为流程定义编号,tag为模块编号;为活动主题绑定一个活动订阅程序用于激活相应的应用功能模块,为模块主题绑定一个功能模块订阅程序用于向工作流平台接口发送回传的工作流参数集;当流程模型中的交互信息对配置更改后,同步更新异步通讯通道。图1中的ⅰ代表该配置过程和更新过程。
27.在步骤s2中,仅当所述的流程定义模型实例化后激活的应用功能型活动与相应的应用功能模块才构成能进行异步消息通讯的交互信息对,此时工作流平台通过接口根据流程定义号和应用功能型活动定义编号向中间件活动主题发送工作流参数集消息(图1中的1代表该过程),其所用的json格式如图3所示。活动主题订阅程序收到消息后(图1中的2代表该过程),解析消息格式内容,激活工作流参数中相应名称的应用功能模块并向其发送如图3所示的json格式工作流参数。
28.在步骤s3中,应用功能模块执行完毕后,将生成回传工作流平台的工作流参数消息,其json格式如图4所示,此时应用功能模块根据传入的工作流定义号和模块注册号将回传工作流参数集消息发送给模块主题上(图1中的

代表该过程),模块主题订阅程序接收消息并通过工作流平台接口回传工作流参数集(图1中的

代表该过程),工作流平台根据回传工作流参数集的流程实例号和活动实例号获取流程定义模型实例断点并激活后续活动。
29.在步骤s4中,应用功能模块间可通过模块共享参数的读写在不同应用功能模块间共享信息,进而表达协作功能。如果流程数据或业务数据中的任何一种关系数据库存储操作失败,因它们已构成一个事务,流程数据和业务数据都将回滚,流程断点的状态保持不变,即后续活动不会被激活。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献