APP下载

基于Java注解的Drools业务规则开发框架设计实现

2017-06-01周中雨,李洋,杨程屹等

电子测试 2017年6期
关键词:引擎规则

基于Java注解的Drools业务规则开发框架设计实现

0 引言

规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。规则引擎接受数据输入,解释业务规则,并根据业务规则做出业务决策。规则引擎适用于业务规则复杂且频繁改动的系统。

Drools是RedHat公司旗下一款基于Java语言的开源规则引擎,广泛应用于金融、保险、电信等领域,可以将复杂多变的规则以规则脚本的形式存放在文件中,使得规则的变更不需要重启机器就可以立即在线上环境生效。

在业务规则开发过程中,Drools规则引擎只能识别与处理基于DRL(Domain Rule Language)格式定义的业务逻辑,与Java程序相比存在着一些缺陷,不能很好地支持企业级应用管理,主要表现在以下两方面。

(1)开发效率待提高:DRL语法学习成本较高;传统Java开发环境(例如Eclipse)不支持对DRL进行语法检查和语法辅助,无法在运行前发现语法错误;部分规则文件无法进行调试;重构难度大,进行规则修改时很难评估影响范围。

(2)代码质量缺乏保障:无法通过代码质量管理工具(例如SonarQube)对DRL文件进行检查与分析。

为解决这些缺陷,迫切需要建立Drools业务规则开发框架,直接使用Java语言实现业务逻辑,单元测试通过后自动生成Drools业务规则。

1 开发框架设计

Drools业务规则开发框架主要由编写模块、执行模块、转换模块三部分组成。其中编写模块定义Java语言实现业务逻辑的规范;执行模块对Java语言实现的业务逻辑模拟执行,并支持在传统Java开发环境中进行代码调试;……

登录APP查看全文

猜你喜欢

引擎规则
以学促干 挺膺担当 激活砥砺前行的红色引擎
撑竿跳规则的制定
数独的规则和演变
规则的正确打开方式
让规则不规则
蓝谷: “涉蓝”新引擎
TPP反腐败规则对我国的启示
搜索新规则
无形的引擎
基于Cocos2d引擎的PuzzleGame开发