业务工作流代码的生成方法及装置制造方法

文档序号:6489754阅读:165来源:国知局
业务工作流代码的生成方法及装置制造方法
【专利摘要】本发明公开了一种业务工作流代码的生成方法及装置,该方法包括:获取业务模型数据以及与业务匹配的工作流模板,并根据业务模型数据设置工作流的参数;根据业务与工作流的相关参数生成业务工作流代码,其中,业务工作流代码是业务与工作流结合形成的,业务与工作流的相关参数包括业务模型数据、工作流模板以及工作流的参数。通过本发明,提供了一种简单的方法将业务数据处理与工作流结合,结合业务模型数据、工作流模板以及工作流的参数,生成可执行的业务工作流代码。通过自动生成业务工作流代码,简化业务工作流开发过程,提高代码质量,提高开发效率。节省业务工作流开发时间,降低开发成本。生成的代码质量可靠,减少测试的时间。
【专利说明】业务工作流代码的生成方法及装置
【技术领域】
[0001]本发明涉及通信领域,具体而言,涉及一种业务工作流代码的生成方法及装置。
【背景技术】
[0002]随着计算机与通讯技术的快速进步,互联网(Internet)和内部局域网(Intranet)在企业信息化建设中发挥着巨大的作用,市场经济使得各企业越来越重视效率的提闻和成本的减少。
[0003]工作流(Work Flow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务,它作为一种比较通用的技术可以在大多数业务系统中应用嵌套,从而使业务系统只专注本身业务的开发,而不必过多关注工作流本身的流程运行。
[0004]目前工作流引擎能够提供一系列相互衔接、自动进行的活动或任务,完成流程定义,但工作流流程需要与业务数据处理结合,任务在流转的过程中需要“携带”大量的业务数据,才能解决实际的业务问题。业务工作流开发中需要了解工作流流程,并进行业务数据处理的开发,开发过程比较复杂;同时对业务工作流进行测试时,由于业务工作流具有一定的复杂度,所以很难进行测试,因此,对业务工作流进行测试也是目前业务系统开发的瓶颈。

【发明内容】

[0005]本发明提供了一种业务工作流代码的生成方法及装置,以至少解决相关技术中,业务工作流开发过程比较复杂,且很难进行测试的问题。
[0006]根据本发明的一个方面,提供了一种业务工作流代码的生成方法,包括:获取业务模型数据以及与业务匹配的工作流模板,并根据业务模型数据设置工作流的参数;根据业务与工作流的相关参数生成业务工作流代码,其中,业务工作流代码是业务与工作流结合形成的,业务与工作流的相关参数包括业务模型数据、工作流模板以及工作流的参数。
[0007]优选地,获取业务模型数据以及与业务匹配的工作流模板包括:根据用户需求获取业务模型数据,其中,业务模型数据包括业务实体、业务规则,业务实体包括业务实体的属性和行为;根据业务规则和业务的流程,在预置的工作流模板中获取与业务匹配的工作流模板。
[0008]优选地,根据业务模型数据设置工作流的参数包括:根据业务模型数据设置工作流模板的参数、业务数据处理模板的参数、工作流的参数、业务处理的参数,其中,工作流的参数包括以下至少之一:工作流路由参数、工作流类型、文件保存路径。
[0009]优选地,根据业务与工作流的相关参数生成业务工作流代码包括:加载业务处理代码模板以及工作流代码模板;根据业务处理代码模板和业务模型数据生成业务处理代码;将业务处理代码与工作流代码结合,生成可执行的业务工作流代码。
[0010]优选地,在根据业务与工作流的相关参数生成业务工作流代码之后,上述方法还包括:将生成的业务工作流代码及其配置文件保存到预先设置的文件保存路径。
[0011]优选地,通过以下方式之一获取业务模型数据:通过连接数据库的方式获取业务模型数据;通过导入文件的方式获取业务模型数据。
[0012]根据本发明的另一方面,提供了一种业务工作流代码的生成装置,包括:获取模块,用于获取业务模型数据以及与业务匹配的工作流模板;设置模块,用于根据业务模型数据设置工作流的参数;生成模块,用于根据业务与工作流的相关参数生成业务工作流代码,其中,业务工作流代码是业务与工作流结合形成的,业务与工作流的相关参数包括业务模型数据、工作流模板以及工作流的参数。
[0013]优选地,获取模块包括:第一获取单元,用于根据用户需求获取业务模型数据,其中,业务模型数据包括业务实体、业务规则,业务实体包括业务实体的属性和行为;第二获取单元,用于根据业务规则和业务的流程,在预置的工作流模板中获取与业务匹配的工作流模板。
[0014]优选地,设置模块包括:设置单元,用于根据业务模型数据设置工作流模板的参数、业务数据处理模板的参数、工作流的参数、业务处理的参数,其中,工作流的参数包括以下至少之一:工作流路由参数、工作流类型、文件保存路径。
[0015]优选地,生成模块包括:加载单元,用于加载业务处理代码模板以及工作流代码模板;第一生成单元,用于根据业务处理代码模板和业务模型数据生成业务处理代码;第二生成单元,用于将业务处理代码与工作流代码结合,生成可执行的业务工作流代码。
[0016]通过本发明,提供了一种简单的方法将业务数据处理与工作流结合,生成可执行的业务工作流代码。通过自动生成业务工作流代码,简化业务工作流开发过程,提高代码质量,提高开发效率。节省业务工作流开发时间,降低开发成本。生成的代码质量可靠,减少测试的时间。
【专利附图】

【附图说明】
[0017]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0018]图1是根据本发明实施例的业务工作流代码的生成方法的流程图;
[0019]图2是根据本发明实施例的业务工作流代码的生成装置的结构框图;
[0020]图3是根据本发明优选实施例的业务工作流代码的生成装置的结构框图;
[0021]图4是根据本发明另一个优选实施例的业务工作流代码的生成装置的结构示意图;
[0022]图5是根据本发明优选实施例的终端申请工作流的流程图。
【具体实施方式】
[0023]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0024]本发明实施例提供了一种业务工作流代码的生成方法,图1是根据本发明实施例的业务工作流代码的生成方法的流程图,如图1所示,包括如下的步骤S102至步骤S104。
[0025]步骤S102,获取业务模型数据以及与业务匹配的工作流模板,并根据业务模型数据设置工作流的参数。
[0026]步骤S104,根据业务与工作流的相关参数生成业务工作流代码,其中,业务工作流代码是业务与工作流结合形成的,业务与工作流的相关参数包括业务模型数据、工作流模板以及工作流的参数。
[0027]相关技术中,业务工作流开发过程比较复杂,且很难进行测试。本发明实施例中,提供了一种简单的方法将业务数据处理与工作流结合,通过结合业务模型数据、工作流模板以及工作流的参数,生成可执行的业务工作流代码。通过自动生成业务工作流代码,简化业务工作流开发过程,提高代码质量,提高开发效率。节省业务工作流开发时间,降低开发成本。生成的代码质量可靠,减少测试的时间。
[0028]步骤S102中获取业务模型数据以及与业务匹配的工作流模板包括:根据用户需求获取业务模型数据,其中,业务模型数据包括业务实体、业务规则,业务实体包括业务实体的属性和行为;根据业务规则和业务的流程,在预置的工作流模板中获取与业务匹配的工作流模板。需要说明的是,上述与业务匹配的工作流模板是用户根据业务规则以及业务的流程自动适配的。
[0029]步骤S102中根据业务模型数据设置工作流的参数包括:根据业务模型数据设置工作流模板的参数、业务数据处理模板的参数、工作流的参数、业务处理的参数,其中,工作流的参数包括以下至少之一:工作流路由参数、工作流类型、文件保存路径。
[0030]优选地,步骤S104包括:加载业务处理代码模板以及工作流代码模板;根据业务处理代码模板和业务模型数据生成业务处理代码;将业务处理代码与工作流代码结合,生成可执行的业务工作流代码。
[0031]优选地,在步骤S104之后,上述方法还包括:将生成的业务工作流代码及其配置文件保存到预先设置的文件保存路径。将生成的可执行的业务工作流代码保存起来,可供后续查看。
[0032]优选地,通过以下方式之一获取业务模型数据:通过连接数据库的方式获取业务模型数据;通过导入文件的方式获取业务模型数据。通过上述两种方式获取业务模型数据,获取方式简单可靠,且比较灵活。
[0033]本发明实施例还提供了一种业务工作流代码的生成装置,该装置可以用于实现上述业务工作流代码的生成方法。图2是根据本发明实施例的业务工作流代码的生成装置的结构框图,如图2所示,包括获取模块22、设置模块24和生成模块26。下面对其结构进行详细描述。
[0034]获取模块22,用于获取业务模型数据以及与业务匹配的工作流模板;设置模块24,连接至获取模块22,用于根据业务模型数据设置工作流的参数;生成模块26,连接至设置模块24,用于根据业务与工作流的相关参数生成业务工作流代码,其中,业务工作流代码是业务与工作流结合形成的,业务与工作流的相关参数包括业务模型数据、工作流模板以及工作流的参数。
[0035]优选地,获取模块22包括:第一获取单元,用于根据用户需求获取业务模型数据,其中,业务模型数据包括业务实体、业务规则,业务实体包括业务实体的属性和行为;第二获取单元,连接至第一获取单元,用于根据业务规则和业务的流程,在预置的工作流模板中获取与业务匹配的工作流模板。
[0036]优选地,设置模块24包括:设置单元,用于根据业务模型数据设置工作流模板的参数、业务数据处理模板的参数、工作流的参数、业务处理的参数,其中,工作流的参数包括以下至少之一:工作流路由参数、工作流类型、文件保存路径。
[0037]优选地,生成模块26包括:加载单元,用于加载业务处理代码模板以及工作流代码模板;第一生成单元,连接至加载单元,用于根据业务处理代码模板和业务模型数据生成业务处理代码;第二生成单元,连接至第一生成单元,用于将业务处理代码与工作流代码结合,生成可执行的业务工作流代码。
[0038]如图3所示,上述装置还包括:保存模块28,连接至生成模块26,用于将生成的业务工作流代码及其配置文件保存到预先设置的文件保存路径。
[0039]优选地,获取模块22通过以下方式之一获取业务模型数据:通过连接数据库的方式获取业务模型数据;通过导入文件的方式获取业务模型数据。
[0040]需要说明的是,装置实施例中描述的业务工作流代码的生成装置对应于上述的方法实施例,其具体的实现过程在方法实施例中已经进行过详细说明,在此不再赘述。
[0041]从以上的描述可以看出,本发明实施例中,分析用户需求,通过模块得到业务模型数据,包括业务实体、业务规则,其中,业务实体包括找出业务实体,确定业务实体的属性和行为;业务规则是必须遵守的政策或条件的声明。根据业务规则和业务的流程,从预置的工作流模板中获取适合业务的工作流模板并设置工作流模板参数。加载工作流代码模板及业务处理代码模板。将业务代码与工作流代码结合,生成可执行的业务工作流代码,工作流任务完成时,业务数据也处理完成。并将生成的代码保存至指定目录。
[0042]为了使本发明的技术方案和实现方法更加清楚,下面将结合优选的实施例对其实现过程进行详细描述。
[0043]本发明生成业务与工作流结合的业务工作流代码。通过自动生成业务工作流代码,简化业务工作流开发过程,提高代码质量,提高开发效率。节省业务工作流开发时间,降低开发成本。
[0044]在另一个优选实施例中,上述业务工作流代码的生成装置还可以通过以下模块来实现:业务模型数据获取模块402、工作流模板适配模块404、设置模块406、加载模块408、代码生成模块410和存储模块412,如图4所示,下面对各个模块的功能加以描述。
[0045]业务模型数据获取模块402 (实现了上述获取模块22的部分功能)用于获取业务模型数据,可以连接正常的数据库系统获取已定义的业务模型数据,或导入数据库设计文件,通过文件导入的方式获取业务模型数据。即支持通过连接数据库的方式或导入文件方式获取业务模型数据。
[0046]系统中预置多种工作流模板,用户根据业务规则,工作流模板适配模块404 (实现了上述获取模块22的部分功能)可自动适配适合业务的工作流模板,例如,常用的工作流模板有4步的工作流模板和10步的工作流模板,根据业务需要审核的流程,工作流模板适配模块404选择适用的工作流模板,例如,选择了 4步的工作流模板。
[0047]设置模块406 (实现了上述设置模块24的功能)用于设置工作流模板和业务数据处理模板参数、工作流及业务处理参数,其设置的参数包括:工作流路由参数、工作流类型和文件保存路径。
[0048]1、工作流路由参数,例如4步工作流的路由参数为4位I或O组成的字符串,I表示执行,O表示不执行。根据业务规则,4步流程都需要执行时,路由参数设置为1111 ;4步流程需要执行3步,最后一步不需要执行时,路由参数设置为1110。
[0049]2、工作流类型,包括固定常用的申请工作流、修改工作流、注销工作流、暂停/恢复工作流及其它(工作流名称可自定义)。
[0050]4、文件保存路径,生成的文件有可执行的代码文件或配置文件,代码生成后将自动保存在设置的路径下。
[0051]加载模块408 (实现了上述生成模块26的部分功能)将工作流模板、业务处理代码模板及参数进行加载。其中,工作流模板包括流程扭转处理、权限配置及任务处理流程。代码模板包括业务数据处理模板,采用三层架构模式,即LS层(Logic Service layer)、DS层(DataService layer)、DA0 层(DataAccess Objects)。其中 LS 层是指逻辑处理层,主要是完成业务逻辑功能处理;DS层即数据处理层,主要是完成数据处理;DA0层主要是完成数据库的访问。工作流处理中包含流程处理,回调及生效。 [0052]代码生成模块410 (实现了上述生成模块26的部分功能)根据业务处理代码模板及业务模型数据生成业务处理代码,并将代码调用与工作流处理结合,生成可执行的业务工作流代码。
[0053]存储模块412 (实现了上述保存模块28的功能)用于将生成的代码文件及配置文件保存至设置的路径。
[0054]图5是根据本发明优选实施例的终端申请工作流的流程图,如图5所示,本优选实施例描述了申请工作流的流程,例如,产品销售业务要增加一项新终端的销售,新终端上线需要先申请,即发起申请工作流,将新终端信息保存入缓存表中,同时发起终端审批流程,包含多个部门的审核任务扭转,前一个节点审批后自动转入下一个流程,发任务给指定权限的处理者,审批完成后回调类将数据存入正式表,完成数据生效流程。
[0055]步骤如下:
[0056]步骤S502,提交申请,终端型号信息入库。其中,O表示不执行,I表示执行,图中(O, I, O)表示本优选实施例中本步骤仅执行第二步。
[0057]步骤S504,工作流回调、修改终端型号申请工作流流程状态,记录工作流历史/日
O
[0058]步骤S506,审核终端型号申请。
[0059]步骤S508,判断审核是否通过,如果是,则结束流程;如果否,则重复步骤S502。
[0060]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0061]本优选实施例中,需要新加一个申请接口,一个回调类和一个生效类,以终端型号申请工作流为例,创建接口和类如下:
[0062]终端申请接口:IUhandsetApply,接口中定义一个申请(apply)方法,一个审批(audit)方法。
[0063]终端申请类:UhandsetApply[0064]继承:com.zte.common, wkfw.WorkflowBase,该类中定义了模板号、回调 bean 等
一些进程变量。
[0065]实现接口:IUhandsetApply
[0066]终端申请回调类:UhandsetApplyCalIback
[0067]继承:com.zte.common, wkfw.CommonCallback,该类主要完成工作流条目信息Workflowltem的初始化,定义了回调类初始化数据、记录日志。具体的工作流回调类继承该类,包含业务处理接口来完成各自工作流的数据处理。
[0068]终端申请生效类:UhandsetApplyValid
[0069]继承:com.zte.common, wkfw.CommonValid,该类中定义了生效处理的一些实现,完成业务数据处理及工作流的生效处理。
[0070]申请类中的apply方法中接口如下:
[0071]pub lie int st artProcessInst an ce (String temp Iat eCode, Stringcreator, String processName,StringpboIdj String pboName,String pboType,Stringremark, String processParams, String priority)
[0072]其中,上述接口中各参数的含义如表1所示。
[0073]表1申请类中apply方法接口各参数的含义
[0074]`
【权利要求】
1.一种业务工作流代码的生成方法,其特征在于包括: 获取业务模型数据以及与所述业务匹配的工作流模板,并根据所述业务模型数据设置工作流的参数; 根据所述业务与所述工作流的相关参数生成业务工作流代码,其中,所述业务工作流代码是所述业务与所述工作流结合形成的,所述业务与所述工作流的相关参数包括所述业务模型数据、所述工作流模板以及所述工作流的参数。
2.根据权利要求1所述的方法,其特征在于,获取业务模型数据以及与所述业务匹配的工作流模板包括: 根据用户需求获取所述业务模型数据,其中,所述业务模型数据包括业务实体、业务规贝U,所述业务实体包括业务实体的属性和行为; 根据所述业务规则和所述业务的流程,在预置的工作流模板中获取与所述业务匹配的工作流模板。
3.根据权 利要求1所述的方法,其特征在于,根据所述业务模型数据设置工作流的参数包括: 根据所述业务模型数据设置所述工作流模板的参数、业务数据处理模板的参数、工作流的参数、业务处理的参数,其中,所述工作流的参数包括以下至少之一:工作流路由参数、工作流类型、文件保存路径。
4.根据权利要求1所述的方法,其特征在于,根据所述业务与所述工作流的相关参数生成业务工作流代码包括: 加载业务处理代码模板以及工作流代码模板; 根据所述业务处理代码模板和所述业务模型数据生成业务处理代码; 将所述业务处理代码与工作流代码结合,生成可执行的业务工作流代码。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在根据所述业务与所述工作流的相关参数生成业务工作流代码之后,所述方法还包括: 将所述生成的业务工作流代码及其配置文件保存到预先设置的文件保存路径。
6.根据权利要求1至4中任一项所述的方法,其特征在于,通过以下方式之一获取所述业务模型数据: 通过连接数据库的方式获取所述业务模型数据; 通过导入文件的方式获取所述业务模型数据。
7.—种业务工作流代码的生成装置,其特征在于包括: 获取模块,用于获取业务模型数据以及与所述业务匹配的工作流模板; 设置模块,用于根据所述业务模型数据设置工作流的参数; 生成模块,用于根据所述业务与所述工作流的相关参数生成业务工作流代码,其中,所述业务工作流代码是所述业务与所述工作流结合形成的,所述业务与所述工作流的相关参数包括所述业务模型数据、所述工作流模板以及所述工作流的参数。
8.根据权利要求7所述的装置,其特征在于,所述获取模块包括: 第一获取单元,用于根据用户需求获取所述业务模型数据,其中,所述业务模型数据包括业务实体、业务规则,所述业务实体包括业务实体的属性和行为; 第二获取单元,用于根据所述业务规则和所述业务的流程,在预置的工作流模板中获取与所述业务匹配的工作流模板。
9.根据权利要求7所述的装置,其特征在于,所述设置模块包括: 设置单元,用于根据所述业务模型数据设置所述工作流模板的参数、业务数据处理模板的参数、工作流的参数、业务处理的参数,其中,所述工作流的参数包括以下至少之一:工作流路由参数、工作流类型、文件保存路径。
10.根据权利要求7所述的装置,其特征在于,所述生成模块包括: 加载单元,用于加载业务处理代码模板以及工作流代码模板; 第一生成单元,用于根据所述业务处理代码模板和所述业务模型数据生成业务处理代码; 第二生成单元,用于将所述业务处理代码与工作流代码结合,生成可执行的业务工作流代码。
【文档编号】G06F9/44GK103729171SQ201210384272
【公开日】2014年4月16日 申请日期:2012年10月11日 优先权日:2012年10月11日
【发明者】王运璇 申请人:三亚中兴软件有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1