CN109783071B - 基于Drools规则引擎的政务规则设计方法及*** - Google Patents
基于Drools规则引擎的政务规则设计方法及*** Download PDFInfo
- Publication number
- CN109783071B CN109783071B CN201910054574.XA CN201910054574A CN109783071B CN 109783071 B CN109783071 B CN 109783071B CN 201910054574 A CN201910054574 A CN 201910054574A CN 109783071 B CN109783071 B CN 109783071B
- Authority
- CN
- China
- Prior art keywords
- rule
- drools
- service
- engine
- business
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000013461 design Methods 0.000 title claims abstract description 23
- 238000011161 development Methods 0.000 claims abstract description 48
- 238000012360 testing method Methods 0.000 claims description 11
- 230000006698 induction Effects 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 5
- 238000009960 carding Methods 0.000 claims description 4
- 238000005538 encapsulation Methods 0.000 claims description 4
- 230000033228 biological regulation Effects 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000013515 script Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 9
- 238000012545 processing Methods 0.000 abstract description 7
- 230000008859 change Effects 0.000 abstract description 6
- 230000006872 improvement Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了基于Drools规则引擎的政务规则设计方法及***,属于政务规则处理领域,要解决的技术问题为如何改变传统的、以过程形式处理业务逻辑的开发方式,将业务逻辑从应用程序代码中分离,以实现统一管理;其方法包括在规则定义页面定义业务规则,在开发环境中生成与所述业务规则对应的jar文件包;通过Drools规则引擎进行服务部署、服务启动,将业务规则发布成可调用的restful服务。其***包括规则定义单元、开发单元、Drools规则引擎服务器和规则库。该发明实现了将业务规则统一管理,建立了中央规则库,并以服务的方式对外提供支撑。
Description
技术领域
本发明涉及政务规则处理领域,具体地说是基于Drools规则引擎的政务规则设计方法及***。
背景技术
政务规则是指政府部门在办理业务过程中涉及的业务规则。业务规则是指与业务相关的操作规范、管理章程、规章制度、行业标准等。从信息***角度讲,业务规则是一个定义或限制业务某些方面的声明,是应用程序中的一段业务逻辑。政务规则具有业务逻辑复杂、数量多、变化频繁等特点。
目前政府部门政务规则的处理方式是以过程形式处理业务逻辑,将业务逻辑编写在应用程序代码中,随着业务逻辑的变化越来越频繁和业务逻辑越来越复杂化,以传统的方式处理,必须通过变更由程序员进行修改代码,维护成本比较高,不能快速响应业务逻辑的变化。
Drools是一款开源的规则引擎,是一个易于访问企业策略、易于调整以及易于管理的业务规则引擎。它完整的实现了Rete算法,提供Eclipse Plugin开发支持,并实现了用自然语言方式来描述业务规则,符合业内标准,速度快、效率高。
如何基于Drools规则引擎的优点,改变传统的、以过程形式处理业务逻辑的开发方式,将业务逻辑从应用程序代码中分离,以实现统一管理,是需要解决的技术问题。
发明内容
本发明的技术任务是针对以上不足,提供一种基于Drools规则引擎的政务规则设计方法及***,来解决改变传统的、以过程形式处理业务逻辑的开发方式,将业务逻辑从应用程序代码中分离,以实现统一管理的问题。
第一方面,本发明实施例提供一种基于Drools规则引擎的政务规则设计方法,包括:
在规则定义页面定义业务规则,在开发环境中生成与所述业务规则对应的jar文件包;
通过Drools规则引擎进行服务部署、服务启动,将业务规则发布成可调用的restful服务。
本实施方式中,通过Drools规则引擎处理业务逻辑,统一管理业务逻辑,实现建立中央规则库,对外提供restful服务支撑的规则服务云,将业务逻辑从应用程序代码中分离,实现了统一管理,能够快速响应政务规则复杂、变化快,提高业务***的灵活性,降低业务***的研发成本。
优选的,在规则定义页面定义业务规则,包括:在规则定义页面填写规则编码、规则名称、业务领域、所述业务***、关键词描述以及规则描述。
优选的,在开发环境中生成与所述业务规则对应的jar文件包,包括:在开发环境中集成Drools规则引擎提供的开发插件;在开发插件中通过Drools的语言规范编写实体java类和业务规则drl文件,并修改pom.xml文件;运行maven install命令生成与所述业务规则对应的jar文件包。
优选的,在开发环境中通过配置Drools私服地址来获取开发插件,所述开发插件为Eclipse开发插件。
优选的,通过规则引擎进行服务部署,包括:将jar文件包对应的groupId,artifactId,version、规则容器和规则模板按照Drools规则引擎服务部署接口的要求封装成XML格式;调用Drools规则引擎服务部署接口进行服务部署。
在该优选的实施方式中,groupId为该规则所属业务***编码,artifactId为规则编码,version为版本。
优选的,通过Drools规则引擎进行服务启动,包括:以jar文件包对应的规则容器和规则模板为参数,调用Drools规则引擎服务部署接口进行服务启动。
优选的,通过Drools规则引擎进行服务部署、服务启动后,以jar文件包对应的规则容器和规则模板为参数,调用Drools规则引擎服务部署接口进行服务停止。
更优的,在规则定义页面定义业务规则之前,对业务规则进行规则梳理,包括:通过知识归纳法或反向代码生成法对业务规则进行梳理,形成word形式的规则说明文档。
在该更优的实施方式中,对业务规则进行梳理并形成word形式的规则说明文档,将业务规则数据保存在规则库中,适用于业务逻辑复杂、数量多的情况。
更优的,在规则定义页面定义业务规则之后,在开发环境中通过编写的脚本对定义的业务规则进行测试。
在该更优的实施方式中,对定义的规则进行测试,将测试通过的规则状态置为测试通过,测试不通过的规则状态置为不通过,提高了工作效率。
第二方面,本发明实施例提供一种基于Drools规则引擎的政务规则设计***,通过第一方面的基于Drools规则引擎的政务规则设计方法进行规则设计,包括:规则定义单元,其配置有规则定义界面,用于进行规则梳理以及规则定义;开发单元,其与规则定义单元进行数据交互,用于对定义后的业务规则进行测试,并用于生成与所述业务规则对应的jar文件包;Drools规则引擎服务器,其与开发单元进行数据交互,用于通过Drools规则引擎进行服务部署、服务启动,将业务规则发布成可调用的restful服务;规则库,用于存储业务规则。
本发明的基于Drools规则引擎的政务规则设计方法及***具有以下优点:
1、实现了将业务规则统一管理,建立了中央规则库,并以服务的方式对外提供支撑;
2、对业务规则进行梳理并形成文档,为后续需规则共享提供了技术支撑。
附图说明
为了更清除地说明本发明实施例中的技术方案,下面将对实施例中描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
下面结合附图对本发明进一步说明。
附图1为实施例1基于Drools规则引擎的政务规则设计方法流程框图;
附图2为实施例1基于Drools规则引擎的政务规则设计方法改进后流程框图;
附图3为实施例1基于Drools规则引擎的政务规则设计方法进一步改进后流程框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。
本发明实施例提供一种基于Drools规则引擎的政务规则设计方法及***,用于解决改变传统的、以过程形式处理业务逻辑的开发方式,将业务逻辑从应用程序代码中分离,以实现统一管理的问题。
实施例1:
如附图1所示,本发明的基于Drools规则引擎的政务规则设计方法,包括如下步骤:
步骤S100、在规则定义页面定义业务规则,在开发环境中生成与所述业务规则对应的jar文件包;
步骤S200、通过Drools规则引擎进行服务部署、服务启动,将业务规则发布成可调用的restful服务。
其中,步骤S100中,在规则定义页面定义业务规则的方法为:在规则定义页面填写规则编码、规则名称、业务领域、所述业务***、关键词描述以及规则描述。
在开发环境中生成与所述业务规则对应的jar文件包,包括如下分步骤:
(1)、在开发环境中通过配置Drools私服地址来获取开发插件,该开发插件为Eclipse开发插件;
(2)、在开发插件中通过Drools的语言规范编写实体java类和业务规则drl文件,并修改pom.xml文件;
(3)运行maven install命令生成与所述业务规则对应的jar文件包.
上述步骤S100,通过Drools规则引擎处理业务逻辑,统一管理业务逻辑,实现建立中央规则库。
在具体实施过程中,可先在开发环境中通过配置Drools私服地址来获取Eclipse开发插件,然后在规则定义页面填写规则编码、规则名称、业务领域、所属业务***、关键词描述和规则描述。
步骤S200中,通过如下步骤将业务规则发布成可调用的restful服务:
(1)规则步骤:将jar文件包对应的groupId,artifactId,version、规则容器和规则模板按照Drools规则引擎服务部署接口的要求封装成XML格式,然后,调用Drools规则引擎服务部署接口进行服务部署,Drools规则引擎服务部署接口加载有KieWebUtil.managerContainer()函数;
(2)规则启动:以jar文件包对应的规则容器和规则模板为参数,然后,调用Drools规则引擎服务启动接口进行服务启动,服务启动后,得到该业务规则发布成服务的地址,服务的形式为restful服务,Drools规则引擎服务启动接口加载有KieWebUtil.startStopCon()函数;
(3)规则停止:以jar文件包对应的规则容器和规则模板为参数,然后,调用Drools规则引擎服务部署接口进行服务停止。
通过步骤S200将业务规则以服务的方式对外提供支撑。
如附图2所示,作为本实施例的进一步改进,在执行步骤S100之前,对业务规则进行规则梳理,具体地,通过知识归纳法或反向代码生成法对业务规则进行梳理,形成word形式的规则说明文档。
在实际应用中,梳理的方法不限于使用知识归纳法或反向代码生成法,也可使用其它方法进行梳理。该步骤尤其适用于业务逻辑数量大、关系繁杂的情况。
如附图3所示,作为本实施例的更进一步改进,在执行步骤S100之后,对定义后的业务规则进行规则测试,将测试通过的规则状态置为测试通过,测试不通过的规则状态置为不通过,然后对测试通过的业务规则执行步骤S200。
测试时选用现有的常用方法进行测试,如在开发环境中通过编写的脚本对定义的业务规则进行测试。
实施例2:
本发明的基于Drools规则引擎的政务规则设计***,包括规则定义单元、开发单元、Drools规则引擎服务器和规则库,该***可通过实施例1公开的基于Drools规则引擎的政务规则设计方法进行规则设计。
其中,其配置有规则定义界面,用于进行规则梳理以及规则定义。
规则定义界面配置有规则定义页面,通过规则定义页面填写规则编码、规则名称、业务领域、所述业务***、关键词描述以及规则描述,定义后的业务规则存储入规则库中。同时,该规则定义界面还配置有规则梳理子单元,规则梳理子单元用于通过知识归纳法或反向代码生成法对业务规则进行梳理,形成word形式的规则说明文档,并将规则说明文档存储入规则库中。
开发单元,其与规则定义单元进行数据交互,用于对定义后的业务规则进行测试,并用于生成与所述业务规则对应的jar文件包。
开发单元中配置有开发插件生成模块,用于通过配置Drools私服地址来获取Eclipse开发插件。Eclipse开发插件通过Drools的语言规范编写实体java类和业务规则drl文件,并修改pom.xml文件;运行maven install命令生成与所述业务规则对应的jar文件包。
Drools规则引擎服务器,其与开发单元进行数据交互,用于通过Drools规则引擎进行服务部署、服务启动,将业务规则发布成可调用的restful服务。
Drools规则引擎服务器中配置有封装子单元、Drools规则引擎服务部署接口、Drools规则引擎服务启动接口,封装子单元用于将jar文件包对应的groupId,artifactId,version、规则容器和规则模板按照Drools规则引擎服务部署接口的要求封装成XML格式,Drools规则引擎服务部署接口内加载有KieWebUtil.managerContainer()函数,Drools规则引擎服务启动接口内加载有KieWebUtil.startStopCon()函数,在Drools规则引擎服务器中以jar文件包对应的规则容器和规则模板为参数,可调用Drools规则引擎服务启动接口进行服务启动和服务停止。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (5)
1.基于Drools规则引擎的政务规则设计方法,其特征在于包括:
在规则定义页面定义业务规则,在开发环境中生成与所述业务规则对应的jar文件包;
通过Drools规则引擎进行服务部署、服务启动,将业务规则发布成可调用的restful服务;
在开发环境中生成与所述业务规则对应的jar文件包,包括:在开发环境中集成Drools规则引擎提供的开发插件;在开发插件中通过Drools的语言规范编写实体java类和业务规则drl文件,并修改pom.xml 文件;运行maven install 命令生成与所述业务规则对应的jar文件包;
通过规则引擎进行服务部署,包括:将jar文件包对应的groupId,artifactId,version、规则容器和规则模板按照Drools规则引擎服务部署接口的要求封装成XML格式;调用Drools规则引擎服务部署接口进行服务部署;
通过Drools规则引擎进行服务启动,包括以jar文件包对应的规则容器和规则模板为参数,调用Drools规则引擎服务部署接口进行服务启动;
在规则定义页面定义业务规则之前,对业务规则进行规则梳理,包括通过知识归纳法或反向代码生成法对业务规则进行梳理,形成word形式的规则说明文档;
在规则定义页面定义业务规则之后,在开发环境中通过编写的脚本对定义的业务规则进行测试。
2.根据权利要求1所述的基于Drools规则引擎的政务规则设计方法,其特征在于在规则定义页面定义业务规则,包括:
在规则定义页面填写规则编码、规则名称、业务领域、业务***、关键词描述以及规则描述。
3.根据权利要求1所述的基于Drools规则引擎的政务规则设计方法,其特征在于在开发环境中通过配置Drools私服地址来获取开发插件,所述开发插件为Eclipse开发插件。
4.根据权利要求1-3任一项所述的基于Drools规则引擎的政务规则设计方法,其特征在于通过Drools规则引擎进行服务部署、服务启动后,
以jar文件包对应的规则容器和规则模板为参数,调用Drools规则引擎服务部署接口进行服务停止。
5.基于Drools规则引擎的政务规则设计***,其特征在于通过如权利要求1-3任一项所述的基于Drools规则引擎的政务规则设计方法进行规则设计,包括:
规则定义单元,其配置有规则定义界面,用于进行规则梳理以及规则定义;
开发单元,其与规则定义单元进行数据交互,用于对定义后的业务规则进行测试,并用于生成与所述业务规则对应的jar文件包;
Drools规则引擎服务器,其与开发单元进行数据交互,用于通过Drools规则引擎进行服务部署、服务启动,将业务规则发布成可调用的restful服务;
规则库,用于存储业务规则;
规则定义界面还配置有规则梳理子单元,规则梳理子单元用于通过知识归纳法或反向代码生成法对业务规则进行梳理,形成word形式的规则说明文档,并将规则说明文档存储入规则库中;
Drools规则引擎服务器中配置有封装子单元、Drools规则引擎服务部署接口、Drools规则引擎服务启动接口,封装子单元用于将jar文件包对应的groupId,artifactId,version、规则容器和规则模板按照Drools规则引擎服务部署接口的要求封装成XML格式,Drools规则引擎服务部署接口内加载有KieWebUtil.managerContainer()函数,Drools规则引擎服务启动接口内加载有KieWebUtil.startStopCon()函数,在Drools规则引擎服务器中以jar文件包对应的规则容器和规则模板为参数,可调用Drools规则引擎服务启动接口进行服务启动和服务停止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910054574.XA CN109783071B (zh) | 2019-01-21 | 2019-01-21 | 基于Drools规则引擎的政务规则设计方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910054574.XA CN109783071B (zh) | 2019-01-21 | 2019-01-21 | 基于Drools规则引擎的政务规则设计方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109783071A CN109783071A (zh) | 2019-05-21 |
CN109783071B true CN109783071B (zh) | 2022-03-29 |
Family
ID=66501806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910054574.XA Active CN109783071B (zh) | 2019-01-21 | 2019-01-21 | 基于Drools规则引擎的政务规则设计方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109783071B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110349663A (zh) * | 2019-06-10 | 2019-10-18 | 武汉大学 | 一种基于Drools的冠心病康复方案自动生成方法及*** |
CN110647546A (zh) * | 2019-09-18 | 2020-01-03 | 北京明略软件***有限公司 | 第三方规则引擎生成方法及装置 |
CN110990586A (zh) * | 2019-12-02 | 2020-04-10 | 浪潮软件股份有限公司 | 获取图谱数据的方法及装置 |
CN111078263A (zh) * | 2019-12-13 | 2020-04-28 | 深圳市随手科技有限公司 | 基于Drools规则引擎的热部署方法、***、服务器及存储介质 |
CN111427789B (zh) * | 2020-03-26 | 2022-08-16 | 平安医疗健康管理股份有限公司 | 自动验证规则的方法、装置、计算机设备和存储介质 |
CN112882687A (zh) * | 2020-12-10 | 2021-06-01 | 宝付网络科技(上海)有限公司 | 一种高效的通用型规则引擎的实现方法 |
US11989661B1 (en) * | 2023-07-24 | 2024-05-21 | Morgan Stanley Services Group Inc. | Dynamic rules for rules engines |
CN117931134A (zh) * | 2023-11-30 | 2024-04-26 | 阿帕数字科技有限公司 | 基于规则引擎的供应链设计*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254423A (zh) * | 2016-07-20 | 2016-12-21 | 普元信息技术股份有限公司 | 基于微服务架构实现Restful服务快速发布的方法 |
CN107133039A (zh) * | 2017-04-28 | 2017-09-05 | 九次方大数据信息集团有限公司 | 规则引擎的构建方法和装置 |
CN107632842A (zh) * | 2017-09-26 | 2018-01-26 | 携程旅游信息技术(上海)有限公司 | 规则配置和发布方法、***、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140122396A1 (en) * | 2012-10-29 | 2014-05-01 | Qualcomm Incorporated | Rules engine as a platform for mobile applications |
-
2019
- 2019-01-21 CN CN201910054574.XA patent/CN109783071B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254423A (zh) * | 2016-07-20 | 2016-12-21 | 普元信息技术股份有限公司 | 基于微服务架构实现Restful服务快速发布的方法 |
CN107133039A (zh) * | 2017-04-28 | 2017-09-05 | 九次方大数据信息集团有限公司 | 规则引擎的构建方法和装置 |
CN107632842A (zh) * | 2017-09-26 | 2018-01-26 | 携程旅游信息技术(上海)有限公司 | 规则配置和发布方法、***、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
"spring+maven整合Drools规则引擎详解";huxiangen;《CSDN》;20180817;第1-3页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109783071A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783071B (zh) | 基于Drools规则引擎的政务规则设计方法及*** | |
CN107147704B (zh) | 一种面向区块链的通用服务中间件*** | |
US20140196022A1 (en) | Cloud Based Application Packaging | |
CN110912724B (zh) | 一种基于参数驱动的自动业务编排方法及装置 | |
CN105677302B (zh) | 一种应用程序模块化开发方法以及装置 | |
CN106778351B (zh) | 数据脱敏方法及装置 | |
CN112835975B (zh) | 一种在区块链中部署、更新、调用智能合约的方法 | |
CN111198863A (zh) | 一种规则引擎及其实现方法 | |
US20140237554A1 (en) | Unified platform for big data processing | |
US11349958B1 (en) | Deployment of software releases on datacenters configured in cloud platforms | |
US11392361B2 (en) | Software release orchestration for continuous delivery of features in a cloud platform based data center | |
CN110704035A (zh) | 一种组插件式软件架构***及其实现方法 | |
CN113127150A (zh) | 云原生***的快速部署方法、装置、电子设备和存储介质 | |
CN113885849A (zh) | 基于工业互联网平台的应用开发方法、装置及终端设备 | |
CN114064213A (zh) | 基于Kubernets容器环境的快速编排服务方法及*** | |
Xu et al. | Caople: A programming language for microservices saas | |
CN111651169B (zh) | 基于web容器的区块链智能合约运行方法及*** | |
US20230409417A1 (en) | Automated generation of application programming interfaces for microservices | |
US20150106796A1 (en) | Class loading device for a java runtime environment, cluster system and method of executing a function | |
CN111913721B (zh) | 自动化部署方法、装置、设备及存储介质 | |
US20090248741A1 (en) | Method and system for integrating an external service | |
CN109062577A (zh) | 一种前端脚本拆分与解构优化方法及*** | |
CN112732277B (zh) | 一种java多服务应用自动安装部署的集成方法与*** | |
CN114327820A (zh) | 离线任务的处理方法和装置 | |
CN115407971A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220309 Address after: 271000 Langchao science and Technology Park, 527 Dongyue street, Tai'an City, Shandong Province Applicant after: INSPUR SOFTWARE Co.,Ltd. Address before: 250100 Ji'nan hi tech Zone No. 2877, Shandong Province Applicant before: INSPUR GROUP Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |