CN106775617A - 一种应用软件的业务逻辑配置方法及配置系统 - Google Patents
一种应用软件的业务逻辑配置方法及配置系统 Download PDFInfo
- Publication number
- CN106775617A CN106775617A CN201610988603.6A CN201610988603A CN106775617A CN 106775617 A CN106775617 A CN 106775617A CN 201610988603 A CN201610988603 A CN 201610988603A CN 106775617 A CN106775617 A CN 106775617A
- Authority
- CN
- China
- Prior art keywords
- node
- service logic
- application function
- input data
- configuration information
- 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
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
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种应用软件的业务逻辑配置方法及配置系统,用于通过业务逻辑配置信息调用配置好的图形化组件,从而得到应用功能的业务逻辑,简化了应用软件开发的复杂度,提高了应用软件的开发效率。本发明实施例方法包括:获取应用功能编辑指令,应用功能编址指令用于实现应用软件的应用功能;根据应用功能编辑指令获取业务逻辑配置信息;根据业务逻辑配置信息调用图形化组件,得到应用功能的业务逻辑,图形化组件为预先封装的程序代码。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用软件的业务逻辑配置方法及配置系统。
背景技术
随着软件技术的不断发展,在计算机行业诞生了很多为适应各行业发展而出现的计算机语言(如java,.net等)及相应的技术框架(如javaEE系列),使用这些语言技术可以极大的提高业务软件开发效率。现有技术中,为了软件系统的维护和开发方便,通常将整个业务软件分为表示层,业务逻辑层以及数据访问层的三层结构,业务逻辑层在两层之间,作为连接表示层和数据访问层的桥梁,具有非常重要的作用。
在应用这些技术进行软件开发的过程中,仍然需要大量的开发人员参与开发,需要编写大量的代码,系统开发存在一定复杂度。另外,不同开发人员的之间的代码风格很难统一,但业务逻辑与代码强耦合,这样使得开发人员必须通过阅读代码才能了解其他人员编写的业务逻辑,对于系统维护造成了不便。而且,在业务逻辑发生变化后,修改的代码需重新编译,重新编译后的代码替换到服务器上需重启服务器,不能实现热部署。
发明内容
本发明实施例提供了一种应用软件的业务逻辑配置方法及配置系统,用于通过业务逻辑配置信息调用配置好的图形化组件,从而得到应用功能的业务逻辑,简化了应用软件开发的复杂度,提高了应用软件的开发效率。
本发明实施例的第一方面提供了一种应用软件的业务逻辑配置方法,包括:
获取应用功能编辑指令,所述应用功能编址指令用于实现所述应用软件的应用功能;
根据所述应用功能编辑指令获取业务逻辑配置信息;
根据所述业务逻辑配置信息调用图形化组件,得到所述应用功能的业务逻辑,所述图形化组件为预先封装的程序代码。
相应地,所述图形化组件包括:起始节点、终止节点、判定节点以及操作节点;其中,所述起始节点用于标记业务逻辑起点,所述判定节点用于判定输入数据是否满足预设判定设置,所述操作节点用于执行预定动作,所述终止节点用于标记业务逻辑终点。
相应地,所述根据所述业务逻辑配置信息调用图形化组件,得到所述应用功能的业务逻辑,包括:
根据所述业务逻辑配置信息,确定起始节点及与所述起始节点联结的第一节点;
判断所述第一节点的节点类型;
若所述第一节点为操作节点,则执行预定动作,得到操作结果;
若所述第一节点为判定节点,则接收第一节点的输入数据,判断所述输入数据是否满足预设判定设置;
若满足所述预设判定设置,则判断与所述第一节点联结的第二节点的节点类型;
若不满足所述预设判定设置,则生成异常信息;
若所述第一节点为终止节点,则根据所述终止节点之前的所述操作节点的所述操作结果,得到所述应用功能的业务逻辑。
相应地,所述预设判定设置为两个以上,所述接收第一节点的输入数据,判断所述输入数据是否满足预设判定设置,包括:
将所述预设判定设置为树形结构,所述树形结构包括至少一个叶子节点和至少一个非叶子节点,所述树形结构中的每一个叶子节点与一个预设判定设置相对应;
接收第一节点的输入数据;
根据所述输入数据选择对应的预设判定设置,将所述输入数据输入对应的叶子节点,得到判断结果;
将所述判断结果输入与所述叶子节点联结的非叶子节点,得到执行结果;
根据所有的执行结果判断所述输入数据是否满足全部的预设判定设置。
相应地,所述方法还包括:
接收应用功能的功能标识,及所述应用功能的业务逻辑的业务逻辑配置信息;
将所述应用功能的所述功能标识和所述业务逻辑配置信息,配对保存至业务逻辑配置信息库中。
相应地,所述方法还包括:
通过至少一个图形中的第一图形表示起始节点,通过至少一个图形中的第二图形表示终止节点,通过至少一个图形中的第三图形表示判定节点,通过至少一个图形中的第四图形表示操作节点;
将所述第一图形、所述第二图形、所述第三图形及所述第四图形向用户展示。
本发明实施例第二方面提供了一种应用软件的业务逻辑配置系统,包括:
指令获取模块,用于获取应用功能编辑指令,所述应用功能编址指令用于实现所述应用软件的应用功能;
业务逻辑信息获取模块,用于根据所述应用功能编辑指令获取业务逻辑配置信息;
业务逻辑执行引擎,用于根据所述业务逻辑配置信息调用图形化组件,得到所述应用功能的业务逻辑,所述图形化组件为预先封装的程序代码。
相应地,所述图形化组件包括:起始节点、终止节点、判定节点以及操作节点;其中,所述起始节点用于标记业务逻辑起点,所述判定节点用于判定输入数据是否满足预设判定设置,所述操作节点用于执行预定动作,所述终止节点用于标记业务逻辑终点。
相应地,所述图形化组件调用模块具体用于:
根据所述业务逻辑配置信息,确定起始节点及与所述起始节点联结的第一节点;
判断所述第一节点的节点类型;
若所述第一节点为操作节点,则执行预定动作;
若所述第一节点为判定节点,则接收第一节点的输入数据,判断所述输入数据是否满足预设判定设置;
若满足所述预设判定设置,则判断与所述第一节点联结的第二节点的节点类型;
若不满足所述预设判定设置,则生成异常信息;
若所述第一节点为终止节点,则根据所述判定节点的预设判定设置和所述操作节点的预定动作,得到所述图形化组件的调用信息。
相应地,所述预设判定设置为两个以上,所述图形化组件调用模块还用于:
将所述预设判定设置为树形结构,所述树形结构包括至少一个叶子节点和至少一个非叶子节点,所述树形结构中的每一个叶子节点与一个预设判定设置相对应;
接收第一节点的输入数据;
根据所述输入数据选择对应的预设判定设置,将所述输入数据输入对应的叶子节点,得到判断结果;
将所述判断结果输入与所述叶子节点联结的非叶子节点,得到执行结果;
根据所有的执行结果判断所述输入数据是否满足全部的预设判定设置。
相应地,所述业务逻辑配置系统还包括:
组件图形化模块,具体用于通过至少一个图形中的第一图形表示起始节点,并通过至少一个图形中的第二图形表示终止节点,并通过至少一个图形中的第三图形表示判定节点;并通过至少一个图形中的第四图形表示操作节点;
所述组件图形化模块,还用于将所述第一图形、第二图形、第三图形以及第四图形向用户展示。
综上,本发明实施例具体以下优点:
本发明实施例中,业务逻辑配置系统获取应用功能编辑指令,应用功能编址指令用于实现应用软件的应用功能;根据应用功能编辑指令获取业务逻 辑配置信息;根据业务逻辑配置信息调用图形化组件,得到图形化组件的调用信息,图形化组件为预先封装的程序代码,图形化组件的调用信息用于指示应用功能的业务逻辑;根据图形化组件的调用信息得到应用功能的业务逻辑。与现有技术相比,分离了程序代码与业务逻辑,开发人员仅需要通过可视化的图形化组件实现业务逻辑的配置,无需额外编写代码,减少了开发人员的工作量,也能够实现热部署,使得应用软件的开发效率得到提升。
附图说明
图1为本发明应用软件的业务逻辑配置方法一个实施例的流程图;
图2为本发明调用图形化组件的的流程图;
图3为本发明构建图形化组件的流程图
图4为本发明判断节点类型的流程图;
图5为本发明应用软件的业务逻辑配置方法具体的应用实例的流程图;
图6为本发明应用软件的业务逻辑配置系统一个实施例的示意图;
图7为本发明应用软件的业务逻辑配置系统另一个实施例的示意图;
图8为本发明实施例中业务逻辑执行引擎的原理图;
图9为本发明实施例中操作节点的具体执行流程图;
图10为本发明实施例中决策条件的具体执行流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外, 术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明所述的应用软件的业务逻辑配置方法可以应用于各种应用开发类型的业务逻辑配置中。业务逻辑是三层开发概念中,位于中间的一层,能够联系上层的表示层和下层的数据访问层。一般的业务逻辑的开发过程中,与程序代码为强相关,通常需要编写许多额外的程序代码。在本发明的应用软件的业务逻辑配置方法,将程序代码与业务逻辑进行分离,并且程序代码是可视化的图形化组件形式,通过业务逻辑编辑指令调用图形化组件可以实现应用功能的业务逻辑。
请参阅图1,本发明实施例中应用软件的业务逻辑配置方法的一个实施例包括:
101、获取应用功能编辑指令;
本实施例中,应用功能编辑指令是由用户输入的,应用功能编辑指令用于实现应用软件的应用功能,该指令是便于用户理解的形象化指令而非抽象的机器语言。
102、根据应用功能编辑指令获取业务逻辑配置信息;
本实施例中,由于应用软件的应用功能是已知的,那么该应用功能在三层结构中的业务逻辑也已经知晓,而且在预先设置的业务逻辑配置信息库中也配套存储有应用功能和与该应用功能对应的业务逻辑配置信息,根据应用功能编辑指令从业务逻辑配置信息库中提取出业务逻辑配置信息。
103、根据业务逻辑配置信息调用图形化组件,得到应用功能的业务逻辑。
本实施例中,图形化组件为预先封装的程序代码。可以采用预先封装或者其它合适的方式,执行一个业务逻辑的需要执行不同的程序代码,因此,在确定业务逻辑配置信息后,从预先设置的多个图形化组件中调用实现应用功能所需要的图形化组件,从而得到应用功能的业务逻辑,而在调用图形化组件的过程中记录图形化组件的调用信息,例如先调用第一图形化组件执行 该组件中的程序代码,再调用第二图形化组件执行该组件中的程序代码,经过一连串的图形化组件的调用,可以得到应用功能的业务逻辑,调用过程中各图形化组件的逻辑先后顺序等特征记录为图形化组件的调用信息。
本发明实施例中,与现有技术相比,分离了程序代码与业务逻辑,开发人员仅需要通过可视化的图形化组件实现业务逻辑的配置,无需额外编写代码,减少了开发人员的工作量,也能够实现热部署,使得应用软件的开发效率得到提升。
可选的,本发明的一些实施例中,图形化组件包括:起始节点、终止节点、判定节点以及操作节点;其中,所述起始节点用于标记业务逻辑起点,所述判定节点用于判定输入数据是否满足预设判定设置,所述操作节点用于执行预定动作,所述终止节点用于标记业务逻辑终点。
本发明实施例中,节点是用于表示业务逻辑中的组成元素。在流程设计中,通常需要包含有开始,终结,判定以及操作这四种组成元素。开发人员在使用过程中,可以根据自己的需要,选择提供的节点。判定节点和执行节点都是具有预定内容的节点,其具体的内容信息既可以是预先设定的,也可以是由开发人员填写或者进行定期更新,作为其中的控件或者组件使用,能够完成特定的动作。
可选的,本发明的一些实施例中,根据业务逻辑配置信息调用图形化组件,得到应用功能的业务逻辑,包括:
根据业务逻辑配置信息,确定起始节点及与起始节点联结的第一节点;
判断第一节点的节点类型;
若第一节点为操作节点,则执行预定动作,得到操作结果;
若第一节点为判定节点,则接收第一节点的输入数据,判断输入数据是否满足预设判定设置;
若满足预设判定设置,则判断与第一节点联结的第二节点的节点类型;
若不满足预设判定设置,则生成异常信息;
若第一节点为终止节点,则根据终止节点之前的操作节点的操作结果,得到应用功能的业务逻辑。
本发明实施例中,对于一个完整的业务逻辑,至少应当包括一个起点,终点以及中间的判断或者动作。该逻辑流程是根据开发人员的编辑指令,联结各个节点形成的一个具有特定内在逻辑的流程。这样采用节点联结的方式能够直观简单的表示业务逻辑。
在实际应用过程中,该业务逻辑可以具有多种不同的属性信息,其具体的属性信息可以如下表1所示:
表1
属性名 | 属性类型 | 备注 |
业务标识 | 字符型 | 主键,唯一标识 |
业务名称 | 字符型 | 业务的名称信息 |
操作类型 | 字符型 | 分为普通操作和循环操作 |
循环集合 | 字符型 | 需循环的集合的变量名 |
循环因子 | 字符型 | 循环时集合中的具体元素 |
描述 | 字符型 | 对业务的描述信息 |
在开发人员完成了逻辑流程的编辑以后,对于计算机系统而言,这样形象的逻辑流程是无法使用的,需要进行进一步的解析和执行,才能完成业务逻辑的配置。具体的实现方式可以是交由预设的,能够执行该业务逻辑的引擎来完成(为陈述简便,以下简称为业务逻辑执行引擎,其可以是软件模块,也可以是硬件模块,或者软硬件模块结合以实现相应的功能)。
业务逻辑执行引擎可以根据输入的逻辑流程,依据各个节点形成的流程,分别将各个节点的动作或者预定的判定条件等,与对应代码联系,并由计算机系统根据对应的代码,执行逻辑流程中的各个步骤,完成业务逻辑的配置。
请参阅图2,图2为本发明实施例提供的步骤103的方法流程图。该步骤具体可以包括:
1031、根据业务逻辑配置信息,确定起始节点及与起始节点联结的第一节点;
1032、判断第一节点的节点类型,若是操作节点,则执行1033,若是判定节点,则执行1034,若是终止节点,执行1037;
1033、执行预定动作,得到操作结果;
1034、接收输入数据,判定输入数据是否满足预设判定设置,若是,则执行1035,若否,则执行1036;
1035、判断与第一节点联结的第二节点的节点类型;
1036、生成异常信息;
1037、若第一节点为终止节点,则根据终止节点之前的操作节点的操作结果,得到应用功能的业务逻辑。
在上述编辑逻辑流程的步骤中,各个节点之间为有向联结,亦即每个节点均有特定的指向目标,指向下一节点。因此,在解析过程中,需要按照节点的指向,依次的识别各个节点。
由于具有多种节点类型,需要对节点进行识别,在节点为判定节点时,则执行判定操作,若节点为操作节点时,则执行对应的操作,从而一步步的实现业务逻辑的配置。
在一般的情况下,逻辑流程内均包含有多个不同的节点,尤其的复杂的逻辑流程,具有更多的节点。因此,根据规则,需要一次的识别各个节点,一步步的遍历整个逻辑流程。其结束的标志由终止节点决定,亦即是当识别到当前节点为终止节点时,表示逻辑流程已经完毕,可以重新进行下一次的操作。
在具体应用过程中,判断节点和操作节点也可以具有多种不同的属性信息。其中,操作节点的属性信息可以如表2所示,判断节点的属性信息可以如表3所示。
表2
表3
图8为本发明实施例中,该业务逻辑执行引擎的原理图。如图8所示,与上述步骤相对应的,首先找到逻辑流程的起点,然后在执行判定节点或操作节点,并根据逻辑流程,相互的递归调用直至所有节点处理完毕,找到最终的终止节点,结束业务逻辑。当然,在一般情况下,还需要对其数据类型进行转换(例如将字符型数据进行转换),才能够完成相应的操作或者判断。
相对于现有技术,本发明实施例的业务逻辑配置方法具有以下优点:通过上述解析方式,在业务执行引擎的解析下,能够依次的完成逻辑流程的解析,将各个节点及其之间的逻辑关系反映到业务逻辑中并完成配置,实现了相互分离的逻辑流程(业务)和下层代码之间的联系。
由于在以上步骤中,仅提供了形象化的节点作为逻辑流程的构成元素。为了完成业务逻辑的配置,还需要进一步的提供各个节点具体的操作信息,或者相关的数据。将该操作信息,相关的数据放置在数据库中的方式,能够方便数据的调用和配置。业务逻辑执行引擎可以根据映射关系,根据数据库提供的数据,完成各个节点的操作。该数据库可以采用现有任何合适形式的数据库,例如嵌入式数据h2,其具备小巧方便而且便于进行备份移植的特点。
如上所述,操作节点与预定的操作相对应。在实际应用场景中,该预定的操作一般为执行sql,或在一些特定情况下需要使用java组件。在使用java组件时,执行这样的操作需要首先自定义java组件类,并实现execute方法。
而在一般执行sql操作时,该业务逻辑执行引擎可以分析查询其字段的数据类型,并通过参数类型转换等,将字符型参数转化为目标的数据类型。
以下以图9为本发明实施例提供的一个操作节点的具体执行流程为例进行阐述。如图9所示,首先业务逻辑执行引擎获取并判断该操作的类型(A1),若为java组件,则执行java组件(A2)。若否,则通过分析sql获取所需参数 (A3)。
查询sql中使用的库表的元信息,进行数据类型的转换(A4)。然后判断操作是否为查询(A5)。若否,执行sql组件(A6)。若是,根据查询类型进行封装,加入额外参数(A7)。然后将封装结果放入参数的上下文(A8)。
当然,操作节点执行完毕后,业务逻辑执行引擎将继续进入下一节点,根据节点类型进行判断或者操作。
可选的,本发明的一些实施例中,方法还包括:
接收应用功能的功能标识,及应用功能的业务逻辑的业务逻辑配置信息;
将应用功能的功能标识和业务逻辑配置信息,配对保存至业务逻辑配置信息库中。
本发明实施例中,业务逻辑配置信息库是预先建立的,应用软件的业务逻辑配置系统接收应用功能的功能标识,及应用功能的业务逻辑的业务逻辑配置信息,将应用功能的功能标识和业务逻辑配置信息配对保存至业务逻辑配置信息库中,使得根据应用功能编辑指令就能从业务逻辑配置信息库中得到对应的业务逻辑配置信息。
在本发明实施例中,请参阅图3,图形化组件的生成可以包括如下步骤:
301、通过至少一个图形中的第一图形表示起始节点,通过至少一个图形中的第二图形表示终止节点,通过至少一个图形中的第三图形表示判定节点,通过至少一个图形中的第四图形表示操作节点;
302、将第一图形、第二图形、第三图形及第四图形向用户展示。
以不同的图形来表示不同类型的节点,从而实现节点的可视化操作并方便开发人员的使用。该图形具体可以是逻辑流程中常用的图形类型,例如圆角的矩形表示起始或者终止节点,三角形表示判定节点,矩形表示操作节点等。该图形还可以是颜色与图形、文字与图形或者其他不同要素之间组合形成的多种图形来代表不同的判定节点或者操作节点。
在实际操作应用中,可以采用多种不同的方式实现上述节点的图形化展示,例如采用常用的图形库jsDraw2DX来实现图形化操作。
相对于现有技术,具有以下优点:通过上述节点的图形化展示,能够方 便开发人员使用,直观的进行编辑,能够与后端之间进行交互。使用过程中,开发人员只需要在可视化的图形界面上设计需要的执行结点并依次将他们关联起来即可,不需要编写额外的代码,因此简化了业务开发。另外,这样直观的编辑方式也可以使不同人员很容易理解彼此设计实现的业务逻辑,有利于开发人员与需求设计人员进行高效率的交流。
在实际的使用过程中,判定语句需要应付许多复杂的判断条件,这样的条件能够在编写代码时,嵌套多个判断条件来完成。但对于判定节点而言,其仅能够执行一次判断,输出结果只有“真”(输入参数符合预定条件)和“否”(输入参数不符合预定条件)两种,无法很好的满足复杂环境下的判断。
请参阅图4,判定节点的具体判定实现如下:
401、将预设判定设置为树形结构,树形结构包括至少一个叶子节点和至少一个非叶子节点,树形结构中的每一个叶子节点与一个预设判定设置相对应;
树形结构是一种数据元素之间存在着“一对多”关系的数据结构,是一类重要的非线性数据结构。在树形结构中,每个数据元素均作为一个节点,与其他数据元素之间存在着对应的连接关系。
所述预定条件为单一的判断条件,用于判断输入数据是否符合该条件,例如输入数据为奥巴马时,判断条件分别可以为男性,国家领导人这样独立的两个,分别与叶子节点对应。
叶子节点是指连接度为1的节点(亦即只与另一个节点连接),其位于树形结构的最低的层次。
402、接收输入数据;
403、根据输入数据选择对应的预设判定设置,将输入数据输入对应的叶子节点,得到判断结果;
404、将判断结果输入与叶子节点联结的非叶子节点,得到执行结果;
405、根据的执行结果判断输入数据是否满足全部的预设判定设置。
在步骤401将复杂判断中的多个预定条件分别作为一个叶子节点后,可以分别在各个叶子节点上执行判断操作,输入“是”或“否”的判断结果,进入到 下一层次的判断。
对于非叶子节点而言,其需要执行的运算类型为逻辑运算(与、或、非)。孩子节点为该节点的子树的根节点,亦即与该节点连接的其他节点。
该判断结果与实际运行的逻辑运算和输入的节点的判断结果相关,例如当来自与两个叶子节点的输入的判断结果为“是”,“否”时,若执行的逻辑运算为“与”时,则该非叶子节点输出的判断结构为“否”。
最终,通过重复执行上述多次运算以完成最终的判定操作。判定该输入数据是否满足预定条件的最终结果为树形结构的根节点输出的判断结果。
在本实施例中,使用了两种不同的运算方式,首先在叶子节点上使用一般的逻辑判断,将复杂的判断拆分为多个简单的一元判断,输出对应的判断结果(以下简称为决策条件)。然后,在其上额外的增加逻辑运算(与、或、非)从而支持复杂判断(以下简称为决策组合)。当然,如上所述,每个决策组合下还可以继续设置子决策组合,以进一步满足复杂判断的需求。
当然,在实际应用过程中,该决策条件可以通过beanshell脚本与java进行交互,灵活的为叶子节点实现判断结果的输出。其具体的决策条件和决策组合可以具有多种不同的属性信息,该具体的属性信息分别如下表4和表5所示。其中表4为决策组合的属性信息,表5为决策条件的属性信息。
表4
属性名 | 属性类型 | 备注 |
决策组合标识 | 字符型 | 主键,唯一标识 |
名称 | 字符型 | 决策组合的名称信息 |
组合类型 | 字符型 | &(与),||(或),!(非) |
提示 | 字符型 | 当条件不符合时的提示信息 |
上级标识 | 字符型 | 所属上级的标识 |
表5
以下以图10所示的本发明实施例提供的决策条件的具体执行流程为例,进行阐述。如图10所示,首先需要判断该预定条件的类型(B1),若为通用决策,直接从参数上下文获取参数值,并使用该值作为输出结果(B2)。若为sql决策,则执行sql判定(B3)。然后,分析sql参数(B4)并执行sql(B5)。
然后将执行sql的结果放入预定的变量中(B6),最后使用beanshell动态判断变量是否赋予预定条件,并输出“是”或“否”的判断结果(B7)。
相对于现有技术,本发明实施例的业务逻辑配置方法具有以下优点:通过设置决策条件和决策组合两种不同的运算,并将其组合后,能够实现复杂条件的判断,有利于拓展判定节点的应用范围,也能够很好的降低在逻辑流程中进行编辑的难度,使得逻辑流程更为简洁和直观。
为进一步的阐述,图5为本发明实施例提供一个具体的应用场景。如图5所示,其具体执行流程如下:
准备阶段:
501、设置各个节点的图形化组件,其中,以圆形表示起始和终止节点,矩形表示操作节点,菱形表示判定节点。节点之间的有向线段表示其之间的指向。
502、在业务逻辑配置信息库中配置相关的业务逻辑配置信息,包括操作 信息,判断条件等。
503、设置各个判定节点的具体判定输出设置。例如,在判定输入数据不满足预定条件时,提示进入下一步操作或者显示异常信息(抛向业务层)或者终止流程。
504、设置各个判定节点的具体判定条件。具体如本发明实施例所述,提供决策条件和决策组合两种运算方式来实现复杂条件的判断。
505、设置操作节点的操作信息,执行对应的业务动作。例如最常用的执行sql或者加入java组件的支持(能够更灵活的支持业务)。
使用阶段:
开发人员根据实际的业务逻辑要求,在界面上直接挑选符合要求的图形化组件,以有向线段连接编辑形成自己的所需的逻辑流程,并交由业务逻辑执行引擎完成业务逻辑的配置和执行。
以上对于本发明实施例的业务逻辑配置方法进行了描述。以下对于本发明实施例的业务逻辑配置系统进行描述。请参阅图6,本发明实施例的应用软件的业务逻辑配置系统包括:
指令获取模块601,用于获取应用功能编辑指令,应用功能编址指令用于实现应用软件的应用功能;
业务逻辑信息获取模块602,用于根据应用功能编辑指令获取业务逻辑配置信息;
业务逻辑执行引擎603,用于根据业务逻辑配置信息调用图形化组件,得到应用功能的业务逻辑,图形化组件为预先封装的程序代码。
可选地,图形化组件包括:起始节点、终止节点、判定节点以及操作节点;其中,起始节点用于标记业务逻辑起点,判定节点用于判定输入数据是否满足预设判定设置,操作节点用于执行预定动作,终止节点用于标记业务逻辑终点。
可选地,业务逻辑执行引擎603具体用于:根据业务逻辑配置信息,确定起始节点及与起始节点联结的第一节点;判断第一节点的节点类型;若第 一节点为操作节点,则执行预定动作,得到操作结果;若第一节点为判定节点,则接收输入数据,判断输入数据是否满足预设判定设置;若满足预设判定设置,则判断与第一节点联结的第二节点的节点类型;若不满足预设判定设置,则生成异常信息;若第一节点为终止节点,根据终止节点之前的操作节点的操作结果,得到应用功能的业务逻辑。
可选地,预设判定设置为两个以上,业务逻辑执行引擎603还用于:将预设判定设置为树形结构,树形结构包括至少一个叶子节点和至少一个非叶子节点,树形结构中的每一个叶子节点与一个预设判定设置相对应;接收第一节点的输入数据;根据输入数据选择对应的预设判定设置,将输入数据输入对应的叶子节点,得到判断结果;将判断结果输入与叶子节点联结的非叶子节点,得到执行结果;根据所有的执行结果判断输入数据是否满足全部的预设判定设置。
可选地,如图7所示,本发明的一些实施例中,业务逻辑配置系统还包括:
信息库建立模块604,用于接收应用功能的功能标识,及应用功能的业务逻辑的业务逻辑配置信息;
信息库建立模块604,还用于将应用功能的功能标识和业务逻辑配置信息,配对保存至业务逻辑配置信息库中。
可选地,如图7所示,本发明的一些实施例中,业务逻辑配置系统还包括:
组件图形化模块605,具体用于通过至少一个图形中的第一图形表示起始节点,并通过至少一个图形中的第二图形表示终止节点,并通过至少一个图形中的第三图形表示判定节点;并通过至少一个图形中的第四图形表示操作节点;
组件图形化模块605,还用于将第一图形、第二图形、第三图形以及第四图形向用户展示。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描 述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应 当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种应用软件的业务逻辑配置方法,其特征在于,包括:
获取应用功能编辑指令,所述应用功能编址指令用于实现所述应用软件的应用功能;
根据所述应用功能编辑指令获取业务逻辑配置信息;
根据所述业务逻辑配置信息调用图形化组件,得到所述应用功能的业务逻辑,所述图形化组件为预先封装的程序代码。
2.根据权利要求1所述的业务逻辑配置方法,其特征在于,所述图形化组件包括:起始节点、终止节点、判定节点以及操作节点;其中,所述起始节点用于标记业务逻辑起点,所述判定节点用于判定输入数据是否满足预设判定设置,所述操作节点用于执行预定动作,所述终止节点用于标记业务逻辑终点。
3.根据权利要求2所述的业务逻辑配置方法,其特征在于,所述根据所述业务逻辑配置信息调用图形化组件,得到所述应用功能的业务逻辑,包括:
根据所述业务逻辑配置信息,确定起始节点及与所述起始节点联结的第一节点;
判断所述第一节点的节点类型;
若所述第一节点为操作节点,则执行预定动作,得到操作结果;
若所述第一节点为判定节点,则接收输入数据,判断所述输入数据是否满足预设判定设置;
若满足所述预设判定设置,则判断与所述第一节点联结的第二节点的节点类型;
若不满足所述预设判定设置,则生成异常信息;
若所述第一节点为终止节点,则根据所述终止节点之前的所述操作节点的所述操作结果,得到所述应用功能的业务逻辑。
4.根据权利要求3所述的业务逻辑配置方法,其特征在于,所述预设判定设置为两个以上,
所述接收第一节点的输入数据,判断所述输入数据是否满足预设判定设置,包括:
将所述预设判定设置为树形结构,所述树形结构包括至少一个叶子节点和至少一个非叶子节点,所述树形结构中的每一个叶子节点与一个预设判定设置相对应;
接收第一节点的输入数据;
根据所述输入数据选择对应的预设判定设置,将所述输入数据输入对应的叶子节点,得到判断结果;
将所述判断结果输入与所述叶子节点联结的非叶子节点,得到执行结果;
根据所有的执行结果判断所述输入数据是否满足全部的预设判定设置。
5.根据权利要求1至4中任一项所述的业务逻辑配置方法,其特征在于,所述方法还包括:
接收应用功能的功能标识,及所述应用功能的业务逻辑的业务逻辑配置信息;
将所述应用功能的所述功能标识和所述业务逻辑配置信息,配对保存至业务逻辑配置信息库中。
6.根据权利要求5所述的业务逻辑配置方法,其特征在于,所述方法还包括:
通过至少一个图形中的第一图形表示起始节点,通过至少一个图形中的第二图形表示终止节点,通过至少一个图形中的第三图形表示判定节点,通过至少一个图形中的第四图形表示操作节点;
将所述第一图形、所述第二图形、所述第三图形及所述第四图形向用户展示。
7.一种应用软件的业务逻辑配置系统,其特征在于,包括:
指令获取模块,用于获取应用功能编辑指令,所述应用功能编址指令用于实现所述应用软件的应用功能;
业务逻辑信息获取模块,用于根据所述应用功能编辑指令获取业务逻辑配置信息;
业务逻辑执行引擎,用于根据所述业务逻辑配置信息调用图形化组件,得到所述应用功能的业务逻辑,所述图形化组件为预先封装的程序代码。
8.根据权利要求7所述的业务逻辑配置系统,其特征在于,所述图形化组件包括:起始节点、终止节点、判定节点以及操作节点;其中,所述起始节点用于标记业务逻辑起点,所述判定节点用于判定输入数据是否满足预设判定设置,所述操作节点用于执行预定动作,所述终止节点用于标记业务逻辑终点。
9.根据权利要求8所述的业务逻辑配置系统,其特征在于,所述业务逻辑执行引擎具体用于:
根据所述业务逻辑配置信息,确定起始节点及与所述起始节点联结的第一节点;
判断所述第一节点的节点类型;
若所述第一节点为操作节点,则执行预定动作,得到操作结果;
若所述第一节点为判定节点,则接收输入数据,判断所述输入数据是否满足预设判定设置;
若满足所述预设判定设置,则判断与所述第一节点联结的第二节点的节点类型;
若不满足所述预设判定设置,则生成异常信息;
若所述第一节点为终止节点,则根据所述终止节点之前的所述操作节点的所述操作结果,得到所述应用功能的业务逻辑。
10.根据权利要求9所述的业务逻辑配置系统,其特征在于,所述预设判定设置为两个以上,所述业务逻辑执行引擎还用于:
将所述预设判定设置为树形结构,所述树形结构包括至少一个叶子节点和至少一个非叶子节点,所述树形结构中的每一个叶子节点与一个预设判定设置相对应;
接收第一节点的输入数据;
根据所述输入数据选择对应的预设判定设置,将所述输入数据输入对应的叶子节点,得到判断结果;
将所述判断结果输入与所述叶子节点联结的非叶子节点,得到执行结果;
根据所有的执行结果判断所述输入数据是否满足全部的预设判定设置。
11.根据权利要求7至10中任一项所述的业务逻辑配置系统,其特征在于,所述业务逻辑配置系统还包括:
信息库建立模块,用于接收应用功能的功能标识,及所述应用功能的业务逻辑的业务逻辑配置信息;
所述信息库建立模块,还用于将所述应用功能的所述功能标识和所述业务逻辑配置信息,配对保存至业务逻辑配置信息库中。
12.根据权利要求11所述的业务逻辑配置系统,其特征在于,所述业务逻辑配置系统还包括:
组件图形化模块,具体用于通过至少一个图形中的第一图形表示起始节点,并通过至少一个图形中的第二图形表示终止节点,并通过至少一个图形中的第三图形表示判定节点;并通过至少一个图形中的第四图形表示操作节点;
所述组件图形化模块,还用于将所述第一图形、第二图形、第三图形以及第四图形向用户展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610988603.6A CN106775617A (zh) | 2016-11-09 | 2016-11-09 | 一种应用软件的业务逻辑配置方法及配置系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610988603.6A CN106775617A (zh) | 2016-11-09 | 2016-11-09 | 一种应用软件的业务逻辑配置方法及配置系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106775617A true CN106775617A (zh) | 2017-05-31 |
Family
ID=58972783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610988603.6A Pending CN106775617A (zh) | 2016-11-09 | 2016-11-09 | 一种应用软件的业务逻辑配置方法及配置系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106775617A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832316A (zh) * | 2017-06-12 | 2018-03-23 | 中国石油化工股份有限公司 | 可定制油田勘探开发集成展示信息的方法与装置 |
CN107894945A (zh) * | 2017-11-17 | 2018-04-10 | 深圳市泉眼网络科技有限公司 | 埋点添加方法、移动终端及计算机可读存储介质 |
CN108958714A (zh) * | 2018-07-02 | 2018-12-07 | 平安科技(深圳)有限公司 | 业务组件式开发方法、装置、计算机设备及存储介质 |
CN109324793A (zh) * | 2018-10-24 | 2019-02-12 | 北京奇虎科技有限公司 | 支持算法组件化的处理系统及方法 |
CN109343839A (zh) * | 2018-09-30 | 2019-02-15 | 武汉斗鱼网络科技有限公司 | 数据业务配置方法、存储介质、电子设备及系统 |
CN109445774A (zh) * | 2018-10-24 | 2019-03-08 | 北京奇虎科技有限公司 | 基于图元化操作的业务处理方法及装置 |
CN109766088A (zh) * | 2019-01-17 | 2019-05-17 | 宜创(北京)科技有限公司 | 程序生成方法、装置、数据处理方法及服务器 |
CN110162294A (zh) * | 2018-02-13 | 2019-08-23 | 北京嘀嘀无限科技发展有限公司 | 一种运营活动协议生成方法、生成系统及计算机设备 |
CN110175027A (zh) * | 2019-05-14 | 2019-08-27 | 广州衡昊数据科技有限公司 | 一种开发业务功能的方法和装置 |
CN110377275A (zh) * | 2019-07-18 | 2019-10-25 | 中汇信息技术(上海)有限公司 | 自动创建应用程序的方法和存储介质 |
CN110944048A (zh) * | 2019-11-29 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 业务逻辑配置方法及装置 |
CN111309314A (zh) * | 2020-01-21 | 2020-06-19 | 北京北方华创微电子装备有限公司 | 清洗设备的配置生成方法及清洗设备的配置生成系统 |
CN111522601A (zh) * | 2020-04-22 | 2020-08-11 | 北京思特奇信息技术股份有限公司 | 一种灵活配置多个组件任务的后端运行方法及系统 |
CN112099848A (zh) * | 2020-09-11 | 2020-12-18 | 杭州海康威视数字技术股份有限公司 | 一种业务处理方法、装置及设备 |
CN113760270A (zh) * | 2020-07-24 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种页面开发、渲染方法和装置 |
CN114489844A (zh) * | 2022-01-17 | 2022-05-13 | 阿里巴巴(中国)有限公司 | 基于组件实现的云通信方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101964938A (zh) * | 2009-07-21 | 2011-02-02 | 中兴通讯股份有限公司 | 业务生成系统及其实现方法 |
CN103246515A (zh) * | 2013-05-13 | 2013-08-14 | 珠海飞企软件有限公司 | 一种可视化mvc功能建模控制方法 |
CN103309648A (zh) * | 2012-03-12 | 2013-09-18 | 苏州工业园区进一科技有限公司 | 图形化制作软件的系统和方法 |
CN104572091A (zh) * | 2014-12-25 | 2015-04-29 | 百度在线网络技术(北京)有限公司 | 应用软件实现方法、装置以及计算机设备 |
CN105988815A (zh) * | 2015-03-04 | 2016-10-05 | 银联商务有限公司 | 一种业务流程开发方法及系统 |
-
2016
- 2016-11-09 CN CN201610988603.6A patent/CN106775617A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101964938A (zh) * | 2009-07-21 | 2011-02-02 | 中兴通讯股份有限公司 | 业务生成系统及其实现方法 |
CN103309648A (zh) * | 2012-03-12 | 2013-09-18 | 苏州工业园区进一科技有限公司 | 图形化制作软件的系统和方法 |
CN103246515A (zh) * | 2013-05-13 | 2013-08-14 | 珠海飞企软件有限公司 | 一种可视化mvc功能建模控制方法 |
CN104572091A (zh) * | 2014-12-25 | 2015-04-29 | 百度在线网络技术(北京)有限公司 | 应用软件实现方法、装置以及计算机设备 |
CN105988815A (zh) * | 2015-03-04 | 2016-10-05 | 银联商务有限公司 | 一种业务流程开发方法及系统 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832316A (zh) * | 2017-06-12 | 2018-03-23 | 中国石油化工股份有限公司 | 可定制油田勘探开发集成展示信息的方法与装置 |
CN107894945A (zh) * | 2017-11-17 | 2018-04-10 | 深圳市泉眼网络科技有限公司 | 埋点添加方法、移动终端及计算机可读存储介质 |
CN110162294A (zh) * | 2018-02-13 | 2019-08-23 | 北京嘀嘀无限科技发展有限公司 | 一种运营活动协议生成方法、生成系统及计算机设备 |
CN108958714B (zh) * | 2018-07-02 | 2021-08-24 | 平安科技(深圳)有限公司 | 业务组件式开发方法、装置、计算机设备及存储介质 |
CN108958714A (zh) * | 2018-07-02 | 2018-12-07 | 平安科技(深圳)有限公司 | 业务组件式开发方法、装置、计算机设备及存储介质 |
CN109343839A (zh) * | 2018-09-30 | 2019-02-15 | 武汉斗鱼网络科技有限公司 | 数据业务配置方法、存储介质、电子设备及系统 |
CN109324793A (zh) * | 2018-10-24 | 2019-02-12 | 北京奇虎科技有限公司 | 支持算法组件化的处理系统及方法 |
CN109445774A (zh) * | 2018-10-24 | 2019-03-08 | 北京奇虎科技有限公司 | 基于图元化操作的业务处理方法及装置 |
CN109766088A (zh) * | 2019-01-17 | 2019-05-17 | 宜创(北京)科技有限公司 | 程序生成方法、装置、数据处理方法及服务器 |
CN110175027A (zh) * | 2019-05-14 | 2019-08-27 | 广州衡昊数据科技有限公司 | 一种开发业务功能的方法和装置 |
CN110377275A (zh) * | 2019-07-18 | 2019-10-25 | 中汇信息技术(上海)有限公司 | 自动创建应用程序的方法和存储介质 |
CN110944048A (zh) * | 2019-11-29 | 2020-03-31 | 腾讯科技(深圳)有限公司 | 业务逻辑配置方法及装置 |
CN111309314A (zh) * | 2020-01-21 | 2020-06-19 | 北京北方华创微电子装备有限公司 | 清洗设备的配置生成方法及清洗设备的配置生成系统 |
CN111309314B (zh) * | 2020-01-21 | 2023-08-18 | 北京北方华创微电子装备有限公司 | 清洗设备的配置生成方法及清洗设备的配置生成系统 |
CN111522601A (zh) * | 2020-04-22 | 2020-08-11 | 北京思特奇信息技术股份有限公司 | 一种灵活配置多个组件任务的后端运行方法及系统 |
CN113760270A (zh) * | 2020-07-24 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种页面开发、渲染方法和装置 |
CN112099848A (zh) * | 2020-09-11 | 2020-12-18 | 杭州海康威视数字技术股份有限公司 | 一种业务处理方法、装置及设备 |
CN112099848B (zh) * | 2020-09-11 | 2024-03-05 | 杭州海康威视数字技术股份有限公司 | 一种业务处理方法、装置及设备 |
CN114489844A (zh) * | 2022-01-17 | 2022-05-13 | 阿里巴巴(中国)有限公司 | 基于组件实现的云通信方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106775617A (zh) | 一种应用软件的业务逻辑配置方法及配置系统 | |
US10853383B2 (en) | Interactive parallel coordinates visualizations | |
CN106067080B (zh) | 提供可配置工作流能力 | |
CN109445842A (zh) | 规则生成方法、装置、计算机设备和存储介质 | |
US11037342B1 (en) | Visualization modules for use within a framework for displaying interactive visualizations of event data | |
CN109324787A (zh) | 一种业务软件开发方法、装置及终端设备 | |
CN103631596B (zh) | 业务对象数据录入及更新规则的配置装置和配置方法 | |
CN109669688A (zh) | 基于可视化的软件开发方法、装置、终端设备及存储介质 | |
CN109324791A (zh) | 金融自助终端业务流程开发方法、装置及终端设备 | |
US10853380B1 (en) | Framework for displaying interactive visualizations of event data | |
CN108228166A (zh) | 一种基于模板的后端代码生成方法及系统 | |
CN112700329A (zh) | 一种风控规则引擎的响应方法和风控规则引擎 | |
CN103092742A (zh) | 程序日志记录优化方法和系统 | |
CN104572644A (zh) | 数据库更新装置和数据库更新方法 | |
CN112989059A (zh) | 潜在客户识别方法及装置、设备及可读计算机存储介质 | |
CN105868311A (zh) | 一种数据解析的方法和装置 | |
CN113986241B (zh) | 一种基于知识图谱的业务规则的配置方法以及装置 | |
CN109783802A (zh) | 一种业务规则处理方法、服务器及计算机可读存储介质 | |
CN109960538A (zh) | 一种配置界面管理方法、配置界面管理装置及电子设备 | |
CN107391506A (zh) | 用于查询数据的方法和装置 | |
CN110263104A (zh) | Json字符串处理方法及装置 | |
CN114564852A (zh) | 一种fmea数据节点的操作方法及电子设备 | |
CN110858160A (zh) | 资源调度方法及装置、存储介质和处理器 | |
CN116360766A (zh) | 一种基于ddd可视化设计器的低代码系统和装置 | |
CN108469977A (zh) | 一种界面数据管理方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |