Drools 现在对 DMN(决策模型和表示法)具有完整的运行时支持。DMN 文件现在是一种资产,可以添加到任何 kjar 中执行。
我的想法是,Drools Rule 是非标准/专有的,因为DMN是开放的,但标准较新。
我的问题..
Drools 规则(.drl 文件)和DMN (.dmn) 是否解决了同样的问题?从长远来看,DMN 是否打算取代 DRL?
Drools 规则是非标准/专有的
这是不正确的,DRL 不是专有的;Drools.org 许可证是 Apache 软件许可证,因此是开源的。DRL 格式是根据 Drools.org 项目的 DRL 语法、代码和文档定义的。
Drools 规则(.drl 文件)和 DMN (.dmn) 是否解决了同样的问题?
有一些重叠,但他们的目标是不同的。
DRL 是一种技术规则语言,还支持 CEP(复杂事件处理)、应用程序的前后链接规则样式等。使用 DRL,您还可以描述无状态或有状态规则库。作为一种技术语言,它通常与指导规则、DSL、指导决策表结合使用,以便业务分析师也更容易访问。
DMN 是决策管理的标准和可视化符号,旨在弥合技术和业务分析之间的差距,标准规范本身定义了执行语义。与 DRL 相比,它可以作为有效的附加工具进行补充。比如用DMN表示的决策逻辑是无状态的;更复杂的应用程序可能会看到有状态的应用程序由 DRL 规则、DMN 评估、CEP 样式等组成。这取决于用例。
从长远来看,DMN 是否打算取代 DRL?
如上所述,重叠可能很少,但它们的目标不同;意图不是“替代”,而是补充工具。
免责声明:我是 drools.org 项目和 DMN TCK 项目的贡献者。