2012-10-03 88 views
26

我不是Drools专家。尽管如此,我还是有一些熟悉的,试验一下。 我无法欣赏,为什么我需要它。我为什么要用Drools?

我的典型应用程序是商业Web应用程序。是的,他们确实有一些规则。但是这些都是使用数据库表,SQL查询以及用于修改规则的业务用户的一个很好的UI实现的。规则并不是任意的,在投入生产之前,他们会经过仔细考虑。

我的商业用户永远不会使用(Drools)脚本语言来修改任何事情。单独修改规则。他们非常乐意使用UI屏幕来修改规则。另外,如果我让它们靠近它,它们会在Drools文件中造成数十万语法错误。

再次
- 为什么我应该在这种情况下使用Drools?
- 有我遇到的Drools狂热分子谁坚持我应该改变我所有的代码使用Drools。

那么,Drools有用吗?我不确定。

+0

意识到这是一个非常古老的问题,但我只是想指出的是,Drools的确实有一些用户界面来修改一个“好”的方式的规则,而不必担心脚本语法。 –

回答

17

所有条纹的狂热分子都应该被质疑,无论他们热衷于什么话题。

数据驱动的决策表是实现复杂行为的完美方式。在它不能根据您的需求进行扩展或执行的那一天,或许您会想要考虑其他事情。

我不想在工作生产代码中进行技术交换,除非我有一个令人信服的理由。这要比粉丝男孩游说要多得多。

如果你真的感兴趣,做一个PoC并获得一些真实的数据。如果没有,学习如何礼貌地微笑和忽略他们。

我已经回答了这个前:

Rules Engine - pros and cons

UPDATE:如果这是你的老板,你不能解雇,然后根据它的接口,并尝试在PoC一个Drools的实现。如果您使用Spring,请先注入一个,然后注入另一个,然后在有意义的生产额定负载下测量性能。获取一些真实的数据 - 也许你们都会学到一些东西。

+1

如何对老板微笑? :) – Jasper

+5

微笑很容易;这是无视这是棘手的一点。 – duffymo

+0

Duffymo我有兴趣开始使用Drools,请你指点我一些教程。 –

2
  • Drools是开源的。
  • 它提供正向和规则执行的反向链接
  • 它提供模板库规则定义
  • 它使用JSR-94
  • 它决策表设施
  • 它的规则是人类可读实施
  • 它与春天集成
0

考虑一个珠宝店的一个简单的例子,它需要维护计算d的商业逻辑iscount根据珠宝的类型。这可以在我们的Java代码中完成。 但是这些规则可能会每天更改,并且需要定期更新我们的代码,这不是很好。此外,我们将始终要求开发人员进行此类更改。因此,将这种逻辑定义为业务规则管理系统中的规则是一种很好的做法。如果明天折扣要更改,甚至可以由非技术人员完成。

JBoss Drools Tutorial

+0

把珠宝类型和折扣之间的简单关系应用于数据库表或配置。文件。更简单和容易。为什么流口水? – Jasper

+0

对于非技术人员来说很难。 Drools的主要优点是规则可以用简单的英文写成 – Rameez