[发明专利]遵循XPDL规范工作流中间件流程定义管理方法无效
申请号: | 200910230969.7 | 申请日: | 2009-11-27 |
公开(公告)号: | CN101702217A | 公开(公告)日: | 2010-05-05 |
发明(设计)人: | 何忠胜;姜健;戴海宏 | 申请(专利权)人: | 山东中创软件工程股份有限公司;山东中创软件商用中间件股份有限公司 |
主分类号: | G06Q10/00 | 分类号: | G06Q10/00 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 苗峻 |
地址: | 250014 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 遵循 xpdl 规范 工作流 中间件 流程 定义 管理 方法 | ||
技术领域
本发明涉及一种遵循XPDL规范工作流中间件流程定义管理方法,属于中间件技术架构领域,特别是在工作流模板管理的技术架构领域。
背景技术
针对工作流中间件,目前国内大部分应用场景,仍然是需要人工参与流程的场景,属于人机信息处理系统;例如:政府、金融、电信等行业的办公自动化过程。这个实际情况也注定国内多数工作流产品都基于XPDL规范进行实现。
XPDL(XML Process Definition Language)属于一种定义语言,需要工作流引擎去解析才能确保流程按照此定义规则进行运行。工作流引擎解析这些XPDL流程定义过程,需要遵循一个机制,实现针对某个流程定义进行不同版本的管理。
早期,工作流中间件发展尚不成熟,流程定义过程没有什么语言可遵循,流程定义管理也没有什么版本的说法,各工作流产品按照各自对工作流定义模型的理解,分别创建流程相关元素的表结构;定义过程直接通过操作数据库中流程定义表的方式对流程进行定义,一般仅记录最新的流程定义;运行过程没有新老版本的区分,所有流程实例都依据数据库中记录的流程定义信息进行运行。
随着工作流中间件技术的不断发展,XPDL规范的诞生,工作流产品逐渐走向标准化、规范化,流程定义模板管理思想渐渐成熟,业界普遍遵循的方式为“老用老,新用新”的规则,已创建的流程实例继续使用原流程定义模板,新创建的流程实例使用最新的流程定义模板。此方式引入了流程定义模板管理的思想,同一个流程定义在不同时期的处理规则不尽相同,而把每个时期的流程定义以模板的形式保存,方便以后追溯历史数据的时候有当时的流程定义模板作为处理依据!这种方式被多数用户所认可,同时也被多数工作流产品所采用。
然而,这种“老用老,新用新”的规则,在现实的生产环境下,有时无法满足复杂的场景需求!例如:某个企事业单位的审批流程,其中某个审批流程实例需要特事特办,需要在其原有审批环节中增加一个新的环节,而这个环节又只有当前这个审批流程实例下才需要执行,后续再发起的其他审批流程不一定走此新增环节。针对此需求进行分析,首先因为此流程需要增加新的节点,必然要修改流程定义,否则流程实例运行过程中将无据可依;然后,需要将此新定义的流程导入到数据库中(以模板形态保存),将新产生一个模板。如果流程定义模板管理有“老用老,新用新”的规则限制,那么后续发起的流程实例都要走此特事特办的流程定义模板,这样就违背了此特事特办需求的初衷,新创建的审批流程实例需要仍然按照老的模板去运行!
为应对现实生活中的复杂需求,我们需要打破原有流程定义模板管理规则“老用老,新用新”的禁锢,老的流程实例不一定非得使用老的流程定义模板,新创建的流程实例不一定非得使用新的流程定义模板。
发明内容
本发明的目的就是针对上述的不足,打破原有流程定义模板管理规则“老用老,新用新”的禁锢,提供了一种更好的流程定义模板管理规则,吸取已有“老用老,新用新”流程定义模板管理规则的精华,加以改造更好地实现现实生活中对流程定义模板管理的复杂需求。
一种遵循XPDL规范工作流中间件流程定义管理方法,包括如下步骤:
1)流程定义导入:将定义好的流程定义导入到工作流引擎数据库中,以供工作流引擎通过此流程定义发起流程实例,运行时流程实例按照流程定义中的规则进行运行;一个流程定义在不同的处理时期以不同的流程定义模板形式存在,运行时不同时期的流程实例按照各自时期所对应流程定义模板运行;
2)流程实例创建:按照流程定义模板的状态和版本标志查找出能够发起流程实例的流程定义模板,发起流程实例;
3)流程定义模板禁用/启用:对流程定义模板的有效性进行控制,以控制把哪些流程定义模板加载到工作流引擎中;
4)流程实例模板修改:动态修改某个流程实例模板的定义内容,以供流程实例运行时按照新的流程定义模板运行;
5)流程定义模板卸载:卸载掉不再使用的流程定义模板,避免垃圾流程定义模板的存在。
具体来说,所述第1)步流程定义导入是这样的:
1-1)不存在该流程定义的模板,则新增加一条流程定义模板,将该流程定义模板的标志字段设置成已导入状态;
1-2)存在该流程定义的模板,并且该流程定义模板没有被流程实例引用,则覆盖该流程定义模板;
1-3)存在该流程定义的模板,并且该流程定义模板的标志字段为已被单引用(已被一个流程实例引用),则首先将该流程定义模板的标志字段设置成已被单实例化状态,然后再增加一条新的流程定义模板,并将新增流程定义模板的标志字段设置成已导入状态;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东中创软件工程股份有限公司;山东中创软件商用中间件股份有限公司,未经山东中创软件工程股份有限公司;山东中创软件商用中间件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910230969.7/2.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理