2011-01-10 127 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配置器是那裏的一些選項。