使用Drools Guvnor进行规则开发和部署管理 介绍
Drools Guvnor有自己的版本控制系统,在生产使用中允许应用程序的用户修改规则和决策表,以适应业务的变化。然而,同样的资产仍然存在于开发版本控制系统中,在该系统中开发了应用程序的新功能 这篇文章是为了在使用Drools规则和Guvnor时,寻找关于规则开发和部署的见解/想法/经验 下面是一些我一直困惑的关键概念 部署到Guvnor 首先,将drl文件和决策表部署到生产环境的最佳方式是什么?只需将它们放在一个压缩包中,然后解压缩到WebDAV文件夹?对于Drools,我一直没有找到一种一次导入多个文件的方法。不过,事实模型可以添加为jar归档。Guvnor似乎有某种REST API,但使用它需要自定义部署脚本 变革管理 其次,一旦应用程序投入生产,用户可能会希望更改决策表中的值,以便为高级客户等设置更高的折扣百分比。这一切都很好,很好,直到开始开发2.0版应用程序为止 现在我们在这一点上得到的是使用Drools Guvnor进行规则开发和部署管理 介绍,drools,rule-engine,business-rules,drools-guvnor,guvnor,Drools,Rule Engine,Business Rules,Drools Guvnor,Guvnor,Drools Guvnor有自己的版本控制系统,在生产使用中允许应用程序的用户修改规则和决策表,以适应业务的变化。然而,同样的资产仍然存在于开发版本控制系统中,在该系统中开发了应用程序的新功能 这篇文章是为了在使用Drools规则和Guvnor时,寻找关于规则开发和部署的见解/想法/经验 下面是一些我一直困惑的关键概念 部署到Guvnor 首先,将drl文件和决策表部署到生产环境的最佳方式是什么?只需将它们放在一个压缩包中,然后解压缩到WebDAV文件夹?对于Drools,我一直没有找到一种一次
- 版本控制系统中的drl文件和决策表
- 生产环境中带有用户修改的drl文件和决策表,版本由Guvnor控制
谢谢。做事情的最佳方式在很大程度上取决于您的特定应用程序和工作环境。然而,以下是我自己的经验。请注意,我现在只想补充几点。当事情发生时,我可能会回到这个答案上来 初始上线后,保持发布增量和小型化 对于第一个版本,您有机会尝试一下。利用这个机会,尽可能多地进行重构,因为 您的应用程序已上线,业务用户正在决策表中维护规则。您在业内人士喜欢称之为“业务敏捷性”的领域取得了巨大的进步。不幸的是,这往往以牺牲应用程序开发敏捷性为代价。所有引导编辑器规则和决策表规则都与事实模型相关联,因此对该事实模型现有属性的任何更改都将破坏决策表。与现在大多数IDE不同,您不能只右键单击事实的getX()方法,重命名它,然后期望所有依赖该属性的代码都会更新 决策表和引导规则很难重构。如果一个事实被重命名,那么在Guvnor的许多(所有?)版本中,该规则/表将不再打开。您需要通过WebDav获取底层XML文件,并进行一些文本搜索和替换。这可能非常困难,考虑到要做到这一点,您需要将文件从生产环境下载到测试环境中,进行更改、测试并将其部署到测试环境中。当您对所做的更改感到满意时,您需要将其推回到“生产”Guvnor。不幸的是,当您这样做时,用户已经更新了许多决策表,您需要重新开始,或者重新应用过去几天的更改。在理想情况下,您的业务用户将同意在一段时间内不更改规则。但唯一可行的办法是保持小幅度的改变,这样你就可以在几个小时或一天内完成,这取决于他们的慷慨程度 为了缓解这种情况: