JBoss Drools

JBoss Drools について


JBoss.orgでコミュニティとして存在しているのが、JBoss Droolsプロジェクト。
 -Drools Guvnor (ルール管理)
 -Drools Expert(ルールエンジン)
 -Drools Fusion (Complex Event Processing)
 -Drools Planner (最適化エンジン)
 -jBPM (ビジネスプロセスモデル、ワークフロー)

これらのプロジェクトに分かれている。

2011/06/24
Expert, Fusion, Planner, Guvnor の部分に関して、5.2.0 がリリース。


JBoss Enterprise BRMS, SOA Platform


JBoss Drools コミュニティーにてリリースされたものを厳しくテストを行い、サブスクリプションモデルとして販売しているのがこれらの製品群。
JBoss.org でリリースされたものについての質問をRedhat社に聞いても答えてはくれない。製品の問い合わせを受けたい場合は、Redhat社からサブスクリプション(=年間サポート)を買う必要がある。

2011/07/01 時点では5.1.0が最新バージョン。


記述言語


JBoss Drools Language (DRL) をルールエンジンが解釈する。
Java のようで Javaではない。
DRL に日本語をラッピングする形をとることで、日本語でルールが書けるようになっている(Domain Specific Language, DSL)。
Excelの表にDRLを埋め込む(特定のセルにルールを記述する)ことで、使っているExcel の表が、稼働するルールとなる。

package Rule1
import org.jboss.demo.*

rule "MatchingRule"
  ruleflow-group "Matching"
  lock-on-active true

 when
   $O : Order(OPN : productName)
   $PParts : ProductParts(productName == OPN)

  then
   modify($O) {
     addDetail(new OrderDetail($PParts.PP.get(0).getPartsName(), 0, "" ))
   }

 end

DRLの例
最終更新:2011年07月06日 19:43