CN109783071A - 基于Drools规则引擎的政务规则设计方法及*** - Google Patents

基于Drools规则引擎的政务规则设计方法及*** Download PDF

Info

Publication number
CN109783071A
CN109783071A CN201910054574.XA CN201910054574A CN109783071A CN 109783071 A CN109783071 A CN 109783071A CN 201910054574 A CN201910054574 A CN 201910054574A CN 109783071 A CN109783071 A CN 109783071A
Authority
CN
China
Prior art keywords
rule
drools
service
business
regulation engine
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.)
Granted
Application number
CN201910054574.XA
Other languages
English (en)
Other versions
CN109783071B (zh
Inventor
于春蕾
张华�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Co Ltd
Original Assignee
Inspur Software Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Software Group Co Ltd filed Critical Inspur Software Group Co Ltd
Priority to CN201910054574.XA priority Critical patent/CN109783071B/zh
Publication of CN109783071A publication Critical patent/CN109783071A/zh
Application granted granted Critical
Publication of CN109783071B publication Critical patent/CN109783071B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了基于Drools规则引擎的政务规则设计方法及***,属于政务规则处理领域,要解决的技术问题为如何改变传统的、以过程形式处理业务逻辑的开发方式,将业务逻辑从应用程序代码中分离,以实现统一管理;其方法包括在规则定义页面定义业务规则,在开发环境中生成与所述业务规则对应的jar文件包;通过Drools规则引擎进行服务部署、服务启动,将业务规则发布成可调用的restful服务。其***包括规则定义单元、开发单元、Drools规则引擎服务器和规则库。该发明实现了将业务规则统一管理,建立了中央规则库,并以服务的方式对外提供支撑。

Description

基于Drools规则引擎的政务规则设计方法及***
技术领域
本发明涉及政务规则处理领域,具体地说是基于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 (10)

1.基于Drools规则引擎的政务规则设计方法,其特征在于包括:
在规则定义页面定义业务规则,在开发环境中生成与所述业务规则对应的jar文件包;
通过Drools规则引擎进行服务部署、服务启动,将业务规则发布成可调用的restful服务。
2.根据权利要求1所述的基于Drools规则引擎的政务规则设计方法,其特征在于在规则定义页面定义业务规则,包括:
在规则定义页面填写规则编码、规则名称、业务领域、所述业务***、关键词描述以及规则描述。
3.根据权利要求1所述的基于Drools规则引擎的政务规则设计方法,其特征在于在开发环境中生成与所述业务规则对应的jar文件包,包括:
在开发环境中集成Drools规则引擎提供的开发插件;
在开发插件中通过Drools的语言规范编写实体java类和业务规则drl文件,并修改pom.xml文件;
运行maven install命令生成与所述业务规则对应的jar文件包。
4.根据权利要求3所述的基于Drools规则引擎的政务规则设计方法,其特征在于在开发环境中通过配置Drools私服地址来获取开发插件,所述开发插件为Eclipse开发插件。
5.根据权利要求1所述的基于Drools规则引擎的政务规则设计方法,其特征在于通过规则引擎进行服务部署,包括:
将jar文件包对应的groupId,artifactId,version、规则容器和规则模板按照Drools规则引擎服务部署接口的要求封装成XML格式;
调用Drools规则引擎服务部署接口进行服务部署。
6.根据权利要求5所述的基于Drools规则引擎的政务规则设计方法,其特征在于通过Drools规则引擎进行服务启动,包括:
以jar文件包对应的规则容器和规则模板为参数,调用Drools规则引擎服务部署接口进行服务启动。
7.根据权利要求1-6任一项所述的基于Drools规则引擎的政务规则设计方法,其特征在于通过Drools规则引擎进行服务部署、服务启动后,
以jar文件包对应的规则容器和规则模板为参数,调用Drools规则引擎服务部署接口进行服务停止。
8.根据权利要求1-6任一项所述的基于Drools规则引擎的政务规则设计方法,其特征在于在规则定义页面定义业务规则之前,对业务规则进行规则梳理,包括:
通过知识归纳法或反向代码生成法对业务规则进行梳理,形成word形式的规则说明文档。
9.根据权利要求1-6任一项所述的6任一项所述的基于Drools规则引擎的政务规则设计方法,其特征在于在规则定义页面定义业务规则之后,在开发环境中通过编写的脚本对定义的业务规则进行测试。
10.基于Drools规则引擎的政务规则设计***,其特征在于通过如权利要求1-9任一项所述的基于Drools规则引擎的政务规则设计方法进行规则设计,包括:
规则定义单元,其配置有规则定义界面,用于进行规则梳理以及规则定义;
开发单元,其与规则定义单元进行数据交互,用于对定义后的业务规则进行测试,并用于生成与所述业务规则对应的jar文件包;
Drools规则引擎服务器,其与开发单元进行数据交互,用于通过Drools规则引擎进行服务部署、服务启动,将业务规则发布成可调用的restful服务;
规则库,用于存储业务规则。
CN201910054574.XA 2019-01-21 2019-01-21 基于Drools规则引擎的政务规则设计方法及*** Active CN109783071B (zh)

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 true CN109783071A (zh) 2019-05-21
CN109783071B 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)

Cited By (7)

* Cited by examiner, † Cited by third party
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规则引擎的热部署方法、***、服务器及存储介质
CN111427789A (zh) * 2020-03-26 2020-07-17 平安医疗健康管理股份有限公司 自动验证规则的方法、装置、计算机设备和存储介质
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

Citations (4)

* Cited by examiner, † Cited by third party
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
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 携程旅游信息技术(上海)有限公司 规则配置和发布方法、***、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
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)

* Cited by examiner, † Cited by third party
Title
HUXIANGEN: ""spring+maven整合Drools规则引擎详解"", 《CSDN》 *

Cited By (7)

* Cited by examiner, † Cited by third party
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规则引擎的热部署方法、***、服务器及存储介质
CN111427789A (zh) * 2020-03-26 2020-07-17 平安医疗健康管理股份有限公司 自动验证规则的方法、装置、计算机设备和存储介质
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

Also Published As

Publication number Publication date
CN109783071B (zh) 2022-03-29

Similar Documents

Publication Publication Date Title
CN109783071A (zh) 基于Drools规则引擎的政务规则设计方法及***
CN110825362B (zh) 低代码应用软件开发***及方法
CN109597661B (zh) 一种业务功能配置方法及装置
US10235265B2 (en) Sequentially constructive model of computation
US7975233B2 (en) Automatic conversion of a textual language into a graphical program representation
US8448155B2 (en) Automatically creating parallel iterative program code in a graphical data flow program
CN102298607B (zh) 数据集成的方案合约
US9733914B2 (en) Loop parallelization analyzer for data flow programs
US20100306733A1 (en) Automatically Creating Parallel Iterative Program Code in a Data Flow Program
AU2016216574A1 (en) Policy enforcement in cloud-platform infrastructure layouts
CN108345531A (zh) 一种测试方法、装置及***
CN106598556A (zh) 用户界面生成方法及装置
Rademacher et al. Towards a UML profile for domain-driven design of microservice architectures
CN102999320A (zh) 测试用例自动生成方法和***
AU2016306489B2 (en) Data processing graph compilation
CN108282518A (zh) 一种客户端页面生成方法和装置
CN114035805A (zh) 用于预编译器的代码转换方法、装置、介质及设备
CN102402455A (zh) 调用动态链接库的方法和装置
CN107894886B (zh) 一种运行代码的方法、装置及终端设备
CN109597695B (zh) 一种数据处理方法、装置及设备
KR20130068601A (ko) 질의 기반 소프트웨어 논리의 동적 변경 및 실행을 위한 멀티테넌트 지원 장치 및 방법
Märtin et al. Patterns and models for automated user interface construction–in search of the missing links
EP2488948A2 (en) Maintaining data integrity across execution environments
Lazar et al. Using a fUML Action Language to construct UML models
Knobe et al. The tuning language for concurrent collections

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