2011-01-10 58 views
0

我一直在开发一种软​​件,它需要一个形式为'A不允许B'或'X需要Y'的规则来创建一个允许你配置一个复杂项目的应用程序。配置规则引擎 - 替代方法?

为了更充分地描述它,想象你有文件夹,其中有子文件夹的一些数量的水平,而且每个子文件夹的项目有一定数量。其目的是以帮助用户创建有效选择集合的方式表达项目之间的关系。

所以实际的规则看起来更像是'All(A,B,C)Disallows Any(X,Y,Z)',它表示如果用户选择A,B和C,他们不能选择X,Y或Z中的任何一个。它基本上只是布尔逻辑。

还有其他类型,如那些如果你选择一个,那么你还必须选择B,但不值得进入的所有细节是说。

它不是业务逻辑(至少不是正常的意义上的),规则可以随时改变(他们将会改变),所以它们需要从字符串中读取,并通过一个复杂的数据库结构来解释或连接我宁愿远离)。

真正的问题是:有没有某种系统或框架在那里的,在这种运行时行为涉及?我知道Oracle有一个叫做“Oracle Configurator”的东西,它完全符合我所说的内容,但是我认为这是非常昂贵的。

该项目几乎已经结束,我已经构建了一个“工作”系统,但我正在尝试进行验尸,看它能否做得更好/更快/更便宜。

回答

0

您可能会感兴趣Prolog

+0

我还没有弄清楚所有细节,但在阅读了关于Prolog和玩弄一些简单的KB之后,它显示了很多的承诺。我会继续研究它并抓取几本书来阅读。在此期间,享受您的选中标记! – 2011-01-14 18:58:43

0

我相信Oracle配置器只是电子商务套件中的一个模块。这不是你可以加载到现有数据库和应用程序中的东西。

你可能想看看DBMS_RULE,看看是否会做你想要什么。

0

英镑配置,价格,报价,SAP配置器和Oracle配置器是那里的一些选项。