一种工作流引擎动态切换的模型驱动控制系统的制作方法_2

文档序号:9843928阅读:来源:国知局
在模型设计阶段,自定义表单以参照的形式提供了对流程定义的关联关系参考,同时可以依据当前自定义表单系统的用户、权限等资源,对流程定义进行过滤;选取了某个流程定义,即完成了单据模型与流程定义之间一对一的关联关系。
[0023]所述的页面渲染是对页面解析之后的语法树进行位置样式计算,生成展现在浏览器中的最终样式;在页面加载阶段,本方案针对每种工作流引擎的不同,封装为统一的审批面板。审批面板的封装实现了对外的统一性与内部的差异性;通过对外的统一性与内部的差异性的封装,本方案解决了行为的抽象与特性的具体实现,隔离了各工作流引擎的不同,从而为多流程引擎的切换打下基础。
[0024]在单据运行过程中,单据的一个实例与流程实例之间具有一对一的关系,单据通过记录流程定义、流程实例,实现每一条记录与流程每一条实例的绑定关系;用户进入单据时,已经提前确定了流程定义、流程实例与当前用户,通过对参数集合的统一收集封装,可以调用流程相关接口,判断出流程的相关状态,进而对流程面板进行相应改变。
[0025]所述的步骤(5)流程运行阶段,由于步骤(3)与步骤(4)对差异的封装,流程审批面板的展现形式不同,在流程不同环节,通过不同的条件驱动流程流转。流程响应服务的封装,针对不同的动作,步骤(3)在单据上收集了不同的流程相关信息,步骤(4)实现了服务无关的流程参数传递。
[0026]在后台实现流程驱动的业务逻辑时,将流程事件响应模型进行封装,由每种流程特性的服务类实现真正的流程启动、提交及加签、改派、回退、会签以及其他的工作项任务,单据时间模型面向抽象编程,不进行真正的业务逻辑操作。
[0027]综上所述,由于采用了上述技术方案,本发明的有益效果是:
1、本发明真正实现了同一套业务数据模型对多套工作流引擎的运行态支撑,只需绑定特性即可完成工作流引擎内核的切换,成功解决了 ECM、HCM、CRM、房地产、财务共享等多种领域的个性化需求,实现了自定义表单系统适用领域范围的扩大和工作流引擎能力的提升,为丰富产品体系结构、快速响应客户化需求、已有实施经验快速传播提供了有力支撑。
[0028]2、本发明实现了一种伸缩性好、可扩展性能力强的自定义表单系统,在同行业管理系统软件中具有一定的技术优势;已经在ECM、HCM、CRM、房地产等多个行业领域积累了百余个大型项目、万余张真实单据的实施经验,通过多个项目验证了方案的可行性与市场价值。
【附图说明】
[0029]本发明将通过例子并参照附图的方式说明,其中:
图1为本发明的自定义表单体系结构示意图;
图2为本发明的流程引擎步骤阶段抽象示意图。
【具体实施方式】
[0030]本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
[0031]本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
[0032]具体实施方案,自定义表单通过对业务单据生命周期不同时机的抽象,实现了由特殊到普遍的统一和升华。完成了对大多数业务单据的模型和行为的统一抽象。在单据模型发布阶段,执行发布元数据操作,系统完成了从业务单据模型到元数据模型的转换,自动生成了与单据模型相对应的元数据,同时根据元数据生成了对应的数据库表。在执行发布功能节点阶段,系统自动完成了功能节点、菜单、流程类型查询模板的发布,同时根据客户需要发布套打模板。同样是在这个阶段,系统调用UI生成器,完成了系统模板的创建。用户可以在表单配置中对预生成的系统模板进行个性化配置。在页面渲染阶段,系统在加载页面时读取已分配的个性化模板,如果没有个性化模板,则查找系统模板。页面加载完毕,用户可以根据预先定义的类型进行单据操作。
[0033]本发明的系统通过分析业务单据生命周期中的行为,重点分析了工作流定义的绑定、单据信息的收集、工作流审批面板的过程,在业务单据生命周期的不同时期,抽象出统一的接口,以抽象工厂的方式实现不同工作流引擎对单据行为的改变,以及单据信息收集对工作流引擎流转的影响。
[0034]如图1所示的,给出了自定义表单对单据行为的抽象,以及自定义表单系统与工作流引擎的结构关系。
[0035]如图2所示的,本发明的系统通过以下阶段的抽象实现了自定义表单系统与工作流引擎的解耦:步骤流程如下:
(I)工作流引擎的选取
本发明的系统将单据生命周期中不变的属性以及稳定的行为封装为一系列特性接口,具有完全相似行为的特性接口族定义为一种特性。当实施人员需要切换不同的特性时,只需通过图形化界面进行特性的切换。
[0036]特性切换实现了工厂实例的改变,从而影响单据生命周期行为的改变。工作流引擎选取的过程,也就是特性选择过程,根据项目的真实需求,将目前系统的工作流引擎分为二种:1审批流是一种基于jBPM的审批流引擎,该引擎独立提供流程设计器进行的定义,提供接口进行流程弓I擎的审批流转。
[0037]I工作流是一种基于jBPM的工作流引擎,该引擎独立提供工作流设计及定义,提供接口驱动工作流任务执行。
[0038]I基于BPMN2.0的工作流引擎,该引擎独立提供工作流设计及定义,独立部署,通过Restful编程方式进行信息传递,驱动工作流引擎执行。
[0039]根据工作流引擎的不同,定义出特性基本信息,如名称、描述等,以及对应的特性服务类,插入到特性表里。特性服务类通过抽象工厂的调用,完成对单据生命周期中模型的改变以及行为的干预。
[0040]在模型设计时,高级用户(也就是领域专家)通过分析场景,选取响应的工作流引擎模型,对系统进行系统预置特性的绑定与解除,改变了系统在其生命周期不同阶段的行为特征,实现了系统的可伸缩性。当用户的需求发生改变时,进行绑定系统预置的特性的改变,即可完成系统行为的改变。
[0041](2)流程定义绑定
每种工作流引擎提供了图形化设计器,方便运行态进行流程对象的设计,预置流程的活动、活动的连接方式、活动的方式及活动的承担者四个基本要素。通过图形化设计器设计流程,即完成了流程定义的过程。
[0042]在模型设计阶段,自定义表单以参照的形式提供了对流程定义的关联关系参考,同时可以依据当前自定义表单系统的用户、权限等资源,对流程定义进行过滤。选取了某个流程定义,即完成了单据模型与流程定义之间一对一的关联关系。
[0043](3)流程审批面板渲染
页面渲染是对页面解析之后的语法树进行位置样式计算,生成展现在浏览器中的最终样式。
[0044]由于工作流引擎的不同,导致直观上用户审批面板的功能有所不同、用户最终可控制流程交互的行为有差异,同时在单据生命周期的不同阶段,流程审批面板的形态各异。脚本语言JavaScript提供了对语法树行为的改变,帮助系统进行页面的改变。
[0045]基于以上的背景,在页面加载阶段,本方案针对每种工作流引擎的不同,封装为统一的审批面板。审批面板的封装实现了对外的统
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1