CN116069300A - 工作流控制代码生成方法、装置、电子设备及存储介质 - Google Patents
工作流控制代码生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116069300A CN116069300A CN202211648229.7A CN202211648229A CN116069300A CN 116069300 A CN116069300 A CN 116069300A CN 202211648229 A CN202211648229 A CN 202211648229A CN 116069300 A CN116069300 A CN 116069300A
- Authority
- CN
- China
- Prior art keywords
- workflow
- business
- information
- creating
- link
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种工作流控制代码生成方法、装置、电子设备及存储介质。其中,工作流控制代码生成方法包括:生成工作流的业务语义声明;生成用于表达业务语义的元信息协议;生成工作流的业务逻辑信息;创建工作流控制代码模板;基于业务语义声明、元信息协议、业务逻辑信息和工作流控制代码模板,生成工作流对应的工作流控制代码。本申请实施例中,针对工作流扩展业务语义声明、元信息协议、业务逻辑信息以及配套的工作流控制代码模板,兼之依据元信息协议为原型设计增加合适的元信息,通过分析及推断得出更全面的信息用于生成工作流控制代码,从而降低入门门槛,可生成更丰富完善的业务逻辑主线代码,从而能够减少二次开发的工作量。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种工作流控制代码生成方法、装置、电子设备及存储介质。
背景技术
工作流(WorkFlow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递。
企业信息系统开发在设计阶段离不开UI(User Interface,用户界面)原型设计和ER(实体关系)设计,在低代码开发流行后已发展出利用这两种设计结果生成工作流的基础代码从而减少开发工作量。但是,工作流的基础代码覆盖的业务场景较少,导致在该基础代码的基础上还需要进行工作量较大的二次开发,操作过程繁琐。
发明内容
鉴于上述问题,本申请实施例提出了一种工作流控制代码生成方法、装置、电子设备及存储介质,能够针对工作流生成工作流控制代码,从而降低二次开发的工作量。
根据本申请的实施例的一个方面,提供了一种工作流控制代码生成方法,所述方法包括:
生成工作流的业务语义声明;
生成用于表达所述业务语义的元信息协议;
生成所述工作流的业务逻辑信息;
创建工作流控制代码模板;
基于所述业务语义声明、所述元信息协议、所述业务逻辑信息和所述工作流控制代码模板,生成所述工作流对应的工作流控制代码。
可选地,所述生成工作流的业务语义声明,包括:获取所述工作流的业务功能信息,从所述业务功能信息中抽取所述工作流的业务要素和所述业务要素之间的依赖关系;将所述业务要素和所述业务要素之间的依赖关系,确定为所述工作流的业务语义声明。
可选地,所述生成用于表达所述业务语义的元信息协议,包括:创建页面组件点击事件,所述页面组件点击事件包括以下至少之一:环节提交、环节撤回、环节处理、环节委派、环节移交、环节加签、环节减签、流程办结、流程终止、流程处理、流程追踪;创建页面表单与工作流环节的关联关系;将所述页面组件点击事件和所述关联关系,确定为所述元信息协议。
可选地,所述生成所述工作流的业务逻辑信息,包括:创建工作流环节与页面的映射关系,基于所述映射关系生成页面路由表;创建运行时页面表单与工作流环节的第一绑定协议;创建运行时页面列表与工作流环节的第二绑定协议;设置工作流事件配套接口声明;将所述页面路由表、所述第一绑定协议、所述第二绑定协议和所述配套接口声明,确定为所述业务逻辑信息。
可选地,所述创建工作流控制代码模板,包括:创建初始化语义配套的代码模板及调用输入参数;创建后端接口业务语义配套的模板及调用输入参数。
根据本申请的实施例的另一方面,提供了一种工作流控制代码生成装置,所述装置包括:
第一生成模块,用于生成工作流的业务语义声明;
第二生成模块,用于生成用于表达所述业务语义的元信息协议;
第三生成模块,用于生成所述工作流的业务逻辑信息;
创建模块,用于创建工作流控制代码模板;
第四生成模块,用于基于所述业务语义声明、所述元信息协议、所述业务逻辑信息和所述工作流控制代码模板,生成所述工作流对应的工作流控制代码。
可选地,所述第一生成模块包括:信息抽取单元,用于获取所述工作流的业务功能信息,从所述业务功能信息中抽取所述工作流的业务要素和所述业务要素之间的依赖关系;声明确定单元,用于将所述业务要素和所述业务要素之间的依赖关系,确定为所述工作流的业务语义声明。
可选地,所述第二生成模块包括:事件创建单元,用于创建页面组件点击事件,所述页面组件点击事件包括以下至少之一:环节提交、环节撤回、环节处理、环节委派、环节移交、环节加签、环节减签、流程办结、流程终止、流程处理、流程追踪;关系创建单元,用于创建页面表单与工作流环节的关联关系;协议确定单元,用于将所述页面组件点击事件和所述关联关系,确定为所述元信息协议。
可选地,所述第三生成模块包括:路由创建单元,用于创建工作流环节与页面的映射关系,基于所述映射关系生成页面路由表;第一协议创建单元,用于创建运行时页面表单与工作流环节的第一绑定协议;第二协议创建单元,用于创建运行时页面列表与工作流环节的第二绑定协议;声明设置单元,用于设置工作流事件配套接口声明;信息确定单元,用于将所述页面路由表、所述第一绑定协议、所述第二绑定协议和所述配套接口声明,确定为所述业务逻辑信息。
可选地,所述创建模块包括:第一模板创建单元,用于创建初始化语义配套的代码模板及调用输入参数;第二模板创建单元,用于创建后端接口业务语义配套的模板及调用输入参数。
根据本申请的实施例的另一方面,提供了一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个计算机可读存储介质;当所述指令由所述一个或多个处理器执行时,使得所述处理器执行如上任一项所述的工作流控制代码生成方法。
根据本申请的实施例的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行如上任一项所述的工作流控制代码生成方法。
本申请实施例中,生成工作流的业务语义声明;生成用于表达所述业务语义的元信息协议;生成所述工作流的业务逻辑信息;创建工作流控制代码模板;基于所述业务语义声明、所述元信息协议、所述业务逻辑信息和所述工作流控制代码模板,生成所述工作流对应的工作流控制代码。由此可知,本申请实施例中,针对工作流,扩展业务语义声明、元信息协议、业务逻辑信息以及配套的工作流控制代码模板,兼之依据元信息协议为原型设计增加合适的元信息,一方面,软件设计人员依据元信息协议为原型设计添加业务语义相关的信息,表现为在UI原型中添加合适的组件及按业务逻辑设置组件选项;另一方面,在不增加设计工作量前提下,通过业务逻辑推断可还原出更多原型设计所要表述的细节信息,而这些信息有助于生成更丰富完善的工作流控制代码,从而降低入门门槛和简化原型设计时的信息录入,可生成更丰富完善的业务逻辑主线代码,从而减少二次开发工作量。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些附图,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例的一种工作流控制代码生成方法的步骤流程图。
图2是本申请实施例的一种工作流代码生成过程的整体流程图。
图3是本申请实施例的一种工作流控制代码生成装置的结构框图。
图4是本申请实施例的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请的实施例中的附图,对本申请的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本申请的一部分实施例,而不是本申请的全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
工作流,指"业务过程的部分或整体在计算机应用环境下的自动化"。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。
工作流概念起源于生产组织和办公自动化领域,是针对日常工作中具有固定程序活动而提出的一个概念,目的是通过将工作分解成定义良好的任务或角色,按照一定的规则和过程来执行这些任务并对其进行监控,达到提高工作效率、更好的控制过程、增强对客户的服务、有效管理业务流程等目的。
工作流定义可以是:工作流是将一组任务组织起来以完成某个经营过程:定义了任务的触发顺序和触发条件,每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完成。
采用工作流软件,使用者只需在电脑上填写有关表单,会按照定义好的流程自动往下跑,下一级审批者将会收到相关资料,并可以根据需要修改、跟踪、管理、查询、统计、打印等,大大提高了效率,实现了知识管理,提升了公司的核心竞争力。
工作流有以下的优点:
1、业务可视化:首先,最大的优点,就是可以借助工作流引擎,让业务可视化,可以通过视图看到整个业务流程,每个节点执行什么业务逻辑一目了然,分支处理、异常处理也非常清晰。
2、业务可编排:如果业务永远不变化,那么我们硬编码在一个方法里也无所谓。但是我们知道业务千变万化的,软件设计很重要的一个指标就是灵活可扩展。工作流流程的重编排,则可以使得业务进一步在代码层面增加灵活性。可以通过节点的调整来快速调整业务流程,可以灵活增删节点,而不至于对整个流程有影响。
3、自动重试:对于某些工作流来说,工作流引擎提供了框架层面持久化和自动重试的能力。
工作流适用于消费品行业,制造业,电信服务业,银证险等金融服务业,物流服务业,物业服务业,物业管理,大中型进出口贸易公司,政府事业机构,研究院所及教育服务业等,特别是大的企业和集团公司。
示例性地,工作流的具体应用可以涉及到以下方面:
1.关键业务流程:订单、报价处理、采购处理、合同审核、客户电话处理、供应链管理等。
2.行政管理类:出差申请、加班申请、请假申请、用车申请、各种办公用品申请、购买申请、日报周报等凡是原来手工流转处理的行政表单。
3.人事管理类:员工培训安排、绩效考评、职位变动处理、员工档案信息管理等。
4.财务相关类:付款请求、应收款处理、日常报销处理、出差报销、预算和计划申请等。
5.客户服务类:客户信息管理、客户投诉、请求处理、售后服务管理等。
6.特殊服务类:ISO(国际标准化组织)系列对应流程、质量管理对应流程、产品数据信息管理、贸易公司报关处理、物流公司货物跟踪处理等等各种通过表单逐步手工流转完成的任务,均可应用工作流软件自动规范地实施。
企业实施工作流管理所带来的好处:可以提高企业运营效率、改善企业资源利用、提高企业运作的灵活性和适应性、提高工作效率、集中精力处理核心业务、跟踪业务处理过程、量化考核业务处理的效率、减少浪费、增加利润、充分发挥现有计算机网络资源的作用。实施工作流将达到缩短企业运营周期、改善企业内(外)部流程、优化并合理利用资源、减少人为差错和延误,提高劳动生产率等目的。
基于工作流的固有特性,工作流功能开发门槛高,既需要开发人员熟悉使用工作流引擎,也需要开发人员熟练掌握将业务流程转化工作流流程,以及工作流功能的复杂性,导致原型设计时设置组件时互相依赖且繁琐,容易出错。本申请实施例中提出,在基于模板生成工作流的基础代码的基础上,引入逻辑推断方法,为原型设计增加合理的元信息,通过分析及推断得出更全面的信息用于生成工作流控制代码,从而降低入门门槛和简化原型设计时的信息录入。
本申请实施例中,在基于模板生成基础代码的基础上,提出一种基于逻辑推断的方法,在生成代码生成前增加分析及推断步骤等出更全面的可用于生成代码的信息。例如:推断出页面路由表省去页面编排设计工作,推断出页面组件在运行时与工作流环节绑定的协议,推断出配套的工作流操作后端接口声明。综合分析推断结果利用代码模板可生成完整的工作流控制代码:前端JS代码和后端接口代码。在将这两部分代码合并到基于UI原型设计和ER设计利用代码模板生成的项目基础代码中即可得到完整的业务实现代码。
本申请实施例中的工作流可以为审批流、工单流等形式。
下面,对本申请实施例中的工作流控制代码生成方法进行详细介绍。
参照图1,示出了本申请实施例的一种工作流控制代码生成方法的步骤流程图。
如图1所示,工作流控制代码生成方法可以包括以下步骤:
步骤101,生成工作流的业务语义声明。
本申请实施例中,通过提炼工作流业务功能主线逻辑,抽取出可组合使用的业务要素及业务要素之间的依赖关系。
在一种可选实施方式中,所述生成工作流的业务语义声明的过程,可以包括以下步骤A1~步骤A2包括:
步骤A1,获取所述工作流的业务功能信息,从所述业务功能信息中抽取所述工作流的业务要素和所述业务要素之间的依赖关系。
工作流的业务功能信息可以为预先设置的业务功能信息,该业务功能信息包含了工作流中的各业务要素的相关信息。
业务要素的相关信息可以包括但不限于:业务元素(比如业务名称、业务标识等等)、功能目的、必要条件、依赖关系,等等。
从所述业务功能信息中抽取所述工作流的业务要素和所述业务要素之间的依赖关系。抽取的信息包括但不限于:环节提交、环节撤回、流程办结、环节委派、环节移交、加减签、待处理列表、待处理列表等。具体到审批流程可增加:审批通过、审批不通过等。
步骤A2,将所述业务要素和所述业务要素之间的依赖关系,确定为所述工作流的业务语义声明。
在抽取得到所述工作流的业务要素和所述业务要素之间的依赖关系后,将所述工作流的业务要素和所述业务要素之间的依赖关系,确定为所述工作流的业务语义声明。
步骤102,生成用于表达所述业务语义的元信息协议。
本申请实施例中,针对工作流,分析如何通过元信息表达业务语义,如何加入到原型设计中,以及录入指示等,分析业务语义如何以更易于使用且完整的方式通过元信息表示,为了便于后续分析需以约定格式录入,从而生成用于表达所述工作流的业务语义的UI原型设计的元信息协议。
示例性地,元信息协议表现为原型的组件及组件可设置的选项,其中组件可以是专门用途的组件也可以是普通UI组件,例如:UI按钮的点击事件,等等。
在一种可选实施方式中,所述生成用于表达所述业务语义的元信息协议的过程,可以包括以下步骤B1~步骤B3包括:
步骤B1,创建页面组件点击事件。
工作流涉及到多个页面,每个页面中又涉及到多个页面组件,本申请实施例中针对页面组件,创建页面组件点击事件。
示例性地,所述页面组件点击事件包括以下至少之一:环节提交、环节撤回、环节处理、环节委派、环节移交、环节加签、环节减签、流程办结、流程终止、流程处理、流程追踪。
步骤B2,创建页面表单与工作流环节的关联关系。
工作流涉及到多个页面,每个页面中又涉及到多个页面表单,不同的工作流环节可能涉及到不同的页面表单,因此可以创建页面表单与工作流环节的关联关系。
示例性地,页面表单与工作流环节的关联关系的具体信息,可以为页面表单标识与工作流环节标识的关联关系。在实现中,可以将页面表单与工作流环节的关联关系存储至数据表中,比如键值数据表等等。
步骤B3,将所述页面组件点击事件和所述关联关系,确定为所述元信息协议。
在创建页面组件点击事件以及页面表单与工作流环节的关联关系后,将所述页面组件点击事件和所述页面表单与工作流环节的关联关系,确定为用于表达所述业务语义的元信息协议。
步骤103,生成所述工作流的业务逻辑信息。
本申请实施例中,对工作流进行分析和逻辑推断,分析页面组件与工作流相关的元信息,汇总各页面的元信息,根据映射规则和依赖关系,推断出有助于生成代码的信息,推断出实现设计中声明的业务语义的代码模板及选项。
在一种可选实施方式中,所述生成所述工作流的业务逻辑信息的过程,可以包括以下步骤C1~步骤C5:
步骤C1,创建工作流环节与页面的映射关系,基于所述映射关系生成页面路由表。
工作流涉及到多个页面,不同的工作流环节可能涉及到不同的页面,因此可以创建工作流环节与页面的映射关系,基于所述映射关系生成页面路由表,通过推断出页面路由表可以省去页面编排设计工作
示例性地,页面与工作流环节的映射关系的具体信息,可以为页面标识与工作流环节标识的映射关系。在实现中,可以将页面与工作流环节的映射关系存储至数据表中,比如键值数据表等等。
步骤C2,创建运行时页面表单与工作流环节的第一绑定协议。
页面表单运行时与工作流环节相对应,因此可以创建运行时页面表单与工作流环节的第一绑定协议。
示例性地,运行时页面表单与工作流环节的第一绑定协议可以包括但不限于:工作流环节标识字段名称、页面加载后的环节相关的初始化语义声明,等等。
步骤C3,创建运行时页面列表与工作流环节的第二绑定协议。
页面列表运行时与工作流环节相对应,因此可以创建运行时页面列表与工作流环节的第二绑定协议。
示例性地,运行时页面列表与工作流环节的第二绑定协议可以包括但不限于:工作流环节标识字段名称、列表加载后的环节相关的初始化语义声明,等等。
步骤C4,设置工作流事件配套接口声明。
当前环节核心是推断算法,根据输入的信息输出业务逻辑信息;推断算法用于确定工作流事件配套接口的声明;为推断算法分析输入自动演绎出来,无需人工干预。
示例性地,工作流事件配套接口声明可以包括但不限于:接口地址、输入参数及字段、输出参数及字段、业务语义声明,等等。
步骤C5,将所述页面路由表、所述第一绑定协议、所述第二绑定协议和所述配套接口声明,确定为所述业务逻辑信息。
在通过上述过程得到所述页面路由表、所述第一绑定协议、所述第二绑定协议和所述配套接口声明之后,可以将所述页面路由表、所述第一绑定协议、所述第二绑定协议和所述配套接口声明,确定为所述工作流的业务逻辑信息。
在一种可选实施方式中,还可以进一步设置合适的代码模板及输入参数映射,作为所述工作流的业务逻辑信息。
步骤104,创建工作流控制代码模板。
本申请实施例中,按照工作流实现的业务语义提炼工作流控制代码模板,例如:编写串联代码模板、便于二次开发的卡口、页面跳转代码模板等,实现预制的模板化的工作流控制代码,并且定义实现的业务语义和要求的输入参数。
在一种可选实施方式中,所述创建工作流控制代码模板,可以包括以下步骤D1~步骤D2:
步骤D1,创建初始化语义配套的代码模板及调用输入参数。
步骤D2,创建后端接口业务语义配套的模板及调用输入参数。
步骤105,基于所述业务语义声明、所述元信息协议、所述业务逻辑信息和所述工作流控制代码模板,生成所述工作流对应的工作流控制代码。
在生成工作流的业务语义声明,生成用于表达所述业务语义的元信息协议,生成所述工作流的业务逻辑信息,以及创建工作流控制代码模板之后,可以调用代码生成工具,基于所述业务语义声明、所述元信息协议、所述业务逻辑信息和所述工作流控制代码模板,生成所述工作流对应的工作流控制代码。
本申请实施例中,针对工作流,扩展业务语义声明、元信息协议、业务逻辑信息以及配套的工作流控制代码模板,兼之依据元信息协议为原型设计增加合适的元信息,一方面,软件设计人员依据元信息协议为原型设计添加业务语义相关的信息,表现为在UI原型中添加合适的组件及按业务逻辑设置组件选项;另一方面,在不增加设计工作量前提下,通过业务逻辑推断可还原出更多原型设计所要表述的细节信息,而这些信息有助于生成更丰富完善的工作流控制代码,从而降低入门门槛和简化原型设计时的信息录入,可生成更丰富完善的业务逻辑主线代码,从而减少二次开发工作量。
参照图2,示出了本申请实施例的一种工作流代码生成过程的整体流程图。
如图2所示,在工作流代码生成过程中,包括基础代码生成流程和工作流控制代码生成流程。
在设计阶段,在基础代码生成流程中,进行业务表设计,原型设计,以及基础代码模板开发。
在设计阶段,在工作流控制代码生成流程中,进行业务语义声明设计,元信息协议设计,工作流控制代码模板开发,以及原型补充元信息。
在开发实现阶段,在基础代码生成流程中,基于业务表设计,原型设计,以及基础代码模板开发实现基础代码生成。
在开发实现阶段,在工作流控制代码生成流程中,基于业务语义声明设计,元信息协议设计,工作流控制代码模板开发,以及原型补充元信息实现工作流控制代码生成。
在开发实现阶段,基于基础代码和工作流控制代码实现合并代码,之后进行二次开发。
由图2可知,完整的工作流功能包含基础代码和工作流控制代码。
基础代码实现常规的CRUD(增加(Create)、检索(Retrieve)、更新(Update)和删除(Delete))功能,这部分代码采用行业通用的代码生成方法实现。
工作流控制代码实现工作流业务主线逻辑,这部分代码的生成是本申请实施例中的目标。
提炼过往项目的工作流相关的功能需求,可提前完成业务语义声明设计、元信息协议设计和工作流控制代码模块开发这三个单元的工作。在设计阶段为原型依据业务功能的理解补充合适的元信息。
在开发实现阶段生成基础代码和工作流控制代码并合并到项目代码后,进行二次开发补充业务逻辑。
本申请实施例中,一方面,能够简化原型设计,利用分析推断结果页面路由表,可在运行时唤起关联了当前环节的页面,利用合理的元信息协议,减少非必要的信息录入。另一方面,能够降低工作流功能开发的门槛,可生成工作流操作代码与业务逻辑解耦的后端代码,可通过扩展原型设计的元信息以生成更合适的工作流操作代码,从而开发人员大概率只需做业务相关的二次开发。
本申请实施例中的工作流控制代码生成方法可以在工作流引擎实现。工作流引擎则是实现驱动工作流的一套实现工具。工作流本质上是业务流的抽象,因此不同分类的业务流则形成了不同的工作流,进而有不同的工作流引擎来负责对不同类别的工作流进行具体的定义和实现。工作流引擎,一般都包括设计器的能力,即负责对业务流程的拖拽式工具,有插件式也有WEB云端式的。本申请实施例对于具体的工作流引擎不做限制,比如Activiti工作流引擎和Flowable工作流引擎等均适用。
下面,以具有代表性的待我审批列表页面为例描述实施步骤:
阶段一:设计阶段
步骤1:以通用方式业务表的设计;
步骤2:以通用方式完成符合BPMN2(Business Process Modeling Notation,业务流程建模与标注,包括这些图元如何组合成一个业务流程图)规范的审批流程的设计;
步骤3:以通用方式完成各环节审批页面的原型设计;
步骤4:为各审批页面加入环节标识元信息;
步骤5:以通用方式完成我的待审批页面的原型设计;
步骤6:为我的待审批页面中的列表加入处理按钮,为该按钮选择的点击事件选择流程处理;
阶段二:开发实现阶段
步骤7:以UI原型设计和业务表设计为输入,调用分析及推断工具生成分析结果;
步骤8:以UI原型设计和业务表设计为输入,调用代码生成工具生成基础代码;
步骤9:以步骤7的分析结果为基础,调用代码生成工具生成工作流控制代码。
本申请实施例中,一方面,通过引入分析推断,减少UI原型需输入的信息,同时为了维护页面之间设计一致的重复工作;另一方面,设计合理的业务语义声明与元信息协议,可推断出更准确的业务逻辑,从而通过生成代码实现更多的功能减少二次开发的工作量;也可降低开发人员的对业务熟悉度要求和编码能力的要求。
本申请实施例基于逻辑推理方式,提升代码模板的适用范围和减少原型设计中的繁琐细节,实现了开发过程更专业的分工:熟练开发人员扩展业务语义声明和开发代码模板,非熟练开发人员通过选择合适的元信息来实现工作流功能代码。
参照图3,示出了本申请实施例的一种工作流控制代码生成装置的结构框图。
如图3所示,工作流控制代码生成装置可以包括以下模块:
第一生成模块301,用于生成工作流的业务语义声明;
第二生成模块302,用于生成用于表达所述业务语义的元信息协议;
第三生成模块303,用于生成所述工作流的业务逻辑信息;
创建模块304,用于创建工作流控制代码模板;
第四生成模块305,用于基于所述业务语义声明、所述元信息协议、所述业务逻辑信息和所述工作流控制代码模板,生成所述工作流对应的工作流控制代码。
可选地,所述第一生成模块301包括:信息抽取单元,用于获取所述工作流的业务功能信息,从所述业务功能信息中抽取所述工作流的业务要素和所述业务要素之间的依赖关系;声明确定单元,用于将所述业务要素和所述业务要素之间的依赖关系,确定为所述工作流的业务语义声明。
可选地,所述第二生成模块302包括:事件创建单元,用于创建页面组件点击事件,所述页面组件点击事件包括以下至少之一:环节提交、环节撤回、环节处理、环节委派、环节移交、环节加签、环节减签、流程办结、流程终止、流程处理、流程追踪;关系创建单元,用于创建页面表单与工作流环节的关联关系;协议确定单元,用于将所述页面组件点击事件和所述关联关系,确定为所述元信息协议。
可选地,所述第三生成模块303包括:路由创建单元,用于创建工作流环节与页面的映射关系,基于所述映射关系生成页面路由表;第一协议创建单元,用于创建运行时页面表单与工作流环节的第一绑定协议;第二协议创建单元,用于创建运行时页面列表与工作流环节的第二绑定协议;声明设置单元,用于设置工作流事件配套接口声明;信息确定单元,用于将所述页面路由表、所述第一绑定协议、所述第二绑定协议和所述配套接口声明,确定为所述业务逻辑信息。
可选地,所述创建模块304包括:第一模板创建单元,用于创建初始化语义配套的代码模板及调用输入参数;第二模板创建单元,用于创建后端接口业务语义配套的模板及调用输入参数。
本申请实施例中,针对工作流,扩展业务语义声明、元信息协议、业务逻辑信息以及配套的工作流控制代码模板,兼之依据元信息协议为原型设计增加合适的元信息,一方面,软件设计人员依据元信息协议为原型设计添加业务语义相关的信息,表现为在UI原型中添加合适的组件及按业务逻辑设置组件选项;另一方面,在不增加设计工作量前提下,通过业务逻辑推断可还原出更多原型设计所要表述的细节信息,而这些信息有助于生成更丰富完善的工作流控制代码,从而降低入门门槛和简化原型设计时的信息录入,可生成更丰富完善的业务逻辑主线代码,从而减少二次开发工作量。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本申请的实施例中,还提供了一种电子设备。该电子设备可以包括一个或多个处理器,以及其上存储有指令的一个或多个计算机可读存储介质,指令例如应用程序。当所述指令由所述一个或多个处理器执行时,使得所述处理器执行上述任一实施例的工作流控制代码生成方法。
参照图4,示出了本申请实施例的一种电子设备结构的示意图。如图4所示,电子设备包括处理器401、通信接口402、存储器403和通信总线404。其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。
存储器403,用于存放计算机程序。
处理器401,用于执行存储器403上所存放的程序时,实现上述任一实施例的工作流控制代码生成方法。
通信接口402用于上述电子设备与其他设备之间的通信。
上述提到的通信总线404可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
上述提到的处理器401可以包括但不限于:中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)、数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,等等。
上述提到的存储器403可以包括但不限于:只读存储器(Read Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、光盘只读储存器(Compact DiscRead Only Memory,简称CD-ROM)、电可擦可编程只读存储器(Electronic ErasableProgrammable Read Only Memory,简称EEPROM)、硬盘、软盘、闪存,等等。
在本申请的实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序可由电子设备的处理器执行,当所述计算机程序被处理器执行时,使得所述处理器执行如上任一实施例所述的工作流控制代码生成方法。
本说明书中的各个实施例是相互关联的,各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM、RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
本领域普通技术人员可以意识到,结合本申请实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种工作流控制代码生成方法,其特征在于,所述方法包括:
生成工作流的业务语义声明;
生成用于表达所述业务语义的元信息协议;
生成所述工作流的业务逻辑信息;
创建工作流控制代码模板;
基于所述业务语义声明、所述元信息协议、所述业务逻辑信息和所述工作流控制代码模板,生成所述工作流对应的工作流控制代码。
2.根据权利要求1所述的方法,其特征在于,所述生成工作流的业务语义声明,包括:
获取所述工作流的业务功能信息,从所述业务功能信息中抽取所述工作流的业务要素和所述业务要素之间的依赖关系;
将所述业务要素和所述业务要素之间的依赖关系,确定为所述工作流的业务语义声明。
3.根据权利要求1所述的方法,其特征在于,所述生成用于表达所述业务语义的元信息协议,包括:
创建页面组件点击事件,所述页面组件点击事件包括以下至少之一:环节提交、环节撤回、环节处理、环节委派、环节移交、环节加签、环节减签、流程办结、流程终止、流程处理、流程追踪;
创建页面表单与工作流环节的关联关系;
将所述页面组件点击事件和所述关联关系,确定为所述元信息协议。
4.根据权利要求1所述的方法,其特征在于,所述生成所述工作流的业务逻辑信息,包括:
创建工作流环节与页面的映射关系,基于所述映射关系生成页面路由表;
创建运行时页面表单与工作流环节的第一绑定协议;
创建运行时页面列表与工作流环节的第二绑定协议;
设置工作流事件配套接口声明;
将所述页面路由表、所述第一绑定协议、所述第二绑定协议和所述配套接口声明,确定为所述业务逻辑信息。
5.根据权利要求1所述的方法,其特征在于,所述创建工作流控制代码模板,包括:
创建初始化语义配套的代码模板及调用输入参数;
创建后端接口业务语义配套的模板及调用输入参数。
6.一种工作流控制代码生成装置,其特征在于,所述装置包括:
第一生成模块,用于生成工作流的业务语义声明;
第二生成模块,用于生成用于表达所述业务语义的元信息协议;
第三生成模块,用于生成所述工作流的业务逻辑信息;
创建模块,用于创建工作流控制代码模板;
第四生成模块,用于基于所述业务语义声明、所述元信息协议、所述业务逻辑信息和所述工作流控制代码模板,生成所述工作流对应的工作流控制代码。
7.根据权利要求6所述的装置,其特征在于,所述第一生成模块包括:
信息抽取单元,用于获取所述工作流的业务功能信息,从所述业务功能信息中抽取所述工作流的业务要素和所述业务要素之间的依赖关系;
声明确定单元,用于将所述业务要素和所述业务要素之间的依赖关系,确定为所述工作流的业务语义声明。
8.根据权利要求6所述的装置,其特征在于,所述第二生成模块包括:
事件创建单元,用于创建页面组件点击事件,所述页面组件点击事件包括以下至少之一:环节提交、环节撤回、环节处理、环节委派、环节移交、环节加签、环节减签、流程办结、流程终止、流程处理、流程追踪;
关系创建单元,用于创建页面表单与工作流环节的关联关系;
协议确定单元,用于将所述页面组件点击事件和所述关联关系,确定为所述元信息协议。
9.根据权利要求6所述的装置,其特征在于,所述第三生成模块包括:
路由创建单元,用于创建工作流环节与页面的映射关系,基于所述映射关系生成页面路由表;
第一协议创建单元,用于创建运行时页面表单与工作流环节的第一绑定协议;
第二协议创建单元,用于创建运行时页面列表与工作流环节的第二绑定协议;
声明设置单元,用于设置工作流事件配套接口声明;
信息确定单元,用于将所述页面路由表、所述第一绑定协议、所述第二绑定协议和所述配套接口声明,确定为所述业务逻辑信息。
10.根据权利要求6所述的装置,其特征在于,所述创建模块包括:
第一模板创建单元,用于创建初始化语义配套的代码模板及调用输入参数;
第二模板创建单元,用于创建后端接口业务语义配套的模板及调用输入参数。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个计算机可读存储介质;
当所述指令由所述一个或多个处理器执行时,使得所述处理器执行如权利要求1至5任一项所述的工作流控制代码生成方法。
12.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至5任一项所述的工作流控制代码生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211648229.7A CN116069300A (zh) | 2022-12-21 | 2022-12-21 | 工作流控制代码生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211648229.7A CN116069300A (zh) | 2022-12-21 | 2022-12-21 | 工作流控制代码生成方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116069300A true CN116069300A (zh) | 2023-05-05 |
Family
ID=86172519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211648229.7A Pending CN116069300A (zh) | 2022-12-21 | 2022-12-21 | 工作流控制代码生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116069300A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116400905A (zh) * | 2023-05-26 | 2023-07-07 | 中科航迈数控软件(深圳)有限公司 | 一种用于调控多设备的代码自动生成方法及相关设备 |
CN117608560A (zh) * | 2024-01-24 | 2024-02-27 | 卡奥斯创智物联科技有限公司 | Lvgl页面显示代码生成方法、装置、设备及介质 |
-
2022
- 2022-12-21 CN CN202211648229.7A patent/CN116069300A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116400905A (zh) * | 2023-05-26 | 2023-07-07 | 中科航迈数控软件(深圳)有限公司 | 一种用于调控多设备的代码自动生成方法及相关设备 |
CN116400905B (zh) * | 2023-05-26 | 2023-08-11 | 中科航迈数控软件(深圳)有限公司 | 一种用于调控多设备的代码自动生成方法及相关设备 |
CN117608560A (zh) * | 2024-01-24 | 2024-02-27 | 卡奥斯创智物联科技有限公司 | Lvgl页面显示代码生成方法、装置、设备及介质 |
CN117608560B (zh) * | 2024-01-24 | 2024-04-12 | 卡奥斯创智物联科技有限公司 | Lvgl页面显示代码生成方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116069300A (zh) | 工作流控制代码生成方法、装置、电子设备及存储介质 | |
US20060184995A1 (en) | Creating a privacy policy from a process model and verifying the compliance | |
CN113052696B (zh) | 金融业务任务处理方法、装置、计算机设备和存储介质 | |
CN111126019A (zh) | 基于模式定制的报表生成方法、装置和电子设备 | |
Bocciarelli et al. | A model-driven method for building distributed simulation systems from business process models | |
CN110766341B (zh) | 优化作业调度的控制方法、装置、计算机设备及存储介质 | |
KR20180130733A (ko) | 협업 의존성 기반 컴포넌트 재사용 추천 시스템 및 방법 | |
Mistrík et al. | Economics-driven software architecture | |
CN112667631B (zh) | 业务字段自动编辑方法、装置、设备及存储介质 | |
CN116757650B (zh) | 一种基于机器学习的项目管理及资源调度的方法 | |
CN116661778A (zh) | 指标自动加工方法、装置、设备及存储介质 | |
CN111209281A (zh) | 年金数据处理方法、装置、介质及电子设备 | |
Narman et al. | Enterprise architecture analysis for data accuracy assessments | |
Elkholy et al. | Snowball framework for web service composition in SOA applications | |
Khan et al. | A Framework for automated reengineering of BPMN models by excluding inefficient activities | |
CN112667278B (zh) | 一种医院医保接口配置方法及系统 | |
Zatout et al. | A model-driven approach for the verification of an adaptive service composition | |
CN114170006A (zh) | 基于状态机的资讯数据获取方法、装置、设备及介质 | |
Habibi et al. | Generating test as a web service (TaaWS) through a method-based attribute grammar | |
CN113011984A (zh) | 金融产品的业务数据处理方法及装置 | |
CN111967806A (zh) | 基于定期回扫的用户风险更新方法、装置和电子设备 | |
Hartmann et al. | Positioning IT4IT in the face of classic Enterprise Architecture Frameworks | |
Boccanera et al. | Opti-Soft+: A Recommender and Sensitivity Analysis for Optimal Software Feature Selection and Release Planning. | |
Pesantes et al. | Evaluation of process architecture design methods | |
Feldt | Requirements metrics based on use cases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |