さて, 今度は grails でルール・エンジンが使えるか.
例えば drools (今は JBoss Rules とか言うのか? 嫌な感じだ:-). rete アルゴリズムが載っていてオープンと言えば drools. groovy くらいの記述力があれば, ちょっとしたビジネス・ロジックだったら別にルール・エンジンを動かすこともない. ルール・エンジンの出番はもうこんがらがって人手に負えない, というようなときだから, エンジンそのものや環境がちゃんとしているものでないと意味がない. というわけで drools.
なのだが.
drools はルールの集まりを Java と同様「パッケージ」として扱う. 無名のデフォルト・パッケージはない. ルール内で参照するオブジェクトは (同じパッケージでなければ) ちゃんと full qualified name で import しなければならない.
一方 grails は domain class を無名のデフォルト・パッケージに置く. ちょっとやってみたところでは, 好き勝手なパッケージには置けない (Spring のエラーになる).
ということで, grails の domain class に drools からアクセスできないのだな. 意味ない.
grails で適当なパッケージに置けるようにするためにはどうすればいいか, まだ見てないけど, うーん, 「ちょっとしたこと」ではなさそうだなぁ.
続きはまた書く.