drools规则引擎小结(三)

1,规则引擎的组成

    drools规则引擎由以下三部分构成:

           Working Memory(工作内存)Rule Base(规则库)Inference Engine(推理引擎)

    其中Inference Engine(推理引擎)又包括:

           Pattern Matcher(匹配器)Agenda(议程)Execution Engine(执行引擎)

如下图所示:

drools规则引擎小结(三)

2,相关概念说明

    Working Memory:工作内存,drools规则引擎会从Working Memory中获取数据并和规则文件中定义的规则进行模式匹配,所以我们开发的应用程序只需要将我们的数据插入到Working Memory中即可,例如本案例中我们调用kieSession.insert(student)就是将student对象插入到了工作内存中。

    Fact:事实,是指在drools 规则应用当中,将一个普通的JavaBean插入到Working Memory后的对象就是Fact对象,例如本案例中的Student对象就属于Fact对象。Fact对象是我们的应用和规则引擎进行数据交互的桥梁或通道。

    Rule Base:规则库,我们在规则文件中定义的规则都会被加载到规则库中。

    Pattern Matcher:匹配器,将Rule Base中的所有规则与Working Memory中的Fact对象进行模式匹配,匹配成功的规则将被**并放入Agenda中。

    Agenda:议程,用于存放通过匹配器进行模式匹配后被**的规则。

    Execution Engine:执行引擎,执行Agenda中被**的规则。

3,drools规则引擎执行顺序

drools规则引擎小结(三)

4,KIE介绍

     KIE是Knowledge is Everything的简称,我们在操作Drools时经常使用的API以及它们之间的关系如下图:

    drools规则引擎小结(三)