这不是一个是/不是问题,但是我可以分享我的经验,并希望能对您有所帮助。在一些项目中,我已经非常成功地使用了DROOLS。除了某些情况(另一个团队在重负载下存在DROOLS问题)之外,DROOLS是一个非常有用的库。
我构建了一个应用程序,该应用程序: 1.从源中读取输入 2.根据一组可用操作中的输入选择下一个操作
看起来很琐碎,它需要非常灵活: 1.输入是一组名称-值对变量集,名称不是预先确定的。 2.值,某些名称/值的存在/不存在(基于事件的发生/不存在),触发不同的动作。 3.在运行应用程序时,业务规则可以更改。
也许有更好的解决方案,但无论好坏,我最终都使用了DROOLS。我开发了BPEL,由DROOLS组件做出决策。DROOLS组件在内部从Microsoft Excel电子表格中读取决策规则。如果文件有更改,它将重建规则。现在,领域专家会在需要时更改此电子表格,我们不会经历痛苦的??部署!
如果您需要复杂的UI,DROOLS Guvnor是一个易于使用的Web应用程序(具有丰富的UI),它将帮助您的域/主题专家构建规则并将其存储在数据库中。