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

文档序号:9843928阅读:345来源:国知局
一种工作流引擎动态切换的模型驱动控制系统的制作方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别是涉及一种工作流引擎动态切换的模型驱动控制系统。
【背景技术】
[0002]工作流引擎系统是应用软件领域一个重要组成部分,它依据用户、角色、分工和条件的不同,决定了信息传递路由方案。根据应用的不同,工作流引擎传统划分为审批流和工作流:审批流解决了对业务单据审批流程的定义,业务单据可以根据规定的业务流程进行审批流转。工作流将工作中的项目抽象为工作项,依照业务的前后作业顺序进行自动化执行。提供一套审批流与工作流集成的通用应用系统,有利于统一模型资源,节省实施成本。
[0003]随着2011年8?1^2.0规范的发布,Activiti作为新一代工作流和业务流程管理开源平台,通过定义流程的元模型和执行语义,实现了自身解决存储、交换和执行的问题,完成了业务单据与流程引擎的解耦。Activiti以其开放性、伸缩性,已经在当前工作流引擎领域占据重要地位。
[0004]作为一种灵活性强、可伸缩能力强、开发态无关的模型驱动产品,自定义表单系统可以适应不同应用场景对业务对象模型的需求,当客户需求发生改变时,可以通过改变模型字段的方式实现运行态修改表,也可以在线设计页面,还可以通过系统扩展机制,改变业务对象生命周期不同阶段的行为,最大限度拟合用户纷繁多杂的需求。
[0005]随着工作流引擎版本的不断推衍,随着企业信息化程度的不断加深,提升传统ERP软件的可扩展能力成为重要环节,而降低软件实施成本与个性化能力的提升之间的矛盾愈演愈烈。能够继承企业原有流程资产,不断扩展应用的广度,在继承历史遗产的同时兼容新一代工作流引擎,推进产品繁衍,具有战略性价值。
[0006]同时,提升同一产品的兼容性,根据业务需求平滑更换原有工作流引擎内核,不影响模型层历史数据,有利于成功经验迅速复制、样板客户快速模仿,提升知识传播的速度,保证原有系统的稳定性。
[0007]现有技术中,公开号为CN101246421的《一种基于工作流引擎实现的通用框架》,该发明设计了一种基于工作流引擎实现的通用框架,实现一种行为可改变的通用性的框架,但该发明抽象度较高,不能实现运行态切换工作流引擎。
[0008]公开号为CN101286215的《同时支持人工流和自动流的工作流引擎》,该专利技术针对工作流引擎的技术架构领域,提出一种同时支持人工流和自动流的工作流引擎,该发明描述完备,但不能实现运行态切换工作流引擎。
[0009]公开号为CN201010278639.8的《一种用于工作流模型的表单自动生成方法》,该该发明公开了一种用于工作流模型的表单自动生成方法,将工作流模型中的相关业务数据,按照需求灵活地定义表单,实现表单自动生成且能按照权限进行读写控制,该发明较完备解释了系统的构建流程,但无法做到工作流引擎切换。
[0010]公开号为CN201210097825.0的《一种支持在线自演化的动态工作流引擎》,该发明为分布式网络环境下工作流的动态处理和自演化提供一种有效的解决方案。但其侧重工作项组件的变更。
[0011]公开号为CN101216770的《一种工作流引擎》,本发明提供了一个可配置的业务逻辑运算控制器,由Scrip负责具体的业务逻辑,使工作流引擎与业务逻辑完全解耦解决了传统工作流扩展性不佳的问题。但该发明侧重运行态展现形态变更。
[0012]随着历史的推进,工作流引擎不断更新换代,流程定义方式、流程服务接口、数据传输方式、安装部署方式都会发生改变。同时随着产品适用场景的需求推动,越来越多的场景也对产品的扩展能力提出更高要求。
[0013]软件设计中的开闭原则指出,当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。由此可以得出待解决的技术问题:当工作流引擎系统不断推衍,自定义表单应用领域不断扩展,如何最大限度实现自定义表单系统与工作流引擎的解耦,实现业务系统的深层次抽象,用合理的抽象保证架构的稳定性,同时客户的变化是永恒的,面对应用中需要变化的领域,由具体的派生实现具体的细节,在细节对应的不同时机,通过反射机制调用特性服务类,完成该特性所具有的行为。

【发明内容】

[0014]本发明的目的在于:针对现有技术中存在的上述技术问题和待结局的技术问题,提供了同一种业务对象模型兼容多种工作流引擎,实现了具有模型统一、工作流引擎可独立部署、同时支撑审批流与工作流、数据交换方式无关、渲染技术无关的自定义表单系统,将二次开发成本降为最低,实施态只需绑定不同特性,即可完成审批流与工作流、基于BPMN不同版本引擎的切换。
[0015]本发明是通过以下技术方案实现的:1、一种工作流引擎动态切换的模型驱动控制系统,其特征在于:自定义表单通过对业务单据生命周期不同时机的抽象;在单据模型发布阶段,执行发布元数据操作,系统完成了从业务单据模型到元数据模型的转换,自动生成了与单据模型相对应的元数据,同时根据元数据生成了对应的数据库表;在执行发布功能节点阶段,系统自动完成了功能节点、菜单、流程类型查询模板的发布,同时根据客户需要发布套打模板;用户在表单配置中对预生成的系统模板进行个性化配置;在页面渲染阶段,系统在加载页面时读取已分配的个性化模板,如果没有个性化模板,则查找系统模板;页面加载完毕,用户根据预先定义的类型进行单据操作。
[0016]进一步,所述的执行发布功能节点阶段,系统调用UI生成器,完成了系统模板的创建。
[0017]进一步,对业务单据生命周期分析的行为包括:工作流定义的绑定、单据信息的收集和工作流审批面板的过程;在业务单据生命周期的不同时期,抽象出统一的接口,以抽象工厂的方式实现不同工作流引擎对单据行为的改变,以及单据信息收集对工作流引擎流转的影响。
[0018]进一步,所述的业务单据生命周期中不变的属性以及稳定的行为封装为一系列特性接口,当实施人员需要切换不同的特性时,只需通过图形化界面进行特性的切换。
[0019]进一步,自定义表单系统与工作流引擎的解耦过程如下:
(I)工作流引擎的选取; (2)流程定义绑定;
(3)流程审批面板渲染;
(4)流程参数收集;
(5)流程运行。
[0020]进一步,所述的工作流引擎分为三种:审批流引擎、工作流引擎和基于BPMN2.0的工作流引擎;
所述的审批流引擎是一种基于jBPM的审批流引擎,该引擎独立提供流程设计器进行的定义,提供接口进行流程弓I擎的审批流转;
所述的工作流引擎是一种基于jBPM的工作流引擎,该引擎独立提供工作流设计及定义,提供接口驱动工作流任务执行;
所述的基于BPMN2.0的工作流引擎独立提供工作流设计及定义,独立部署,通过Restful编程方式进行信息传递,驱动工作流引擎执行。
[0021]每种工作流引擎提供了图形化设计器,方便运行态进行流程对象的设计,预置流程的活动、活动的连接方式、活动的方式及活动的承担者四个基本要素。通过图形化设计器设计流程,即完成了流程定义的过程。
[0022]
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1