KIE,原文:Knowledge Is Everything。翻译过来就是“知识就是一切”,是一些列项目共享的一个核心项目。也可以称作是一个总体项目,主要目的就是将相关技术整合在一起。

如果查看kie-api的jar包会发现其中定义了一系列的接口,这些接口可以在不同的项目中进行使用,由不同的项目来实现这些对应的接口的方法。Drools规则引擎便实现了相关的接口。

KIE包含以下项目,它们是不同的项目,但它们之间是存在着关联的。可以基于以下项目对业务自动化和管理形成完整的解决方案组合。

Drools是一个业务规则管理系统,具有基于前向链接和后向链接的推理规则引擎,可对业务规则和复杂事件处理进行快速可靠的评估。规则引擎还是创建专家系统的基石,在人工智能领域,该专家系统是一个能够模拟人类专家决策能力的计算机系统。

jBPM是一种灵活的业务流程管理套件。通过描述目标需要执行的具体步骤,来达到业务目标的建模。

OptaPlanner是一个约束求解器,可以优化用例,例如员工排班,车辆路线,任务分配和云优化。它一个本地搜索和优化工具,已经从Drools Planner分离出来,现在是一个与Drools和jBPM同级的顶级项目。虽然Optaplanner拥有强大的Drools集成,但长期以来一直独立于Drools。

Business Central是功能齐全的Web应用程序,主要用于可视化管理业务规则和流程。

UberFire是一个基于Web的基础工作台项目,其灵感来自Eclipse Rich Client Platform。UberFire提供了类似于eclipse的工作台功能,带有插件中的面板和页面,该项目独立于Drools和jBPM,任何人都可以将其作为构建灵活而强大的工作台的基础,UberFire将用于整个JBoss的控制台和工作台开发。

以上项目之间的关系图如下:

Drools规则引擎之KIE 概述插图

生命周期

使用KIE系统的不同方面或生命周期,无论是Drools还是jBPM,通常可以分为以下几个方面:

  • Author
    • 使用UI metaphor编写knowledge,例如:DRL、BPMN2、决策表、类模型。
  • Build
    • 将编写的knowledge构建到可部署的单元中。
    • 对KIE来说,这个单元是一个JAR。
  • Test
    • 在部署到应用程序之前进行测试。
  • Deploy
    • 将单元部署到应用程序可以使用(消费)它们的位置。
    • KIE使用Maven样式存储库。
  • Utilize
    • 加载一个JAR以提供KIE会话(KieSession),供应用程序与之交互。
    • KIE在运行时通过KIE容器公开JAR(KieContainer)。
    • KieSessions,运行时的交互,是由KieContainer创建的。
  • Run
    • 系统与KieSession通过API交互。
  • Work
    • 用户通过命令行或UI与KieSession交互。
  • Manage
    • 管理任何KieSession或KieContainer。

Drools技术视频

CSDN学院:《Drools7 规则引擎视频教程

CSDN学院:《Drools7系列优惠套餐》

CSDN学院:《Drools7规则引擎进阶教程》

CSDN学院:《Drools7规则引擎入门教程》

CSDN学院:《Drools规则引擎之决策表从入门到精通》

更多关于Drools规则引擎的视频教程和学习群组,访问此处



Drools规则引擎之KIE 概述插图1

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.choupangxia.com/2020/03/14/drools-kie-introduction/