Drools 是一个针对 Java 的规则引擎、DMN 引擎和复杂事件处理(CEP)引擎。
适用于Java™和JVM平台的开源规则引擎,DMN引擎和复杂事件处理(CEP)引擎。
Drools是一个业务规则管理系统,具有基于前向链接和后向链接推理的规则引擎,可以快速,可靠地评估业务规则和进行复杂的事件处理。
规则引擎还是创建专家系统的基本构建块,在人工智能中,该专家系统是模拟人类专家的决策能力的计算机系统。
Drools 是一个针对 Java 的规则引擎、DMN 引擎和复杂事件处理(CEP)引擎。
适用于Java™和JVM平台的开源规则引擎,DMN引擎和复杂事件处理(CEP)引擎。
Drools是一个业务规则管理系统,具有基于前向链接和后向链接推理的规则引擎,可以快速,可靠地评估业务规则和进行复杂的事件处理。
规则引擎还是创建专家系统的基本构建块,在人工智能中,该专家系统是模拟人类专家的决策能力的计算机系统。
easy rules 是一个受 Martin Fowler 文章《我应该使用规则引擎吗?》启发的 Java 规则引擎。在这篇文章中,Martin 表示:
你可以自己构建一个简单的规则引擎。你所需要做的就是创建一堆带有条件和动作的对象,将它们存储在一个集合中,并运行它们来评估条件并执行动作。
这正是Easy Rules所做的,它提供Rule抽象以创建具有条件和动作的规则,并提供RuleEngine API,该API通过一组规则运行以评估条件并执行动作。
在 AI 领域,产生式系统是一个很重要的理论,产生式推理分为正向推理和逆向推理产生式,其规则的一般形式是:IF 条件 THEN 操作。
rete 算法是实现产生式系统中正向推理的高效模式匹配算法,通过形成一个 rete 网络进行模式匹配,利用基于规则的系统的时间冗余性和结构相似性特征,提高系统模式匹配效率。
本文将介绍的 Drools 引擎就是利用 rete 算法对规则进行分析,形成 rete 网络,对模式进行匹配。
Rete 算法最初是由卡内基梅隆大学的 Charles L.Forgy 博士在 1974 年发表的论文中所阐述的算法, 该算法提供了专家系统的一个高效实现。
URule是一款纯Java规则引擎,它以RETE算法为基础,提供了向导式规则集、脚本式规则集、决策表、交叉决策表(PRO版提供)、决策树、评分卡及决策流共六种类型的规则定义方式,配合基于WEB的设计器,可快速实现规则的定义、维护与发布。
URule提供了两个版本:一个是基于Apache-2.0协议开源免费版本,URule开源版本第一款基于Apache-2.0协议开源的中式规则引擎;另一个是商用PRO版本,点击http://www.bstek.com 了解更多关于URule商用Pro版更多信息。
LiteFlow是一个轻量且强大的国产规则引擎框架,可用于复杂的组件化业务的编排领域,独有的DSL规则驱动整个复杂业务,并可实现平滑刷新热部署,支持多种脚本语言规则的嵌入。帮助系统变得更加丝滑且灵活。
LiteFlow于2020年正式开源,2021年获得开源中国年度最受欢迎开源软件殊荣。
于2022年获得Gitee最有价值开源项目(GVP)荣誉。是一个正处在高速发展中的开源项目。
LiteFlow是一个由社区驱动的项目,我们非常重视社区建设,拥有一个4000多人的使用者社区,在使用中碰到任何问题或者建议都可以在社区中反应。
Jess是Java平台上的规则引擎,它是CLIPS程序设计语言的超集,由桑迪亚国家实验室的Ernest Friedman-Hill开发。
它的第一个版本写于1995年晚期。
Jess提供适合自动化专家系统的逻辑编程,它常被称作“专家系统外壳”。近年来,智能代理系统也在相似的能力上发展起来。
与一个程序中有一个只运行一次的循环的指令式编程语言不同,Jess使用的宣告式编程通过一个名为“模式匹配”的过程连续的对一个事实的集合运用一系列规则。规则可以修改事实集合,或者运行任何Java代码。
Jess可以被用来构建使用规则定义形式的知识来推倒结论和推论的Java Servlet、EJB、Applet和应用程序。因为不同的规则匹配不同的输入,所以有了一些有效的通用匹配算法。Jess规则引擎使用Rete算法。
RuleGo
是一个基于Go
语言的轻量级、高性能、嵌入式、可编排组件式的规则引擎。
也一个灵活配置和高度定制化的事件处理框架。
支持异构系统数据集成,可以对输入消息进行聚合、分发、过滤、转换、丰富和执行各种动作。
官网文档托管在: rulego.cc
Go
的高性能特性,另外RuleGo
采用协程池和对象池等技术。RuleGo
嵌入到现有项目,非入侵式利用其特性。Go plugin
动态加载组件和扩展组件。消息类型Switch
,JavaScript Switch
,JavaScript过滤器
,JavaScript转换器
,HTTP推送
,MQTT推送
,发送邮件
,日志记录
“决策智能是一门实用的学科,通过明确理解和工程化决策的制定方式以及结果的评估、管理和通过反馈进行改进,推进决策制定。” - Gartner
如果您希望以一种成本效益高的方式自动化复杂的业务逻辑,以更好地进行日常运营决策,那么您来对地方了!
规则引擎 + 规则学习器 + 规则求解器
20多年来,OpenRules® 帮助全球组织将复杂的业务逻辑纳入其决策应用程序,其主要目标是:“为现代企业创建基于规则的运营决策服务,并根据市场条件的变化快速更新底层业务规则。”
OpenRules® Decision Manager 允许业务人员开发、测试和维护基于规则的业务决策模型,并轻松部署在云端或本地。主要组件包括:
OpenL Tablets 的目标是填补业务需求(规则和策略)与软件实现之间的不足。
OpenL Tablets 设计为对 业务人员 简单直观,其规则表示方式与业务通常创建的文档(如业务需求等)非常接近。
用户可以专注于逻辑,因为他们编写时会检查所有数据、语法和类型错误。方便的工具有助于在后续使用过程中确保规则的完整性。
通过一键部署规则作为高效、可扩展和标准化的服务进行 基于 SOA 的 集成,使业务逻辑简单地嵌入到应用程序中。
RuleBook 的规则是按照 Java 开发者的思维方式构建的:Java 代码。它们以程序员期望的方式执行:按顺序执行。RuleBook 还允许您使用易于使用的 Lambda 启用的领域特定语言或使用您定义的 POJO 来指定规则!
厌倦了充斥着 if/then/else 语句的类?
需要一个很好的抽象来让规则可以轻松地以一种将它们彼此解耦的方式进行指定?
想要以与您编写代码的其他部分[Java 中]相同的方式编写规则?RuleBook 可能就是您一直在等待的规则抽象!