Java 使用UI编写JBoss Drools规则

Java 使用UI编写JBoss Drools规则,java,jboss,drools,rule-engine,Java,Jboss,Drools,Rule Engine,我们正在使用JBoss Drools将我们正在构建的某些服务中一些特别容易更改的业务逻辑外部化 在我们的开发人员可以创建和维护这些规则的地方,这些规则运行得非常好,我们有一个良好的集成和集成工作流级别 我们希望将其应用扩展到一种新的服务,这种服务需要非常高的定制水平。本质上,“专家用户”需要能够设置两种不同类型的规则: “标准”规则-这些几乎是隐含的规则,我们知道它们是常见的需求,我们可以为它们构建UI来设置,例如,只允许在两个日期之间进行某些操作等 “自定义”规则-完全脱离常规的要求,虽然我们

我们正在使用JBoss Drools将我们正在构建的某些服务中一些特别容易更改的业务逻辑外部化

在我们的开发人员可以创建和维护这些规则的地方,这些规则运行得非常好,我们有一个良好的集成和集成工作流级别

我们希望将其应用扩展到一种新的服务,这种服务需要非常高的定制水平。本质上,“专家用户”需要能够设置两种不同类型的规则:

  • “标准”规则-这些几乎是隐含的规则,我们知道它们是常见的需求,我们可以为它们构建UI来设置,例如,只允许在两个日期之间进行某些操作等

  • “自定义”规则-完全脱离常规的要求,虽然我们可以尝试和预测,但我们宁愿让人们编写和测试他们自己的规则:)

  • 我的问题是,在1和2中使用Drools是否可能(事实上,是否有任何例子)?基本上,要有一个固定的UI应用程序,作者可以有效地降低规则,并在UI中嵌入一个“自由文本”规则编辑器


    任何建议,谢谢

    您有几个选择

    对于(2),您可以简单地将Guvnor中的规则编辑器嵌入到web应用程序中。Guvnor中的所有编辑器都是可嵌入组件,因此您可以选择要使用的和不使用的。我在这种方法中看到的问题是,您可能给了用户太多的权限:)。换句话说,基于模型编写任何规则的能力需要通常只有技术用户才知道的规程。例如,编写测试以验证规则。一些业务用户对此有足够的技术知识,但我认为这可能是个例外,而不是规则


    我最喜欢并推荐的是开发您自己的特定于领域的GUI,它使用/公开业务用户熟悉的概念和术语,以及编写规则的方法,这些规则对他们的特定工作“有意义”。有时,他们甚至不知道自己在写“规则”,但他们会的。在幕后,应用程序从特定于域的GUI获取输入,并使用drools API或基于字符串的模板动态生成规则。这解决了您的(1)需求,但可能也足够强大来解决(2)。

    谢谢,我想您没有任何示例说明如何在任何地方应用Drools API来构建规则,是吗?我认为快速而肮脏的字符串模板可能是唯一的方法,但是如果有一个更吸引人的结构良好的API,API在这里:你可以在这里的集成测试中找到使用示例:@EdsonTirelli:看起来链接断开了,你能把它指向更新的位置吗?