基于流程图的流程化业务实现方法和装置制造方法及图纸

技术编号:11951113 阅读:102 留言:0更新日期:2015-08-26 19:44
本发明专利技术实施例公开了一种基于流程图的流程化业务实现方法和装置。所述方法包括:根据已编辑的业务流程图,生成可扩展标记语言XML格式的业务流程文件,所述业务流程文件中的所有XML标记构成所述业务流程图定义的业务逻辑;将所述XML格式的业务流程文件转化为任意一种程序语言文件,所述程序语言文件中的业务逻辑为所述业务流程图定义的业务逻辑;将所述程序语言文件加载到对应的运行环境中运行,以便在运行所述程序语言文件时执行所述业务流程图定义的业务逻辑。根据本发明专利技术实施例,可以解决现有技术中流程化业务的实现方式中由于需要执行过多的IO操作而导致应用服务器的系统开销浪费的问题。

【技术实现步骤摘要】

本专利技术涉及计算机应用
,特别是涉及基于流程图的流程化业务实现方法和装置
技术介绍
随着业务的扩大、需求变更的增多,往往导致业务代码变得臃肿,与此同时,业务代码中的业务逻辑也变得复杂,从而也使软件开发人员不容易对业务代码进行维护。为了解决业务代码不易维护的问题,目前,很多应用系统通过一些流程工具(如,比较流行的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文件编译为类文件。在本专利技术实施方式的第二方面中,提供了一种基于流程图的流程化业务实现装置,包括:生成模块,用于根据已编辑的业务流程图,生成可扩展标记语言XML格式的业务流程文件,所述业务流程文件中的所有XML标记构成所述业务流程图定义的业务逻辑;转化模块,用于将所述XML格式的业务流程文件转化为任意一种程序语言文件,所述程序语言文件中的业务逻辑为所述业务流程图定义的业务逻辑;运行模块,用于将所述程序语言文件加载到对应的运行环境中运行,以便在运行所述程序语言文件时执行所述业务流程图定义的业务逻辑。结合本专利技术实施方式的第二方面,本专利技术实施方式还具有第一种可能,即所述XML格式的业务流程文件为具有预设的后缀名,所述后缀名用于流程设计器的识别。结合本专利技术实施方式的第二方面,本专利技术实施方式还具有第二种可能,即所述程序语言文件为Java文件,所述对应的运行环境为Java运行环境。结合本专利技术实施方式的第二方面的第二种可能,本专利技术实施方式还具有第三种可能,即所述业务流程文件中的各个XML标记标注所述业务流程图中的各个流程节点和流程上下文的Java语言元素。结合本专利技术实施方式的第二方面的第三种可能,本专利技术实施方式还具有第四种可能,即所述转化模块包括:提取子模块,用于从所述XML格式的业务流程文件中的各个XML标记中提取各个流程节点和流程上下文的Java语言元素;生成子模块,用于根据各个流程节点和流程上下文的Java语言元素,生成各个流程节点和流程上下文的Java代码片段;组合子模块,用于将各个流程节点和流程上下文的Java代码片段组合成一个Java文件。结合本专利技术实施方式的第二方面的第二种可能,本专利技术实施方式还具有第五种可能,即所述运行模块包括:编译子模块,用于将所述Java文件编译为类文件;装载子模块,用于将所述类文件作为内存对象装载在内存中执行,以便在执行所述内存对象的方法时执行所述业务流程图定义的业务逻辑。结合本专利技术实施方式的第二方面的第五种可能,本专利技术实施方式还具有第六种可能,即所述编译子模块具体用于,在应用程序启动时,将所述Java文件编译为类文件;或者,所述编译子模块具本文档来自技高网
...

【技术保护点】
一种基于流程图的流程化业务实现方法,其特征在于,包括:根据已编辑的业务流程图,生成可扩展标记语言XML格式的业务流程文件,所述业务流程文件中的所有XML标记构成所述业务流程图定义的业务逻辑;将所述XML格式的业务流程文件转化为任意一种程序语言文件,所述程序语言文件中的业务逻辑为所述业务流程图定义的业务逻辑;将所述程序语言文件加载到对应的运行环境中运行,以便在运行所述程序语言文件时执行所述业务流程图定义的业务逻辑。

【技术特征摘要】
1.一种基于流程图的流程化业务实现方法,其特征在于,包括:
根据已编辑的业务流程图,生成可扩展标记语言XML格式的业务流程文
件,所述业务流程文件中的所有XML标记构成所述业务流程图定义的业务逻
辑;
将所述XML格式的业务流程文件转化为任意一种程序语言文件,所述程
序语言文件中的业务逻辑为所述业务流程图定义的业务逻辑;
将所述程序语言文件加载到对应的运行环境中运行,以便在运行所述程
序语言文件时执行所述业务流程图定义的业务逻辑。
2.根据权利要求1所述的方法,其特征在于,所述XML格式的业务流
程文件为具有预设的后缀名,所述后缀名用于流程设计器的识别。
3.根据权利要求1所述的方法,其特征在于,所述程序语言文件为Java
文件,所述对应的运行环境为Java运行环境。
4.根据权利要求3所述的方法,其特征在于,所述业务流程文件中的各
个XML标记标注所述业务流程图中的各个流程节点和流程上下文的Java语
言元素。
5.根据权利要求4所述的方法,其特征在于,所述将所述XML格式的
业务流程文件转化为Java文件,所述Java文件中的业务逻辑为所述业务流程
文件定义的业务逻辑,包括:
从所述XML格式的业务流程文件中的各个XML标记中提取各个流程节
点和流程上下文的Java语言元素;
根据各个流程节点和流程上下文的Java语言元素,生成各个流程节点和
流程上下文的Java代码片段;
将各个业务流程节点和流程上下文的Java代码片段组合成一个Java文
件。
6.根据权利要求3所述的方法,其特征在于,所述将所述Java文件加载
到Java运行环境中运行,以便在运行所述Java文件时执行所述业务流程定义
的业务逻辑,包括:
将所述Java文件编译为类文件;
将所述类文件作为内存对象装载在内存中执行,以便在执行所述内存对

\t象的方法时执行所述业务流程图定义的业务逻辑。
7.根据权利要求6所述的方法,其特征在于,所述将所述Java文件编译
为类文件具体为:
在应用程序启动时,将所述Java文件编译为类文件;
或者,
响应于应用程序对所述业务流程图定义的业务逻辑的调用...

【专利技术属性】
技术研发人员:丁一墙辉
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1