[发明专利]基于流程图的流程化业务实现方法和装置在审
申请号: | 201410067090.6 | 申请日: | 2014-02-26 |
公开(公告)号: | CN104866298A | 公开(公告)日: | 2015-08-26 |
发明(设计)人: | 丁一;墙辉 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 流程图 流程 业务 实现 方法 装置 | ||
技术领域
本发明涉及计算机应用技术领域,特别是涉及基于流程图的流程化业务实现方法和装置。
背景技术
随着业务的扩大、需求变更的增多,往往导致业务代码变得臃肿,与此同时,业务代码中的业务逻辑也变得复杂,从而也使软件开发人员不容易对业务代码进行维护。
为了解决业务代码不易维护的问题,目前,很多应用系统通过一些流程工具(如,比较流行的jbpm和activity开源流程框架)实现流程化业务。具体实现方式为:软件开发人员先借助于流程工具绘制业务流程图,并且,根据业务流程图中各流程节点的业务逻辑,编写对应的Java代码片段。应用服务器根据业务流程图中各流程节点的上下游关系进行流转,每到达一个流程节点时,需要先读取该流程节点的状态和相关信息,然后根据该流程节点的相关信息调用该流程节点对应的Java代码片段,最后还要根据Java代码片段的执行结果更新该流程节点的状态和相关信息。
但是,本发明的发明人在研究中发现,这种流程化业务的实现方式适用于各流程节点的业务逻辑不需要连续执行,并且流程节点之间有人工参与的情况。而对于各流程节点的业务逻辑需要连续执行,并且流程节点之间无需人工参与的情况,这种流程化业务的实现方式需要应用服务器在每执行一个流程节点的业务逻辑时,都要读取该流程节点的状态和相关信息、调用该流程节点对应的Java代码片段,以及根据Java代码片段的执行结果更新该流程节点的状态和相关信息,也就是说,应用服务器在每执行一个流程节点的业务逻辑都需要执行多次IO操作,而这些IO操作会浪费应用服务器过多的系统开销。
发明内容
为了解决上述技术问题,本发明实施例提供了基于流程图的流程化业务实现方法和装置,以解决现有技术中流程化业务的实现方式中由于需要执行过多的IO操作而导致应用服务器的系统开销浪费的问题。
在本发明实施方式的第一方面中,提供了一种基于流程图的流程化业务实现方法,包括:
根据已编辑的业务流程图,生成可扩展标记语言XML格式的业务流程文件,所述业务流程文件中的所有XML标记构成所述业务流程图定义的业务逻辑;
将所述XML格式的业务流程文件转化为任意一种程序语言文件,所述程序语言文件中的业务逻辑为所述业务流程图定义的业务逻辑;
将所述程序语言文件加载到对应的运行环境中运行,以便在运行所述程序语言文件时执行所述业务流程图定义的业务逻辑。
结合本发明实施方式的第一方面,本发明实施方式还具有第一种可能,即所述XML格式的业务流程文件为具有预设的后缀名,所述后缀名用于流程设计器的识别。
结合本发明实施方式的第一方面,本发明实施方式还具有第二种可能,即所述程序语言文件为Java文件,所述对应的运行环境为Java运行环境。
结合本发明实施方式的第一方面的第二种可能,本发明还具有第三种可能,即所述业务流程文件中的各个XML标记标注所述业务流程图中的各个流程节点和流程上下文的Java语言元素。
结合本发明实施方式的第一方面的第三种可能,本发明实施方式还具有第四种可能,即所述将所述XML格式的业务流程文件转化为Java文件,所述Java文件中的业务逻辑为所述业务流程文件定义的业务逻辑,包括:
从所述XML格式的业务流程文件中的各个XML标记中提取各个流程节点和流程上下文的Java语言元素;
根据各个流程节点和流程上下文的Java语言元素,生成各个流程节点和流程上下文的Java代码片段;
将各个业务流程节点和流程上下文的Java代码片段组合成一个Java文件。
结合本发明实施方式的第一方面的第二种可能,本发明实施方式还具有第五种可能,即所述将所述Java文件加载到Java运行环境中运行,以便在运行所述Java文件时执行所述业务流程定义的业务逻辑,包括:
将所述Java文件编译为类文件;
将所述类文件作为内存对象装载在内存中执行,以便在执行所述内存对象的方法时执行所述业务流程图定义的业务逻辑。
结合本发明实施方式的第一方面的第五种可能,本发明实施方式还具有第六种可能,即所述将所述Java文件编译为类文件具体为:
在应用程序启动时,将所述Java文件编译为类文件;
或者,
响应于应用程序对所述业务流程图定义的业务逻辑的调用请求,将所述Java文件编译为类文件。
在本发明实施方式的第二方面中,提供了一种基于流程图的流程化业务实现装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410067090.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种控制方法及电子设备
- 下一篇:一种基于Android的手机2D游戏引擎