在没有编译/部署过程的应用程序中实现逻辑/业务规则?

时间:2014-07-15 12:47:25

标签: java soa rules business-logic rule-engine

我当前的应用程序有一些if-else条件语句形式的规则,它们可以处理某些参数,以修改某些变量集或设置/取消设置其他变量。由于我们所拥有的客户越来越多,应用程序代码现在正在使用这些if-else规则 cluttered 。此外,这些规则不是静态的,它们经常更改 tweaked ,有些是为了使其他的激活等等。我已经看到基于JSR094的drools等提供了这个功能来将逻辑/规则与应用程序源代码分开

我的要求并不复杂,我不需要复杂的规则可视化软件,编辑UI等,但绝对是动态的(修改/可编辑规则),我的要求也需要低延迟,因为它处理大约100万个请求a一天。

为了解决这个问题,轻量级实施的任何想法都让我觉得有点过头了?

我的开发平台是Java。 示例规则:

if ( age > 15 && item belongs_to(footwear) || using(mobile_device) ) 
        discount = 2%

1 个答案:

答案 0 :(得分:0)

我强烈建议您使用正确的规则引擎,drools,flexrule ......如果您不喜欢使用这些解决方案,您总能找到一些表达式评估库,可以让您解析并执行基于字符串的表达式。