我一直在评估 Drools 作为我们的业务 Web 应用程序中使用的规则引擎。
我的用例是订单管理应用程序。
规则如下:
- 如果用户类型是“特殊”,则给予额外 5% 的折扣。
- 如果用户已经购买了 10 次以上,则额外提供 3% 的折扣。
- 如果产品类别为“旧”,则向用户赠送价值 5 美元的礼品篮。
- 如果产品类别为“新”,则向用户赠送价值 1 美元的礼品篮
- 如果用户过去购买过超过 1000 美元的商品,则免运费
我看到的直接挑战是:
- 我无法提供给最终用户修改规则的有意义的 UI。
- 从最终用户的角度来看,Guvnor UI 或任何编辑器修改 drl 文件是不可接受的 - 这些规则中的大多数将在 db 中通常可用的大量数据上运行
所以,
- 我希望管理员用户可以从我的 Web 应用程序 UI 中指定这些规则。
- 我可以将这些“规则”存储在数据库中,然后通过 Drools 对它们进行操作 - 至少这允许我通过我的“自己的”用户界面“修改”这些规则。所以这有点像数据库中的决策表。
- 最好的方法是什么?