Red Hat Decision Manager ルールの書き方を知りたい場合に役立つドキュメント


Red Hat Decision Managerでルールを実装する際に使う言語が、DRL(Drools Rule Language)
ルールを記述するには、このDRLの文法をまずは知る必要があります。

DRLとは、こんな感じのコードです。

rule "Hello World"
when
    Person( name == "Chuck" )
then
    System.out.println( "Hello Chuck" );
end

「え?DRLで書かなくてもいいんですよね?Decision Managerって、Excelとか使って表でルール書けるんですよね?」という質問をよく受けます。

たしかに、Decision Managerのルールは上記のような表形式で書くことも出来ます。
ですが、よく見てください。上の方にプログラムコードみたいなのが書いてありますよね?

ここはまさしくDRLで書かれています。表形式で書くルールを、デシジョンテーブルとか意思決定表と言いますが、これを書く際にはDRLの知識が必要になります。

出来上がったデシジョンテーブルのメンテナンスは、DRLを知らなくてもExcelの編集だけで可能ですが、最初にデシジョンテーブルを作る開発者は、DRLについて知っておく必要があります。

さて、そこで、DRLやデシジョンテーブルの書き方について習得したいけれど、あまり情報がなくて困っている、
そういう方向けに役立ちそうな情報をここにまとめておきたいと思います。

ルール実装の学習に役立つあれやこれ

Q. 書籍ってないんですか?

A. 少し古いけど、それなりには役立つのがこれ。全編英語ですけどね。
Mastering JBoss Drools6

========================
Q. 参考になるサイトはないですか?

A. Drools(Decision Managerのコミュニティー版)のドキュメント内に割と詳しく書いてあります。全編英語です。製品版(Decision Manager)もルールの書き方についてはほぼ同じです。ただし、まったく同じではありませんので、それを頭に入れた上で参照ください。(第8章:Rule Language Reference にDRLの記法が書いてあります)
バージョンはたびたびアップデートされますので、最新を見つけてください。以下は7.9.0のドキュメントへのリンクです。
Drools Documentation

========================
Q. 日本語のサイトはないですか?

A. かなり古いバージョンになりますが、製品版のマニュアルで以下は日本語化されています。API関連のところは現バージョンとはかなり違いがありますが、ルールの記述についてはあまり変わっていないため、最初に読んで理解するには最も良い資料です。
古いけど日本語化されている製品マニュアル

新しいバージョンのマニュアルも、日本語化されています。
バージョン7.7のルールエンジンに関するマニュアル

Excelを使ってデシジョンテーブルを作成する場合は、こちらのマニュアルをどうぞ。