当前位置: 首页 > 知识库问答 >
问题:

将Drools作为我的项目的规则引擎进行评估

惠志
2023-03-14

在我的项目中,我有一些要求,我想使用Drools来适应。有些规则不会经常改变,它们是基础。然后应该有第二个DSLR,它会更频繁地更改,并且应该在其中扩展、覆盖和/或聚合已经定义的规则。

是否可以使用口水来满足此类要求。我更新了Drools文档,但我不确定这是否可行。

共有1个答案

萧星火
2023-03-14

我怀疑你现在已经制定了计划,但作为参考,这里有一些答案。

您所描述的是一个典型的Drools应用程序,因此在高级别上,“是”Drools可以这样使用。

您可以设置一些初始的DRL技术规则,这些规则非常适合开发人员维护。下一步是如何支持业务用户。Drools提供:

DSL/DSRL-开发人员编写DSL模板,将自然语言风格的短语映射到DRL。业务用户用这种自然语言语法编写DSRL。事实上,我倾向于发现这很容易阅读,但却不容易正确书写。然而,如果您有Guvnor,那么引导规则将利用DSL使业务用户能够轻松地构建规则。他们可以从下拉列表中选择,使用DSL构建规则。

电子表格-在这里,开发人员创建了一个电子表格,其中包含许多隐藏字段,将单元格映射到规则。表中的每一行都成为一条规则。业务用户只需要填写字段。

Web决策表-在Guvnor中,这些类似于外观上的电子表格,开发人员可以轻松创建一个表,将LHS约束映射到操作,可以修改现有事实,也可以创建新的事实。同样,业务用户可以通过向表中添加行和更改单元格中的值来维护这些。从业务用户的角度来看,这些可能是最不“技术性”的,所以我尽可能喜欢它们。

如果您使用Guvnor,那么业务用户可以访问一个网站,在那里他们可以更新规则并保存规则。根据您想要的工作方式,运行时规则引擎可以自动获取这些更改,或者您可以为规则更改实现更严格的发布过程。

 类似资料:
  • 我正在向drools规则引擎插入数据,但我无法理解它是如何处理插入的数据的。插入数据的代码是:

  • 我有这样的情况,在规则文件中的所有规则必须检查执行。如果我的理解是正确的,文档所说的规则将由引擎任意执行。 我有一个或多个疑问。 > 我在许多地方得到了答案,我必须使用显著性功能来按顺序执行它们。如果我使用显著性,并且我有执行所有规则的要求,它真的会大规模地影响性能吗?如果是,它会如何影响性能,甚至规则引擎也会任意执行所有规则,比如一些随机顺序。 提前谢谢。

  • 我正在从事这个项目,我的角色是开发使用标准健康保险xml的服务。服务必须在不同的xml字段上进行验证,这涉及将xml数据与数据库表中的数据进行比较。目前,我们假设所有保险公司的验证保持不变。但我怀疑它会保持不变,并且每家公司可能有不同的验证要求。在这种情况下,使用Drools规则引擎并为每家公司开发drl文件并使用规则引擎进行xml验证是个好主意吗

  • 问题内容: 我们正在购买业务规则引擎。我们希望使我们的核心应用程序可定制为具有稍微不同要求的不同客户。实际进行定制的人员是分析师。即非熟练技术人员(通常具有科学学位)。 评估业务规则引擎的标准是什么?有开源和商业的吗?您在易用性,文档,支持,价格等方面的经验是什么 我们的应用程序使用Java。 问题答案: Drools(以前是Drools,然后是JBoss Rules,然后又是Drools)是一个

  • 我在eclipse中创建了一个java项目,它会自动从外部目录中获取所有. drl文件并执行该目录中的所有规则。因此,这可以随时执行动态添加新规则。现在,我想使用引导规则编辑器来帮助非技术用户将新规则添加到该目录中,而不是创建一个新的drool文件。我已经开始使用drools-workbench,但我仍然不知道如何将这个eclipse项目与drools-wb中可用的引导规则编辑器功能集成。 是否有

  • 我正在尝试使用drools规则引擎中定义的一组规则对对象列表进行排序。示例对象结构如下 我想要 > 定义一组对对象列表进行排序的规则。 例如:规则1:“使用名称升序对对象进行排序” 定义规则需要执行的顺序 例如:将顺序1设置为规则1 我可以使用drools引擎实现这一点吗 我曾想过使用compareTo()进行排序,但由于排序标准可以在运行时更改,因此逻辑变得复杂且难以维护。 谢谢, Kolith