BRMSとして完成度を増したDrools5。 その中心となっているのがWebベースのルール管理システムDrools Guvnorです。このGuvnorだけでFactモデルの作成やルールの記述など、そこそこのことはできてしまうので今回はGuvnorを使ってサンプルを走らせてみましょう。サンプルのテーマはまたまた旅費規程(なんとかの一つ覚えと言われそうですが)。まあ、よくあるHelloWorldよりは多少はルールのサンプルらしいかと。
Drools 5.0 Guvnorのインストール
まず、Droolsのサイトから、Drools5.0のGuvnorをダウンロードしてきます。ダウンロードページに行くと、Guvnorのwarファイルのみ版とJBossAS付のスタンドアローン版があり、どちらでも同じですが、warファイル版はJBoss5にインストールするとき若干設定を変えたりする必要があるようなので、ひとまず設定の手間のかからないスタンドアローン版をここでは使いましょう。
スタンドアローン版をダウンロードして解凍し、適当な場所へ置いて、jboss-4.2.3.GAのルート\bin\run.batを実行します。するとコマンドプロンプトが立ち上がって、しばらくすると以下の画面に示すように
サーバがスタートします。
次にブラウザ(IE7やFirefox1.5以上など、メジャーなブラウザなら動きます)を立ち上げ
http://localhost:8080/drools-guvnor/
にアクセスしましょう。 以下のようなログイン画面が表示されます。
Guvnorはインストール後のデフォルトでは、ログイン画面は形のみでそのままOKを押すとGuvnorに入れてしまいます。今回のサンプルを動かす際はひとまずこのままにしてしまいますが、Guvnorの中でユーザパーミッションの設定ができるので早めにユーザの設定をしてしまった方が良いでしょう(設定の仕方については今回は省きます)。
最初にログインした際に、サンプルリポジトリをインストールするかどうか聞いてきます。Yesを押して一応インストールしておきましょう。
これで、インストールが完了しました。
Drools Guvnorの操作
Guvnorにログインすると、以下のような画面が表示されます。
大雑把に言うと画面の左半分は、Browse,Knowledge Bases,…Administrationと並ぶナビゲーションのメニュー、右半分が具体的な作業ウィンドウとなります。
Browseのメニューでは管理されているアセット(ルール、モデル、テストシナリオetc.)の内容をブラウズすることができます。StatusとCategoryという分類がありますが、Statusは、その下のDraftという名前から想像できるようにバージョンの分類を表します。ここではDraftという分類しかありませんが、Administrationメニューの中で例えばProduction、TestというStatusを加えることもできます。Categoryはやはりアセットの分類軸ですが、特に制約なく自由に付け加えることができます。一つのアセットに対して複数のカテゴリに属するようにさせることもできます。
Knowledge Basesのメニューではpackageが表示されます。packageはJavaのpackageやフォルダと同じと考えてよいかとおもいます。実際にモデルやルールを書いたりする際には、左上のCreate Newをクリックしてモデルやルールを作成します。
あまり長々と説明するのも何なので、あとはサンプルを作りながら進めていきましょう。