Drools规则引擎之KIE 概述
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的控制台和工作台开发。
以上项目之间的关系图如下:
生命周期
使用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规则引擎的视频教程和学习群组,访问此处。
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接
本文链接:https://choupangxia.com/2020/03/14/drools-kie-introduction/