介绍
Drools Guvnor 拥有自己的版本控制系统,在生产使用中允许应用程序的用户修改规则和决策表,以适应他们业务的变化。然而,相同的资产继续存在于开发版本控制系统中,在该系统中开发了应用程序的新功能。
这篇文章是为了在使用 Drools 规则和 Guvnor 时寻找有关规则开发和部署的见解/想法/经验。
以下是我一直困惑的一些关键概念。
部署到 Guvnor
首先,将 drl 文件和决策表部署到生产环境的最佳方式是什么?只是简单地将它们放在一个 zip 包中,然后解压缩到 Web-Dav 文件夹?我在 Drools 中浏览的内容,我还没有找到一种方法来一次导入多个文件。不过,事实模型可以作为 jar 存档添加。Guvnor 似乎有某种 REST API,但使用它需要自定义部署脚本。
更换管理层
其次,一旦应用程序投入生产,用户可能希望更改决策表中的值,以便为高级客户等设置更高的折扣百分比。这一切都很好,很花哨,直到开始开发应用程序的 2.0 版本。
现在我们现在拥有的是
- 版本控制系统中的 drl 文件和决策表
- 用户修改的生产环境中的 drl 文件和决策表,由 Guvnor 版本化
现在我们正处于从 Guvnor 取回规则和决策表的阶段。Web-Dav 文件夹再次是最适合此的,还有哪些其他选项?
今天的合并工具甚至可以处理 Excel 文件差异,但在大型项目中对我来说听起来像是一个合并地狱。
保持事实模型向后兼容
另一个主题是事实模型完整性。对于假定的 2.0 版本,开发人员总是希望进行重构并将整个事实模型颠倒过来。尽管如此,它仍必须保持与以前版本的向后兼容,因为可能存在依赖于此的用户修改规则。对此有什么建议吗?只是保持事实模型简单干净?提前计划/建议用户想要改变什么?
概括
我确信我不是第一个,也肯定不是最后一个考虑使用 Drools 和 Guvnor 进行部署和变更管理的选项。所以,我想听到的是关于处理这些情况的一些最佳(也是最坏的)做法的评论、讨论、提示等。
谢谢。