1.6 Drools新特性

自6.0版本开始,Drools推出了一个全新的概念,基于KIE的全新API,其目的是为了更简单地操作规则引擎,用过Drools 5.x版本甚至更早版本Drools的人都知道,要执行一个规则文件是相当烦琐的事情。

KIE(Knowledge Is Everything)是“知识是一切”的缩写,是Jboss一系列项目的总称。如图1-2所示,KIE的主要模块有OptaPlanner、Drools、UberFire、jBPM。下面分别讲述这些模块的用途。

015-1

图1-2 KIE结构

OptaPlanner:一个本地搜索和优化工具,按官方的说法,OptaPlanner(以下简称为OP)原本是Drools平台的组件,但由于发展的趋势,现在独立于Drools(虽说已经独立了,但还是拥有良好的整合功能),成为与Drools、jBPM等同级的KIE组件。

Drools:规则引擎,自6.0版本后,Drools提供了Web IDE,从图1-2中可以看出,Drools组件包含了Drools-WB,Drools-WB又指向了KIE-WB。按照官方的说法,KIE-WB是一个强大的Web IDE,它结合了Drools、Guvnor、jBPM插件成为一个超级平台,KIE-WB的作用将在后面进行详细说明。

UberFire:一个全新的组件,其功能类似于Eclipse,包括插件中的样式和页面。UberFire(以下简称为UF)独立于Drools和jBPM,可以进行独立部署,对外提供功能服务。

jBPM:一个业务流管理组件,用于实现自动化业务流程和决策的工具包。jBPM源于BPM(业务流程管理),但它已经发展到使用户能够在业务自动化中选择自己的路径。jBPM提供了各种功能,可以将业务逻辑简化和外部化为可重用的资产,如案例、流程、决策表等。为什么jBPM-WB是灰色的?按官方的说法,jBPM-WB对于KIE-WB是多余的,因为KIE-WB完美地结合了工作流,所以将其制成灰色也不为过。