以前から気になっていた Droolsというルールエンジンの入門サイトを見つけたのでやってみた。以下にレポートする。
IDE としては Eclipse を用いる。また Drools と Eclipse ともに最新版(Drools → 5.0.1、Eclipse → 3.5)を使ってみることにした。
まずこのページを見ながら Eclipse 3.4 Workbench をインストール。Eclipse のバージョンは 3.4 を用いるよう指示があるが、上記のとおり、敢えて3.5を入れてみる。インストールに続いてサンプルの実行までやってみる。ここまで特に問題なし。
次に、Drools 5用の値引きのサンプル(Drools 5用)をやってみる。コピペはしないで1文ずつ書いていきながら、Java コード上でのDroolsオブジェクトの扱いとルールファイルの記述を観察。
で、コンパイルして実行してみたところ、プログラム自体はちゃんと動いているようだが、Working Memory ビュー が期待通りに動かない。Variable ビューで ksession変数を選択すると、Working Memory ビューにトップレベルのツリー要素が表示されるが、展開しようとするとビューから消えてしまう。どうもVariable ビュー上で ksession変数 がフォーカスを失ったタイミングでWorking Memory ビューから消えてしまうらしい。Eclipse 3.4 と 3.5の違いだと思うが、大した問題じゃないしそのうち Eclipse3.5対応版が出るだろうし、まあ良しとする。
もう少しサンプルを動かしてみたかったので、同サイトにあった旅費計算のサンプルと最大身長選択のサンプルもやってみるが、もともとDrools 4 のサンプルという事で、記事どおりのコードだと警告が出た。そこで、先にやったDrools 5用のサンプルを参考にしてRuleBase を KnowledgeBase に替えてみると、全部解消した。動作確認も OK。
導入としてはこんなものか。次にいじるときは、今ちょうどファイナンシャルプランナーの勉強をしているところなので、現実の法律に近いルールを書いてみたい。
0 件のコメント:
コメントを投稿