Drools是映射业务规则/逻辑的最有效方式吗?

Mar*_*zak 9 state rules drools jbpm

在我们的项目中,我们必须实现有关将某些对象映射到某些操作的业务逻辑.在某个操作最终得到解决之前,我们将为要验证的特定类型的对象提供一系列条件.换句话说,对于7种类型的对象,我们可以进行一系列操作(来自近45种动作).

我们正在考虑使用Drools写下上述规则.就效率而言,有没有人对使用Drools有一些积极/消极的经验?还有可以使用的jBPM框架(如果我没有弄错Drools在那里使用) - 任何人都熟悉该框架?也许您还有其他一些如何解决问题的想法?

Ste*_*eve 7

关于效率,你应该对Drools没有任何问题.这对我来说听起来像是一小部分事实和规则.它所依据的Rete引擎几乎肯定比你自己编写的任何if-then-else语句更快地做出决策.我注意到的一个特别好处是响应时间非常可预测.

显然,所有事实模型和规则都不同,但作为一个例子,我目前正在构建的应用程序在任何时候都有数百个工作内存事实,以及超过1000条规则.它能够在大约20毫秒内做出有关传入请求的决定.

对于您描述的内容,完整的jBPM框架听起来并不必要.但是,它的功能很好.例如,如果您正在寻求设计工作流程,那么就有一个流程建模GUI,如果技术团队在编写DSL和构建决策表方面付出了一些前期努力,那么Guvnor可以用于非技术规则作者.

为了完整起见,主要竞争对手可能是FICO Blaze Adviser或IBM ILog JRules.一般来说,当谈到基准时,那些往往略微领先于Drools,但它们很昂贵.不可否认,如果您决定支付JBoss/RedHat服务合同,那么它并没有太大的不同,但如果您乐意在Drools上获得社区支持,那么它是免费的!