CN104866298A - 基于流程图的流程化业务实现方法和装置 - Google Patents

基于流程图的流程化业务实现方法和装置 Download PDF

Info

Publication number
CN104866298A
CN104866298A CN201410067090.6A CN201410067090A CN104866298A CN 104866298 A CN104866298 A CN 104866298A CN 201410067090 A CN201410067090 A CN 201410067090A CN 104866298 A CN104866298 A CN 104866298A
Authority
CN
China
Prior art keywords
file
java
flow
business process
service logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410067090.6A
Other languages
English (en)
Inventor
丁一
墙辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410067090.6A priority Critical patent/CN104866298A/zh
Publication of CN104866298A publication Critical patent/CN104866298A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

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

Description

基于流程图的流程化业务实现方法和装置
技术领域
本发明涉及计算机应用技术领域,特别是涉及基于流程图的流程化业务实现方法和装置。
背景技术
随着业务的扩大、需求变更的增多,往往导致业务代码变得臃肿,与此同时,业务代码中的业务逻辑也变得复杂,从而也使软件开发人员不容易对业务代码进行维护。
为了解决业务代码不易维护的问题,目前,很多应用系统通过一些流程工具(如,比较流行的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文件编译为类文件;或者,所述编译子模块具体用于,响应于应用程序对所述业务流程图定义的业务逻辑的调用请求,将所述Java文件编译为类文件。
由上述实施例可以看出,与现有技术相比,本发明的优点在于:
先根据业务流程图定义的业务逻辑,生成一个XML格式的业务流程文件,再将XML格式的业务流程文件转化为一个程序语言文件,如,Java文件。对于应用服务器而言,当可以将该程序语言文件直接加载到对应的运行环境中运行,如,Java文件加载到Java运行环境中。这样就可以在运行该程序语言文件时连续执行业务流程图定义的业务逻辑,因此,应用服务器不需要执行过多IO操作,从而避免了因执行过多的IO操作而导致应用服务器的系统开销浪费的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种基于流程图的流程化业务逻辑实现方法的流程图;
图2为本发明中通过标签定义流程节点“支付宝代扣”的Java语言元素的操作示意图;
图3为本发明中通过标签定义流程上下文的Java语言元素的操作示意图;
图4为本发明中一种将XML格式的业务流程文件转化为Java文件的方法的流程图;
图5为本发明实施例二提供的另一种基于流程图的流程化业务实现方法的流程图;
图6为本发明实施例三提供的一种基于流程图的流程化业务实现装置的结构图;
图7为本发明中的转化模块的一个结构示意图。
具体实施方式
本发明实施例提供了基于流程图的流程化业务实现方法和装置。在本发明的一个具体实施例中,每当开发人员编辑完成一个业务流程图之后,应用服务器只需要先根据该业务流程图定义的业务逻辑,生成一个XML(可扩展标记语言,Extensible Markup Language)格式的业务流程文件(该业务流程文件中的所有XML标记构成该业务流程图定义的业务逻辑),然后再将该XML格式的业务流程文件直接转化为一个程序语言文件(该程序语言文件中的业务逻辑即为该业务流程图定义的业务逻辑)。之后,应用服务器只要将该程序语言文件加载到对应的运行环境中,就可以由对应的运行环境在运行该程序语言件时执行业务流程图定义的业务逻辑。整个过程无需应用服务器执行过多的IO操作,因此,也就避免了由于执行过多的IO操作而导致应用服务器的系统开销浪费的问题。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例进行详细描述。
实施例一
请参阅图1,其为本发明实施例一提供的一种基于流程图的流程化业务实现方法的流程图,该方法包括以下步骤:
步骤101:根据已编辑的业务流程图,生成XML格式的业务流程文件,所述业务流程文件中的所有XML标记构成所述业务流程图定义的业务逻辑。
软件开发人员通过在流程设计器中拖拽流程节点以及定义每个流程节点和流程上下文的Java语言元素的方式,编辑一个业务流程图。
例如,当拖住一个开始节点到流程设计器的编辑界面时,生成的XML格式源文件片段的内容为:
<start id=″1″name=″开始节点″g=″43,16,40,40″>
    <transition g=″:-15,20″to=″3″/>
  </start>
其中,id表示开始节点的唯一标识,name为开始节点的名称,g为开始节点的二维坐标和长宽信息,Transition表示当前节点的连接线,这里“<transition g=″:-15,20″to=″3″/>”表示从开始节点连接出去的线指向了id为3的节点。
依次类推,XML格式的流程文件就由各种节点和节点连线的源文件片段构成。除此之外,还需要定义流程上下文。其中,定义流程上下文包括定义流程运行前需要传入的变量(即,param变量)、流程运行中的内部变量(即,innter变量)和流程运行后需要返回的变量(即,return变量)。
例如,如图2所示,其为本发明中通过标签定义流程节点“支付宝代扣”的Java语言元素的操作示意图。如图3所示,其为本发明中通过标签定义流程上下文的Java语言元素的操作示意图。
当业务流程图编辑完成后,根据业务流程图中的业务逻辑生成XML格式的业务流程文件,其中,该业务流程文件中的所有XML标记构成业务流程图定义的业务逻辑,该业务流程文件中的各个XML标记标注该业务流程图中的各个流程节点和流程上下文的Java语言元素。
例如,以下为本发明中一个标注流程节点“支付宝代扣”的Java语言元素的XML标记的代码片段。
另外,为了方便区分本发明中的XML格式的业务流程文件与流程设计器中的其它文件,并且,还要保证能够在流程设计器中打开该XML格式的业务流程文件,该XML格式的业务流程文件为具有预设的后缀名。所述后缀名用于流程设计器的识别。
其中,可以通过更改后缀名的方式使XML格式的业务流程文件区别于其它文件。例如,对于目前大多数流程设计器而言,如果XML格式的业务流程文件的后缀名为BPM(Business Process Management,业务流程管理),在不需要对流程设计器进行任何扩展的情况下,该XML格式的业务流程文件既可以区别于其它文件,又可以被流程设计识别。
当然,除了BPM这一形式的后缀名之外,还可以是其它形式的后缀名,当为其他形式的后缀名时,为了使该XML格式的业务流程文件被流程设计器识别,还需要对流程设计器进行一定的扩展。
步骤102:将所述XML格式的业务流程文件转化为任意一种程序语言文件,所述程序语言文件中的业务逻辑为所述业务流程图定义的业务逻辑;
例如,当上述步骤中,该业务流程文件中的各个XML标记标注该业务流程图中的各个流程节点和流程上下文的Java语言元素,业务流程文件转化后的程序语言文件为Java文件。在发明的技术方案中,该业务流程文件中的各个XML标记还可以标注该业务流程图中的各个流程节点和流程上下文的其它语言元素,而业务流程文件最终转化为其它语言文件。
在本发明一个实施方式中,如图4所示,步骤102具体包括:
步骤1021:从所述XML格式的业务流程文件中的各个XML标记中提取各个流程节点和流程上下文的Java语言元素;
步骤1022:根据各个流程节点和流程上下文的Java语言元素,生成各个流程节点和流程上下文的Java代码片段;
例如,以下为本发明中根据流程节点“支付宝代扣”的Java语言元素生成的Java代码片段。
alipayResult=((IWriteOffBillService)Process(onfig.getSpringBean("writeOffBillService")).caeCharge(billDTO,caeRequest);
以下为本发明中根据流程上下文的Java语言元素生成的Java代码片段。
步骤1023:将各个业务流程节点和流程上下文的Java代码片段组合成一个Java文件。
在生成Java文件后,继续流程化业务的实现流程。
步骤103:将所述程序语言文件加载到对应的运行环境中运行,以便在运行所述程序语言文件时执行所述业务流程图定义的业务逻辑。
例如,当该程序语言文件为Java文件时,对应的运行环境为Java运行环境。
由上述实施例可以看出,与现有技术相比,本发明的优点在于:
先根据业务流程图定义的业务逻辑,生成一个XML格式的业务流程文件,再将XML格式的业务流程文件转化为一个程序语言文件,如,Java文件。对于应用服务器而言,当可以将程序语言文件直接加载到对应的运行环境中运行,如,将Java文件直接加载到Java运行环境中。这样就可以在运行程序语言文件时连续执行业务流程图定义的业务逻辑,因此,应用服务器不需要执行过多IO操作,从而避免了因执行过多的IO操作而导致应用服务器的系统开销浪费的问题。
实施例二
在本实施例中,对将Java文件加载到Java运行环境中运行的过程进行详细说明。请参阅图5,其为本发明实施例二提供的另一种基于流程图的流程化业务实现方法的流程图,该方法包括以下步骤:
步骤501:根据已编辑的业务流程图,生成XML格式的业务流程文件,所述业务流程文件中的所有XML标记构成所述业务流程图定义的业务逻辑;
步骤502:将所述XML格式的业务流程文件转化为Java文件,所述Java文件中的业务逻辑为所述业务流程图定义的业务逻辑;
步骤503:将所述Java文件编译为类文件;
其中,可以在应用程序启动时,将所述Java文件编译为类文件。这样可以在应用部署阶段发现编译是否正确,并且,当第一次调用业务流程图定义的业务逻辑时,类文件已经是内存对象,使得应用程序可以更加快速地执行业务逻辑。
除此之外,也可以在响应于应用程序对业务流程图定义的业务逻辑的调用请求,将所述Java文件编译为类文件。
步骤504:将所述类文件作为内存对象装载在内存中执行,以便在执行所述内存对象的方法时执行所述业务流程图定义的业务逻辑。
由上述实施例可以看出,与现有技术相比,本发明的优点在于:
先根据业务流程图定义的业务逻辑,生成一个XML格式的业务流程文件,再将XML格式的业务流程文件转化为一个程序语言文件,如,Java文件。对于应用服务器而言,当可以将该程序语言文件直接加载到对应的运行环境中运行,如,将Java文件直接加载到Java运行环境中运行。这样就可以在运行程序语言文件时连续执行业务流程图定义的业务逻辑,因此,应用服务器不需要执行过多IO操作,从而避免了因执行过多的IO操作而导致应用服务器的系统开销浪费的问题。
实施例三
与上述一种基于流程图的流程化业务实现方法相对应,本发明实施例还提供了一种基于流程图的流程化业务实现装置。请参阅图6,其为本发明实施三提供的一种基于流程图的流程化业务实现装置的结构图,该装置包括:生成模块601、转化模块602和运行模块603。下面结合该装置的工作原理进一步介绍其内部结构以及连接关系。
生成模块601,用于根据已编辑的业务流程图,生成可扩展标记语言XML格式的业务流程文件,所述业务流程文件中的所有XML标记构成所述业务流程图定义的业务逻辑;
转化模块602,用于将所述XML格式的业务流程文件转化为任意一种程序语言文件,所述程序语言文件中的业务逻辑为所述业务流程图定义的业务逻辑;
运行模块603,用于将所述程序语言文件加载到对应的运行环境中运行,以便在运行所述程序语言文件时执行所述业务流程图定义的业务逻辑。
在本发明的一个优选实施方式中,所述XML格式的业务流程文件为具有预设的后缀名且可被流程设计器识别的文件。
在本发明的一个优选实施方式中,所述程序语言文件为Java文件,所述对应的运行环境为Java运行环境。
在本发明的一个优选实施方式中,所述业务流程文件中的各个XML标记标注所述业务流程图中的各个流程节点和流程上下文的Java语言元素。
在本发明的另一个优选实施方式中,如图7所示,转化模块602包括:
提取子模块6021,用于从所述XML格式的业务流程文件中的各个XML标记中提取各个流程节点和流程上下文的Java语言元素;
生成子模块6022,用于根据各个流程节点和流程上下文的Java语言元素,生成各个流程节点和流程上下文的Java代码片段;
组合子模块6023,用于将各个流程节点和流程上下文的Java代码片段组合成一个Java文件。
在本发明的另一个优选实施方式中,运行模块603包括:编译子模块和装载子模块,其中,
编译子模块,用于将所述Java文件编译为类文件;
装载子模块,用于将所述类文件作为内存对象装载在内存中执行,以便在执行所述内存对象的方法时执行所述业务流程图定义的业务逻辑。
在本发明的另一个优选实施方式中,编译子模块具体用于,在应用程序启动时,将所述Java文件编译为类文件;或者,所述编译子模块具体用于,响应于应用程序对所述业务流程图定义的业务逻辑的调用请求,将所述Java文件编译为类文件。
由上述实施例可以看出,与现有技术相比,本发明的优点在于:
先根据业务流程图定义的业务逻辑,生成一个XML格式的业务流程文件,再将XML格式的业务流程文件转化为一个程序语言文件,如,Java文件。对于应用服务器而言,当可以将该程序语言文件直接加载到对应的运行环境中运行,如,将Java文件直接加载到Java运行环境中。这样就可以在运行该程序语言文件时连续执行业务流程图定义的业务逻辑,因此,应用服务器不需要执行过多IO操作,从而避免了因执行过多的IO操作而导致应用服务器的系统开销浪费的问题。
所述领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述到的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,可以采用软件功能单元的形式实现。
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上对本发明所提供的一种基于流程图的流程化业务实现方法和装置进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

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文件编译为类文件;
将所述类文件作为内存对象装载在内存中执行,以便在执行所述内存对象的方法时执行所述业务流程图定义的业务逻辑。
7.根据权利要求6所述的方法,其特征在于,所述将所述Java文件编译为类文件具体为:
在应用程序启动时,将所述Java文件编译为类文件;
或者,
响应于应用程序对所述业务流程图定义的业务逻辑的调用请求,将所述Java文件编译为类文件。
8.一种基于流程图的流程化业务实现装置,其特征在于,包括:
生成模块,用于根据已编辑的业务流程图,生成可扩展标记语言XML格式的业务流程文件,所述业务流程文件中的所有XML标记构成所述业务流程图定义的业务逻辑;
转化模块,用于将所述XML格式的业务流程文件转化为任意一种程序语言文件,所述程序语言文件中的业务逻辑为所述业务流程图定义的业务逻辑;
运行模块,用于将所述程序语言文件加载到对应的运行环境中运行,以便在运行所述程序语言文件时执行所述业务流程图定义的业务逻辑。
9.根据权利要求8所述的装置,其特征在于,所述XML格式的业务流程文件为具有预设的后缀名,所述后缀名用于流程设计器的识别。
10.根据权利要求8所述的装置,其特征在于,所述程序语言文件为Java文件,所述对应的运行环境为Java运行环境。
11.根据权利要求10所述的装置,其特征在于,所述业务流程文件中的各个XML标记标注所述业务流程图中的各个流程节点和流程上下文的Java语言元素。
12.根据权利要求11所述的装置,其特征在于,所述转化模块包括:
提取子模块,用于从所述XML格式的业务流程文件中的各个XML标记中提取各个流程节点和流程上下文的Java语言元素;
生成子模块,用于根据各个流程节点和流程上下文的Java语言元素,生成各个流程节点和流程上下文的Java代码片段;
组合子模块,用于将各个流程节点和流程上下文的Java代码片段组合成一个Java文件。
13.根据权利要求10所述的装置,其特征在于,所述运行模块包括:
编译子模块,用于将所述Java文件编译为类文件;
装载子模块,用于将所述类文件作为内存对象装载在内存中执行,以便在执行所述内存对象的方法时执行所述业务流程图定义的业务逻辑。
14.根据权利要求13所述的装置,其特征在于,
所述编译子模块具体用于,在应用程序启动时,将所述Java文件编译为类文件;
或者,
所述编译子模块具体用于,响应于应用程序对所述业务流程图定义的业务逻辑的调用请求,将所述Java文件编译为类文件。
CN201410067090.6A 2014-02-26 2014-02-26 基于流程图的流程化业务实现方法和装置 Pending CN104866298A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410067090.6A CN104866298A (zh) 2014-02-26 2014-02-26 基于流程图的流程化业务实现方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410067090.6A CN104866298A (zh) 2014-02-26 2014-02-26 基于流程图的流程化业务实现方法和装置

Publications (1)

Publication Number Publication Date
CN104866298A true CN104866298A (zh) 2015-08-26

Family

ID=53912151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410067090.6A Pending CN104866298A (zh) 2014-02-26 2014-02-26 基于流程图的流程化业务实现方法和装置

Country Status (1)

Country Link
CN (1) CN104866298A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106202006A (zh) * 2016-06-27 2016-12-07 北京百度网讯科技有限公司 文件生成方法和装置
CN106445506A (zh) * 2016-09-06 2017-02-22 北京恒华伟业科技股份有限公司 一种业务流程图生成方法、装置和系统
CN106648660A (zh) * 2016-12-22 2017-05-10 深圳怡化电脑股份有限公司 一种业务开发的方法和装置
CN107423270A (zh) * 2017-07-27 2017-12-01 国云科技股份有限公司 一种在线流程图和代码实时互转的实现方法
CN107506181A (zh) * 2017-07-17 2017-12-22 阿里巴巴集团控股有限公司 业务处理、数据处理方法、装置以及电子设备
CN107977236A (zh) * 2017-12-21 2018-05-01 上海智臻智能网络科技股份有限公司 问答系统的生成方法、终端设备、存储介质及问答系统
CN110413267A (zh) * 2019-08-08 2019-11-05 四川爱创科技有限公司 基于业务规则的自适应业务流程建模方法
CN110503408A (zh) * 2019-08-28 2019-11-26 清大鲁班(北京)国际信息技术有限公司 一种基于自定义配置的业务流程管理系统
CN111401857A (zh) * 2020-03-31 2020-07-10 中国建设银行股份有限公司 印章审核流程的流转控制方法及装置
CN111427578A (zh) * 2020-04-15 2020-07-17 赞同科技股份有限公司 一种数据转换方法、装置及设备
CN111782204A (zh) * 2020-07-03 2020-10-16 中国工商银行股份有限公司 批量排程编辑方法及装置
CN113656116A (zh) * 2021-08-18 2021-11-16 中国邮政储蓄银行股份有限公司 业务流程的处理方法和装置
CN114201149A (zh) * 2022-02-18 2022-03-18 北京阿丘科技有限公司 运行流程生成方法、装置、系统与计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101256492A (zh) * 2008-03-31 2008-09-03 宋乃辉 一种进行模型驱动架构的软件开发方法及其系统
CN101840335A (zh) * 2010-04-16 2010-09-22 广州白云国际机场股份有限公司 一种可配置业务模块的J2EE web应用系统
CN102185899A (zh) * 2011-04-18 2011-09-14 北京神州数码思特奇信息技术股份有限公司 B/s架构下构建业务流程图的方法、b/s架构
CN102567002A (zh) * 2010-12-29 2012-07-11 上海邮电设计咨询研究院有限公司 一种电信增值业务开发环境中转换代码的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101256492A (zh) * 2008-03-31 2008-09-03 宋乃辉 一种进行模型驱动架构的软件开发方法及其系统
CN101840335A (zh) * 2010-04-16 2010-09-22 广州白云国际机场股份有限公司 一种可配置业务模块的J2EE web应用系统
CN102567002A (zh) * 2010-12-29 2012-07-11 上海邮电设计咨询研究院有限公司 一种电信增值业务开发环境中转换代码的方法
CN102185899A (zh) * 2011-04-18 2011-09-14 北京神州数码思特奇信息技术股份有限公司 B/s架构下构建业务流程图的方法、b/s架构

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106202006B (zh) * 2016-06-27 2019-01-01 北京百度网讯科技有限公司 文件生成方法和装置
CN106202006A (zh) * 2016-06-27 2016-12-07 北京百度网讯科技有限公司 文件生成方法和装置
CN106445506A (zh) * 2016-09-06 2017-02-22 北京恒华伟业科技股份有限公司 一种业务流程图生成方法、装置和系统
CN106648660A (zh) * 2016-12-22 2017-05-10 深圳怡化电脑股份有限公司 一种业务开发的方法和装置
CN107506181A (zh) * 2017-07-17 2017-12-22 阿里巴巴集团控股有限公司 业务处理、数据处理方法、装置以及电子设备
CN107423270B (zh) * 2017-07-27 2020-02-18 国云科技股份有限公司 一种在线流程图和代码实时互转的实现方法
CN107423270A (zh) * 2017-07-27 2017-12-01 国云科技股份有限公司 一种在线流程图和代码实时互转的实现方法
WO2019019473A1 (zh) * 2017-07-27 2019-01-31 国云科技股份有限公司 一种流程图和代码实时在线互转的方法
CN107977236A (zh) * 2017-12-21 2018-05-01 上海智臻智能网络科技股份有限公司 问答系统的生成方法、终端设备、存储介质及问答系统
CN107977236B (zh) * 2017-12-21 2020-11-13 上海智臻智能网络科技股份有限公司 问答系统的生成方法、终端设备、存储介质及问答系统
CN110413267A (zh) * 2019-08-08 2019-11-05 四川爱创科技有限公司 基于业务规则的自适应业务流程建模方法
CN110503408A (zh) * 2019-08-28 2019-11-26 清大鲁班(北京)国际信息技术有限公司 一种基于自定义配置的业务流程管理系统
CN111401857A (zh) * 2020-03-31 2020-07-10 中国建设银行股份有限公司 印章审核流程的流转控制方法及装置
CN111427578A (zh) * 2020-04-15 2020-07-17 赞同科技股份有限公司 一种数据转换方法、装置及设备
CN111427578B (zh) * 2020-04-15 2023-08-29 赞同科技股份有限公司 一种数据转换方法、装置及设备
CN111782204A (zh) * 2020-07-03 2020-10-16 中国工商银行股份有限公司 批量排程编辑方法及装置
CN111782204B (zh) * 2020-07-03 2024-04-30 中国工商银行股份有限公司 批量排程编辑方法及装置
CN113656116A (zh) * 2021-08-18 2021-11-16 中国邮政储蓄银行股份有限公司 业务流程的处理方法和装置
CN114201149A (zh) * 2022-02-18 2022-03-18 北京阿丘科技有限公司 运行流程生成方法、装置、系统与计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN104866298A (zh) 基于流程图的流程化业务实现方法和装置
JP5204070B2 (ja) ソフトウェア成果物の第2バージョンに移行する際に、当該ソフトウェア成果物の第1バージョンになされたカスタマイズをマージするためのツールを生成する方法、コンピュータ使用可能な媒体及びデータ処理システム
CN109508191A (zh) 一种代码生成方法及系统
CN100543701C (zh) 一种实现嵌入式软件异常测试的方法及系统
CN110609675B (zh) 一种工作流建模方法、装置和计算机可读存储介质
US8086618B2 (en) Configuration rule translation mapper
CN101887370B (zh) 创建系统用户界面的方法及装置
US20100082954A1 (en) Configuration rule prototyping tool
CN110109671B (zh) 一种webpack标签尺寸样式转换方法及装置
CN107678777A (zh) 一种软件文档的管理方法、装置及终端
US9361086B1 (en) Collating and intelligently sequencing installation documentation
CN113805882A (zh) 应用程序开发的方法、装置、电子设备及存储介质
CN104881311A (zh) 一种版本兼容的判断方法及装置
Ernsting et al. Refining a reference architecture for model-driven business apps
CN115525280A (zh) 前端代码生成方法及装置、存储介质及电子设备
US20110047526A1 (en) Method and a system for transforming an object model
CN110058849A (zh) 流程图的生成方法、装置、计算机设备以及存储介质
CN111858359B (zh) 可执行文件的工程代码位置获取方法和装置
Son et al. Metamodel design for model transformation from Simulink to ECML in cyber physical systems
Prehofer et al. From IoT mashups to model-based IoT
CN110442373B (zh) 版权信息的添加方法、装置和介质
Bernardi et al. Model driven evolution of web applications
Trias et al. Reverse engineering applied to CMS-based Web applications coded in PHP: A proposal of migration
Roubi et al. Model driven architecture as an approach for modeling and generating graphical user interface
CN104615458A (zh) 一种基于json数据格式模块加载的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150826