规则引擎以及blaze 规则库的集成初探之一——规则引擎简介

本文介绍了JAVA规则引擎的基本概念,包括其起源、工作原理和适用场景。通过举例说明,解释了为何在业务规则频繁变化的情况下使用规则引擎的优势。文章还提及了BlazeSoft公司的Blaze规则库,以及它在JAVA环境中的集成和使用。此外,讨论了规则引擎的推理方式,如Forward-Chaining和Backward-Chaining,并列举了一些主流的JAVA规则引擎产品和开源项目。

最近刚刚接触JAVA的规则引擎,一般的系统而言,业务不是非常复杂,而且变化少,因此很少采用什么规则引擎,最近接触了一个规则引擎的系统,是使用BlazeSoft公司的Blaze来实现的,自己对它正在了解中,把具体的实现相关的知识,写下来,以待进一步的整理。

本系列文章主要先人云亦云地介绍一下规则引擎的背景知识(本人了解规则引擎不多),接着介绍JSR94的API和具体的实现,以及blaze自己提供的java api的简单介绍和实现,然后介绍一下BlazeSoft公司的blaze的搭建、开发和部署,以及在java环境中的集成,简单介绍一下Blaze使用的规则语言,srl的语法。

规则引擎的简介

规则引擎

规则引擎是推理引擎的一种,它起源于基于规则的专家系统。规则引擎好像不是新鲜的话题了,但在java应用中,好像以前讨论得不多,不久热起来的。
规则引擎也就是基于规则的专家系统中的推理引擎发展而来。下面简要介绍一下基于规则的专家系统。


  引用一段相关文章的介绍 :
 RBES的推理(规则)引擎
       和人类的思维相对应,规则引擎存在两者推理方式:演绎法(Forward-Chaining)和归纳法(Backward-Chaining)。演绎法从一个初始的事实出发,不断地应用规则得出结论(或执行指定的动作)。而归纳法则是从假设出发,不断地寻找符合假设的事实。
       Rete算法是目前效率最高的一个Forward-Chaining推理算法,Drools项目是Rete算法的一个面向对象的Java实现。
       规则引擎的推理步骤如下:
       1. 将初始数据(fact)输入Working Memory。
       2. 使用Pattern Matcher比较规则(rule)和数据(fact)。
       3. 如果执行规则存在冲突(conflict),即同时激活了多个规则,将冲突的规则放入冲突集合。
       4. 解决冲突,将激活的规则按顺序放入Agenda。
       5. 使用规则引擎执行Agenda中的规则。重复步骤2至5,直到执行完毕所有Agenda中的规则。
       具体请参考其他相关文章的介绍。

规则引擎是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值