发明内容
针对现有技术存在的缺陷,本发明提供一种面向引擎的应用软件开发方法,可有效解决上述问题。
本发明采用的技术方案如下:
本发明提供一种面向引擎的应用软件开发方法,包括以下步骤:
根据待开发的应用软件的功能需要,开发设计数据库引擎、开发框架引擎、自定义表单引擎、流程审批引擎、数据查询引擎和报表计算引擎;
其中,所述数据库引擎包括:
数据库引擎接口,用于被其他功能引擎进行调用,通过所述数据库引擎接口,访问及操作数据库;
数据库连接模块,用于预存储与不同类型数据库进行连接的连接配置信息;基于所述连接配置信息,与不同类型数据库进行连接,进而访问及操作不同类型数据库;
sql语句解析模块,用于将接收到的来自于外部的sql语句解析为与选定类型数据库对应的sql语句,进而解析到选定类型数据库中的数据库表名和字段;
数据库操作模块,用于对数据库连接模块所连接的数据库进行操作,包括:插入数据库表名和字段、删除数据库表名和字段、修改数据库表名和字段以及查询数据库表名和字段;
所述开发框架引擎包括:开发框架接口、开发框架模板模块、开发框架单元模块、开发框架配置模块、绑定模块和开发框架执行模块;
所述开发框架接口,用于调用所述数据库引擎接口,进而访问及操作数据库;
所述开发框架模板模块,用于定义开发框架引擎生成的系统管理功能模块的界面布局和样式,生成开发框架模板;
所述开发框架单元模块为多个,具体包括字典管理组件、单位管理组件、用户管理组件、角色管理组件、权限管理组件和菜单管理组件;各个所述开发框架单元模块以静态页面的方式,嵌入到所述开发框架模板中;
所述开发框架配置模块,用于配置生成所述系统管理功能模块所需的系统管理相关表,包括表分类表、表名表、字段名表、单位表、用户表、手机短信管理表、用户照片表、用户调动情况表、角色表、角色权限表、用户角色表、系统菜单表;所述系统管理相关表配置完成后,通过所述开发框架接口传入到所述数据库引擎的数据库引擎接口,进而通过所述数据库引擎,将所述系统管理相关表存入到数据库中;
所述绑定模块,用于将所述字典管理组件绑定所述表分类表、所述表名表和所述字段名表;将所述单位管理组件绑定所述单位表;将所述用户管理组件绑定所述用户表、所述手机短信管理表、所述用户照片表和所述用户调动情况表;将所述角色管理组件绑定所述角色表和所述用户角色表;将所述权限管理组件绑定所述角色权限表;将所述菜单管理组件绑定所述系统菜单表;
所述开发框架执行模块,用于当所述开发框架引擎被激活时,根据所述绑定模块绑定的管理组件与系统管理相关表之间的关系,调用所述数据库引擎,从数据库中读取到对应的系统管理相关表,再对所述系统管理相关表进行配置操作,得到管理组件绑定的管理配置信息,当所述管理组件被触发时,即弹出对应的管理配置信息,进而将静态的开发框架模板转换为可执行的系统管理功能模块;
所述自定义表单引擎包括:自定义表单引擎接口、数据录入相关表配置模块、数据录入模板模块、数据录入标签配置模块和自定义表单执行模块;
所述自定义表单引擎接口,用于调用所述数据库引擎接口,进而访问及操作数据库;
数据录入相关表配置模块,用于配置生成数据录入模板所需的数据录入相关表;
所述数据录入模板模块,用于定义所述自定义表单引擎生成的数据录入模板的界面布局和样式,生成静态的数据录入模板;所述数据录入模板在不同位置具有数据录入标签;所述数据录入标签的标签名称与对应的数据录入相关表的表字段名称一致;
数据录入标签配置模块,用于对所述数据录入标签的属性进行配置,所述数据录入标签的属性包括:是否是输入框、是否是选择框、是否是单选、是否是多选、是否是单位项、是否是人员项;
自定义表单执行模块,用于当所述自定义表单引擎被激活时,根据数据录入标签的标签名称与对应的数据录入相关表的表字段名称的对应关系,调用所述数据库引擎,从数据库中读取到对应的数据录入相关表,再根据所述数据录入标签配置模块所配置的数据录入标签的属性,对数据录入相关表进行配置操作,得到每个所述数据录入标签绑定的数据录入配置信息,当所述数据录入标签被触发时,即弹出对应的数据录入配置信息,进而将静态的数据录入模板转换为可执行的数据录入功能模块;
所述流程审批引擎包括:流程审批引擎接口、流程审批基础配置模块、流程审批步骤设置模块、流程步骤间关系设置模块、流程步骤审批属性设置模块、流程监控和任务重分配模块、流程管理模块以及流程审批执行模块;
流程审批引擎接口,用于调用所述数据库引擎接口和所述自定义表单引擎接口,通过调用所述数据库引擎接口,访问及操作数据库;通过调用所述自定义表单引擎接口,生成用于流程审批的可执行的数据录入功能模块,通过所述数据录入功能模块,生成可执行的审批表单;
流程审批基础配置模块,用于配置流程审批基础配置信息,包括功能按钮、各个流程步骤对应的数据录入功能模块、流程监控权限和流程审批权限;其中,所述功能按钮包括下一步、上一步级联关系功能按钮;
流程审批步骤设置模块,用于设置一个审批流程包含的各个审批步骤的名称;
流程步骤间关系设置模块,用于设置各个审批步骤之间的关联关系;
流程步骤审批属性设置模块,用于设置每个审批步骤的基本属性;所述审批步骤的基本属性包括策略属性、超时属性、操作属性、可控字段属性、表单属性、附件属性和参考者属性;
流程监控和任务重分配模块,用于对执行过程中的流程进行监控和任务重分配;
流程管理模块,用于管理流程、更改流程、初始化流程和删除流程;
流程审批执行模块,用于读取所述流程步骤间关系设置模块,获得各个审批步骤之间的关联关系;对于每一个审批步骤,读取所述流程步骤审批属性设置模块,获得该审批步骤对应的可控字段属性和表单属性;根据所述可控字段属性和表单属性,通过所述流程审批引擎接口,生成对应的可执行的审批表单;再根据各个审批步骤之间的关联关系,向所述可执行的审批表单中嵌入对应的表示级联关系的功能按钮,生成可执行的审批步骤;各个可执行的审批步骤按级联关系整合为流程审批功能模块;
所述数据查询引擎包括:
数据查询引擎接口,用于调用所述数据库引擎接口,通过调用所述数据库引擎接口,访问及操作数据库;
数据查询基础配置模块,用于配置数据查询操作按钮;
数据查询基本属性配置模块,用于设置数据查询对应的数据查询主表及数据查询方式;
查询关联表属性设置模块,用于配置多表关联查询;
查询初始条件属性设置模块,用于设置数据查询的筛选条件;
查询列设置模块,用于设置数据查询主表中作为查询条件的列字段;
结果列设置模块,用于设置数据查询主表中作为查询结果的列字段;
查询结果按钮属性设置模块,用于设置对数据查询结果进行进一步的功能操作按钮;
排序属性设置模块,用于设置作为数据查询结果排序的字段;
数据查询执行模块,用于根据所述数据查询基本属性配置模块设置的数据查询主表,调用所述数据库引擎接口,获得数据查询主表;所述数据查询主表为静态表;然后,向所述数据查询主表嵌入所述数据查询操作按钮,并向所述数据查询主表绑定以下查询配置信息:查询关联表属性设置模块所设置的多表关联查询信息、查询初始条件属性设置模块设置的筛选条件、查询列设置模块所设置的作为查询条件的列字段、结果列设置模块所设置的作为查询结果的列字段、查询结果按钮属性设置模块所设置的进一步的功能操作按钮、排序属性设置模块所设置的作为数据查询结果排序的字段;然后,当所述数据查询执行模块被触发明,按照所述查询配置信息,对所述数据查询主表进行查询,并返回查询结果,从而将静态的数据查询主表转换为可执行的数据查询模块;
所述报表计算引擎包括:
报表计算引擎接口,用于调用所述数据库引擎接口,通过调用所述数据库引擎接口,访问及操作数据库;
统计报表模板模块,用于定义报表计算引擎生成的统计报表的展示风格和样式,生成统计报表模板;所述统计报表模板具有若干个统计报表标签;
统计报表基础属性设置模块,用于设置统计报表基础信息,统计报表基础信息包括统计报表名称;
第1统计报表绑定模块,用于将统计报表模板绑定统计报表数据源ID;通过报表计算引擎接口查询数据库,得到对应的统计报表数据源;
统计报表筛选模块,用于对所述统计报表绑定模块获得的所述统计报表数据源进行初始筛选,得到筛选后的统计报表数据源;
第2计算项绑定模块,用于使统计报表模板中的每个统计报表标签绑定一个计算项及每个计算项的计算公式;
统计报表执行模块,用于读取所述统计报表筛选模块筛选得到的筛选后的统计报表数据源,并基于所述第2计算项绑定模块绑定的每个计算项及每个计算项的计算公式,对所述筛选后的统计报表数据源进行统计计算,得到统计结果,并将统计结果展示在对应的统计报表标签下面,进而将静态的统计报表模板转化为可执行的统计报表功能模块;
最后,将所述数据库引擎、所述开发框架引擎、所述自定义表单引擎、所述流程审批引擎、所述数据查询引擎和所述报表计算引擎进行整合,得到最终开发的应用软件。
本发明提供的面向引擎的应用软件开发方法具有以下优点:
面向引擎的应用软件开发方法能大大提高软件开发效率、提高软件开发质量、降低软件开发成本。
具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种面向引擎的应用软件开发方法,面向引擎的软件开发不是某种计算机语言,不是某种单一的引擎,是一种能大幅提高软件开发效率和质量的新一代软件开发技术和软件开发方法。本发明将面向对象、面向组件的概念提升到面向引擎的层面,推出一系列与业务无关性的功能强大的各种引擎,凡是传统方式能实现的功能用引擎解析的方式都能高效实现,兼容原有技术、第三方技术。
本发明核心的理念不是推出一种不用写代码或不懂开发技术就能开发管理软件的系统,也不是推出什么问题都能解决的系统,而是一种大大提高开发效率和质量、降低开发难度的全新软件开发技术和软件开发方法,本发明相比较结构化程序设计是一次巨大的技术革新,引入了“面向引擎的软件开发方法”,开发人员只需在引擎中配置各种属性,在引擎的各种事件中编程,导入通用模板,复杂的事情交给引擎自动解析生成软件功能模块,制作模板和在引擎的事件中编程容纳百家之长,开发人员可以采用擅长的前后端技术来实现。
参考图1,面向引擎的软件开发方法实现的步骤:
(1)根据应用方向采用特定的引擎来开发;
(2)对引擎进行配置;
(3)制作引擎的模板或其它设置;
(4)对引擎的接口进行编程;
(5)引擎自动解析生成软件模块。
参考图2,为面向引擎的软件开发方法的实现原理图。如图3所示,为面向引擎的软件开发方法的实现框图。
根据应用软件功能的需求,将开发引擎分成开发框架引擎、数据库引擎、自定义表单引擎、流程审批引擎、数据查询引擎、报表引擎,如图4所示,为一种具体的面向引擎的软件开发方法的实现框图。
具体包括以下步骤:
根据待开发的应用软件的功能需要,开发设计数据库引擎、开发框架引擎、自定义表单引擎、流程审批引擎、数据查询引擎和报表计算引擎。下面对各个引擎分别详细介绍:
(一)数据库引擎
参考图5,为数据库引擎实现原理图;
数据库引擎包括:
数据库引擎接口,用于被其他功能引擎进行调用,通过所述数据库引擎接口,访问及操作数据库;
数据库连接模块,用于预存储与不同类型数据库进行连接的连接配置信息;基于所述连接配置信息,与不同类型数据库进行连接,进而访问及操作不同类型数据库;
sql语句解析模块,用于将接收到的来自于外部的sql语句解析为与选定类型数据库对应的sql语句,进而解析到选定类型数据库中的数据库表名和字段;
数据库操作模块,用于对数据库连接模块所连接的数据库进行操作,包括:插入数据库表名和字段、删除数据库表名和字段、修改数据库表名和字段以及查询数据库表名和字段。
通过数据库引擎建立数据库表和字段、执行sql语句,不直接面对数据库,由数据库引擎来对接各种数据库(Oracle、MS Sqlserver、Mysql等),开发人员只需面向数据库引擎调用标准接口编程建立和调用数据库表和字段,各种数据库中不同的各种复杂的差异性开发人员不用去学习,简化软件开发时对数据库的管理和调用,提高数据的执行效率。
数据库引擎解析步骤:
开发人员只需调用数据库引擎的接口来执行数据库的相关操作,数据库引擎会自动判断采用的数据库类型,解析数据库引擎的接口中的sql语句成选定数据库的sql语句,调用数据库的jdbc驱动,到数据库管理系统中去执行,开发人员只需面向数据库引擎操作,不需要了解复杂的数据库使用和管理技术。
(二)开发框架引擎
参考图6,为开发框架引擎的实现原理图。参考图7,为开发框架引擎解析生成系统管理模块的流程图。
开发框架引擎包括:开发框架接口、开发框架模板模块、开发框架单元模块、开发框架配置模块、绑定模块和开发框架执行模块;
所述开发框架接口,用于调用所述数据库引擎接口,进而访问及操作数据库;
所述开发框架模板模块,用于定义开发框架引擎生成的系统管理功能模块的界面布局和样式,生成开发框架模板;
所述开发框架单元模块为多个,具体包括字典管理组件、单位管理组件、用户管理组件、角色管理组件、权限管理组件和菜单管理组件;各个所述开发框架单元模块以静态页面的方式,嵌入到所述开发框架模板中;
所述开发框架配置模块,用于配置生成所述系统管理功能模块所需的系统管理相关表,包括表分类表、表名表、字段名表、单位表、用户表、手机短信管理表、用户照片表、用户调动情况表、角色表、角色权限表、用户角色表、系统菜单表;所述系统管理相关表配置完成后,通过所述开发框架接口传入到所述数据库引擎的数据库引擎接口,进而通过所述数据库引擎,将所述系统管理相关表存入到数据库中;
所述绑定模块,用于将所述字典管理组件绑定所述表分类表、所述表名表和所述字段名表;将所述单位管理组件绑定所述单位表;将所述用户管理组件绑定所述用户表、所述手机短信管理表、所述用户照片表和所述用户调动情况表;将所述角色管理组件绑定所述角色表和所述用户角色表;将所述权限管理组件绑定所述角色权限表;将所述菜单管理组件绑定所述系统菜单表;
所述开发框架执行模块,用于当所述开发框架引擎被激活时,根据所述绑定模块绑定的管理组件与系统管理相关表之间的关系,调用所述数据库引擎,从数据库中读取到对应的系统管理相关表,再对所述系统管理相关表进行配置操作,得到管理组件绑定的管理配置信息,当所述管理组件被触发时,即弹出对应的管理配置信息,进而将静态的开发框架模板转换为可执行的系统管理功能模块;
实际应用中,开发框架引擎实现过程为:
1.开发人员配置开发框架引擎:
开发人员通过配置开发框架引擎和对引擎编程,开发框架引擎解析生成相应的系统管理功能模块。
2.开发框架引擎生成系统管理相关表:
表属性如下:表分类表(BPIP_TABLESPACE)、表名表(BPIP_TABLE)、字段名表(BPIP_FIELD)、系统菜单表(BPIP_MENU)、角色表(BPIP_ROLE)、
角色权限表(BPIP_ROLE_RERMISSISSON)、用户角色表(BPIP_USER_ROLE)、单位(部门)表(BPIP_UNIT)、用户表(BPIP_USER)、用户照片表(BPIP_USER_PHOTO)、用户调动情况表(BPIP_USER_REMOVE)、消息管理表(BPIP_MSGCONTENT)、意见设置表(BPIP_USER_IDEA)、手机短信管理表(BPIP_HANDSET)、
3.开发框架引擎生成相关页面及文件:
以下相关文件生成到开发人员的项目中。
ZRpowerWeb:Web项目的相关web文件。
开发时需要加入的lib:开发时需要加入的jar文件。
运行时所需的第三方jar文件。
4.开发框架引擎生成后台管理相关文件:
生成文件夹ZRpowerWeb-scr:Web项目的后台管理源代码文件。
5.开发框架引擎生成相关配置文件:
生成文件夹Properties:配置文件,可以更改里面的文件设置属性。
6.开发框架引擎根据开发人员的配置及编程生成完整的系统管理模块:
生成可以运行的系统管理功能模块,开发人员可以在此基础上进一步深入开发系统管理功能。
(三)自定义表单引擎
如图8所示,为自定义表单引擎的实现原理图。如图9所示,为自定义表单引擎的实现流程图。
所述自定义表单引擎包括:自定义表单引擎接口、数据录入相关表配置模块、数据录入模板模块、数据录入标签配置模块和自定义表单执行模块;
所述自定义表单引擎接口,用于调用所述数据库引擎接口,进而访问及操作数据库;
数据录入相关表配置模块,用于配置生成数据录入模板所需的数据录入相关表;
所述数据录入模板模块,用于定义所述自定义表单引擎生成的数据录入模板的界面布局和样式,生成静态的数据录入模板;所述数据录入模板在不同位置具有数据录入标签;所述数据录入标签的标签名称与对应的数据录入相关表的表字段名称一致;
数据录入标签配置模块,用于对所述数据录入标签的属性进行配置,所述数据录入标签的属性包括:是否是输入框、是否是选择框、是否是单选、是否是多选、是否是单位项、是否是人员项;
自定义表单执行模块,用于当所述自定义表单引擎被激活时,根据数据录入标签的标签名称与对应的数据录入相关表的表字段名称的对应关系,调用所述数据库引擎,从数据库中读取到对应的数据录入相关表,再根据所述数据录入标签配置模块所配置的数据录入标签的属性,对数据录入相关表进行配置操作,得到每个所述数据录入标签绑定的数据录入配置信息,当所述数据录入标签被触发时,即弹出对应的数据录入配置信息,进而将静态的数据录入模板转换为可执行的数据录入功能模块。
因此,开发人员调用自定义表单引擎执行以下步骤即可开发出一个数据录入模块。
后台会调用到数据库引擎。
增加数据录入模块基础配置:配置数据录入模块对应的表和数据录入模板。
制作数据录入模板:用常用的静态网页工具制作的数据录入模板,制作时标签名称与数据表字段名称保持一致。
设置模板中字段属性:设置各个录入项是输入框、选择框、单选、多选、是否是单位项、是否是人员项等属性。
数据录入模板的编程:可以直接对自定义表单引擎进行编程,后台会自动解析编程内容执行。
数据录入模块的调用:采用特定地址+ID调用即可生成一个完整的数据录入模块。
采用面向引擎的软件开发方法开发数据录入模块,非常简单和高效。
自定义表单引擎解析生成数据录入模块的步骤为:
1.开发人员配置自定义表单、制作表单模板和编程:
开发人员配置自定义表单生成需要的所有属性和自定义编程。
2.自定义表单引擎生成装载配置的相关表:
自定义表单引擎生成装载配置的相关表,为后台的表单解析提供支撑。
表属性如下:
文档配置表(COLL_DOC_CONFIG)
打印模版配置表(COLL_DOC_PRINT)
字段 |
字段名称 |
数据类型 |
大小 |
备注 |
编号 |
ID |
VARchar2 |
8 |
主键 |
文档编号 |
DOCID |
VARchar2 |
8 |
COLL_DOC_CONFIG |
打印模版 |
TEMPLAET |
VARchar2 |
80 |
|
页码 |
PAGE |
NUMBER |
2 |
|
表单可操作字段表(COLL_CONFIG_OPERATE_FIELD)
3.自定义表单引擎解析表单模板中的标签
表单模板是标准的html文件模板,支持标准html的所有技术,表单引擎解析抓取表单模板中的标签内容,根据配置表中的各种属性生成各种可运行的并且有值的表单中的标签代码。
4.自定义表单引擎解析出各标签替换到表单模板中
解析生成的代码替换到原来模板对应的标签中,生成像传统软件开发方式开发出来的页面。
5.自定义表单引擎生成可运行的表单页面
模板解析完后自定义表单引擎进一步生成可运行的表单页面,为后面数据保存或修改提供支撑。
6.自定义表单引擎抓取可运行的表单页面数据进行保存或修改数据,返给开发人员调用地址,完成表单开发。
表单的最终目的是要能实现数据的录入保存或修改数据,最后给开发人员返回可调用的地址,通过特定地址调用集成到开发项目中,完成各种表单的开发。
(四)流程审批引擎
参考图10,为流程审批引擎的实现原理图。参考图11,为流程审批引擎的实现流程图。
所述流程审批引擎包括:流程审批引擎接口、流程审批基础配置模块、流程审批步骤设置模块、流程步骤间关系设置模块、流程步骤审批属性设置模块、流程监控和任务重分配模块、流程管理模块以及流程审批执行模块;
流程审批引擎接口,用于调用所述数据库引擎接口和所述自定义表单引擎接口,通过调用所述数据库引擎接口,访问及操作数据库;通过调用所述自定义表单引擎接口,生成用于流程审批的可执行的数据录入功能模块,通过所述数据录入功能模块,生成可执行的审批表单;
流程审批基础配置模块,用于配置流程审批基础配置信息,包括功能按钮、各个流程步骤对应的数据录入功能模块、流程监控权限和流程审批权限;其中,所述功能按钮包括下一步、上一步级联关系功能按钮;
流程审批步骤设置模块,用于设置一个审批流程包含的各个审批步骤的名称;
流程步骤间关系设置模块,用于设置各个审批步骤之间的关联关系;
流程步骤审批属性设置模块,用于设置每个审批步骤的基本属性;所述审批步骤的基本属性包括策略属性、超时属性、操作属性、可控字段属性、表单属性、附件属性和参考者属性;
流程监控和任务重分配模块,用于对执行过程中的流程进行监控和任务重分配;
流程管理模块,用于管理流程、更改流程、初始化流程和删除流程;
流程审批执行模块,用于读取所述流程步骤间关系设置模块,获得各个审批步骤之间的关联关系;对于每一个审批步骤,读取所述流程步骤审批属性设置模块,获得该审批步骤对应的可控字段属性和表单属性;根据所述可控字段属性和表单属性,通过所述流程审批引擎接口,生成对应的可执行的审批表单;再根据各个审批步骤之间的关联关系,向所述可执行的审批表单中嵌入对应的表示级联关系的功能按钮,生成可执行的审批步骤;各个可执行的审批步骤按级联关系整合为流程审批功能模块;
实际应用中,开发人员调用流程审批引擎执行以下步骤即可开发出一个流程审批模块。
后台会调用到数据库引擎和自定义表单引擎。
设置流程基础配置:设置流程的功能按钮和所执行的代码。
设置流程基本属性:设置流程对应的数据录入模块、流程监控权限和流程审批权限。
设置流程步骤:设置一个审批流程包含的步骤以及每步审批的名称。
设置流程步骤间的关系:设置每一步审批同其它步骤间的关系。
设置流程步骤的审批属性:包括流程步骤的基础属性、策略属性、超时属性、操作属性、可控字段属性、表单属性、附件属性、参考者属性等。
流程监控和任务重分配:执行过程中的流程可以进行监控和任务重分配。
流程管理:管理流程、更改流程、初始化流程、删除流程等。
流程审批编程:针对流程审批特殊性进行编程。
流程审批模块的调用:采用特定地址+ID调用即可生成一个完整的流程审批模块。
采用面向引擎的软件开发方法开发流程审批模块,非常简单和高效。
流程审批引擎采用以下步骤转化为流程审批功能模块:
1.开发人员配置流程审批属性和编程:
开发人员配置流程审批生成需要的所有属性和自定义编程。
2.流程审批引擎生成装载配置的相关表:
流程审批引擎生成装载配置的相关表,为后台的流程审批解析提供支撑。
表属性如下:
流程包管理表(FLOW_CONFIG_PACKAGE)、流程按钮表(FLOW_BASE_BUTTON)、流程表(FLOW_CONFIG_PROCESS)、活动表(FLOW_CONFIG_ACTIVITY)、活动依赖转发(关系)表(FLOW_CONFIG_ACTIVITY_CONNE)、活动按钮关系表(FLOW_CONFIG_ACTIVITY_BUTTON)、活动流程组表(FLOW_CONFIG_ACTIVITY_GROUP)、过程流程组表(FLOW_CONFIG_PROSESS_GROUP)、关系处理人表(FLOW_CONFIG_CONN_AUTHOR)、活动可操作字段表(FLOW_CONFIG_OPERATE_FIELD)、时间限制表(FLOW_CONFIG_TIME)、流程流转表(FLOW_RUNTIME_PROCESS)、流程流转过程表(FLOW_RUNTIME_ACTIVITY)、流程权限委托管理表(FLOW_CONFIG_ENTRUST)、流程权限委托管理表(FLOW_RUNTIME_ENTRUSTLOG)、流程操作日志表(FLOW_MANAGE_NOTE)。
3.流程审批引擎对接审批表单
流程引擎需要同自定义表单引擎对接,让配置的表单提供给流程审批使用,也就是流程的审批对象包含有审批表单的信息。
4.生成流程审批页面及流程执行过程中的属性
生成流程审批页面及流程执行过程中的属性,这个过程相当于传统软件开发方式经过长期复杂的开发才能实现的流程审批基本功能。
生成的流程审批模块在流程运行过程中根据以下各种属性来判断执行相应的流程操作。
5.流程审批引擎生成流程运行时的页面和文件,返给开发人员调用地址,完成流程审批开发。
流程审批引擎生成流程运行时的页面和文件,返给开发人员调用地址,开发人员集成到项目中,完成流程审批的开发。
6.流程审批引擎生成流程管理的相关页面及文件,返给开发人员调用地址,完成流程管理部分的开发。
流程审批引擎生成流程管理的相关页面及文件,返给开发人员调用地址,开发人员集成到项目中,完成流程管理部分的开发。
(五)数据查询引擎
如图12所示,为数据查询引擎的实现原理图。如图13所示,为数据查询引擎的实现流程图。
所述数据查询引擎包括:
数据查询引擎接口,用于调用所述数据库引擎接口,通过调用所述数据库引擎接口,访问及操作数据库;
数据查询基础配置模块,用于配置数据查询操作按钮;
数据查询基本属性配置模块,用于设置数据查询对应的数据查询主表及数据查询方式;
查询关联表属性设置模块,用于配置多表关联查询;
查询初始条件属性设置模块,用于设置数据查询的筛选条件;
查询列设置模块,用于设置数据查询主表中作为查询条件的列字段;
结果列设置模块,用于设置数据查询主表中作为查询结果的列字段;
查询结果按钮属性设置模块,用于设置对数据查询结果进行进一步的功能操作按钮;
排序属性设置模块,用于设置作为数据查询结果排序的字段;
数据查询执行模块,用于根据所述数据查询基本属性配置模块设置的数据查询主表,调用所述数据库引擎接口,获得数据查询主表;所述数据查询主表为静态表;然后,向所述数据查询主表嵌入所述数据查询操作按钮,并向所述数据查询主表绑定以下查询配置信息:查询关联表属性设置模块所设置的多表关联查询信息、查询初始条件属性设置模块设置的筛选条件、查询列设置模块所设置的作为查询条件的列字段、结果列设置模块所设置的作为查询结果的列字段、查询结果按钮属性设置模块所设置的进一步的功能操作按钮、排序属性设置模块所设置的作为数据查询结果排序的字段;然后,当所述数据查询执行模块被触发明,按照所述查询配置信息,对所述数据查询主表进行查询,并返回查询结果,从而将静态的数据查询主表转换为可执行的数据查询模块。
开发人员调用数据查询引擎执行以下步骤即可开发出一个数据查询模块。
后台会调用到数据库引擎。
设置查询基础配置:设置操作按钮和程序编码。
设置查询基本属性:设置查询对应的主表及查询方式等。
设置查询关联表属性:多表关联查询时配置。
设置初始条件属性:设置数据的筛选条件。
设置查询列:设置数据表中的哪些字段用作查询条件。
设置结果列:查询出表格数据中有哪些字段。
设置按钮属性:设置对查询结果进行进一步的功能操作。
设置排序属性:设置对查询结果按什么字段来排序展示。
数据查询的编程:针对数据查询特殊性进行编程。
数据查询模块的调用:采用特定地址+ID调用即可生成一个完整的数据查询模块。
采用面向引擎的软件开发方法开发数据查询模块,非常简单和高效。
1.开发人员配置数据查询属性和编程:
开发人员配置数据查询模块生成需要的所有属性和自定义编程。
2.数据查询引擎生成装载配置的相关表:
数据查询引擎生成装载配置的相关表,为后台的数据查询模块解析提供支撑。
表属性如下:
查询配置表(QUERY_CONFIG_TABLE)
查询按钮表(QUERY_CONFIG_BUTTON)
查询显示结果配置表(QUERY_CONFIG_SHOWFIELD)
查询字段配置表(QUERY_CONFIG_QUERYFIELD)
3.数据查询引擎解析生成查询条件和查询结果表格
查询引擎解析生成查询模块中的查询条件和查询结果表格。
查询条件中包括配置时定义的可用于查询的查询字段,查询结果表格中包括结果的字段内容、顺序、对齐方式、宽度等各种定义。
4.数据查询引擎解析生成查询模块的操作按钮
生成的数据查询模块中进一步扩展操作功能,通过按钮的方式解析出来,实现与其它引擎生成的模块互动或调用第三方技术。
5.数据查询引擎生成数据查询运行时的页面和文件,返给开发人员调用地址,开发人员集成到项目中,完成数据查询模块开发。
(六)报表计算引擎
如图14所示,为报表计算引擎的实现原理图。如图15所示,为报表计算引擎的实现流程图。
报表计算引擎包括:
报表计算引擎接口,用于调用所述数据库引擎接口,通过调用所述数据库引擎接口,访问及操作数据库;
统计报表模板模块,用于定义报表计算引擎生成的统计报表的展示风格和样式,生成统计报表模板;所述统计报表模板具有若干个统计报表标签;
统计报表基础属性设置模块,用于设置统计报表基础信息,统计报表基础信息包括统计报表名称;
第1统计报表绑定模块,用于将统计报表模板绑定统计报表数据源ID;通过报表计算引擎接口查询数据库,得到对应的统计报表数据源;
统计报表筛选模块,用于对所述统计报表绑定模块获得的所述统计报表数据源进行初始筛选,得到筛选后的统计报表数据源;
第2计算项绑定模块,用于使统计报表模板中的每个统计报表标签绑定一个计算项及每个计算项的计算公式;
统计报表执行模块,用于读取所述统计报表筛选模块筛选得到的筛选后的统计报表数据源,并基于所述第2计算项绑定模块绑定的每个计算项及每个计算项的计算公式,对所述筛选后的统计报表数据源进行统计计算,得到统计结果,并将统计结果展示在对应的统计报表标签下面,进而将静态的统计报表模板转化为可执行的统计报表功能模块。
开发人员调用报表计算引擎执行以下步骤即可开发出一个统计报表模块。
后台会调用到数据库引擎。
设置统计基础属性:设置报表名称、用什么表来做统计、统计对应的模板等基础属性。
设置统计特殊属性:设置自定义统计前选择的条件、自动计算及报表形式等。
制作统计报表模板:定义统计出来的报表的展示风格和样式。
设置计算项及公式:定义报表有哪些计算项及每个计算项的计算公式。
设置初始条件:对统计的数据进行筛选。
统计报表的编程:针对统计报表特殊性进行编程。
统计报表模块的调用:采用特定地址+ID调用即可生成一个完整的统计报表模块。
采用面向引擎的软件开发方法开发统计报表模块,非常简单和高效。
实际应用中,报表计算引擎实现原理为:
1.开发人员配置报表属性和编程:
开发人员配置报表模块生成需要的所有属性和自定义编程。
2.报表计算引擎生成装载配置的相关表:
报表计算引擎生成装载配置的相关表,为后台的报表模块解析提供支撑。
统计初始条件表(ANALYSE_STATISTICS_WHERE)
3.报表计算引擎解析生成报表统计条件和统计结果表格
报表计算引擎解析生成报表模块中的统计条件和统计结果表格。
统计条件中包括配置时定义的可用于统计的统计条件,报表结果根据配置的计算项目和公式自动计算生成报表的统计表格。
4.报表计算引擎生成报表运行时的页面和文件,返给开发人员调用地址,完成报表模块开发。
报表计算引擎生成报表运行时的页面和文件,返给开发人员调用地址,开发人员集成到项目中,完成报表模块开发。
最后,将所述数据库引擎、所述开发框架引擎、所述自定义表单引擎、所述流程审批引擎、所述数据查询引擎和所述报表计算引擎进行整合,得到最终开发的应用软件。
本发明提供的面向引擎的应用软件开发方法,具有以下优点:
(1)将面向对象的软件开发概念提升到面向引擎的层面,通过对引擎配置实现软件开发过程。
(2)基于引擎配置+静态模板制作+引擎自动解析生成软件的开发模式,采用面向引擎的软件开发方法来开发软件,将某些特定功能的模块定义成不同的引擎,软件开发时只需对这些引擎进行配置、制作模板、引擎能快速解析生成软件,提高软件开发效率和质量,降低软件开发成本。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。