オープンソースビジネスロジック統合プラットフォームとして、最新バージョンのDroolsではワークフローとイベントプロセッシングをサポートしている。Drools開発チームは最近、Drools 5.0 最終バージョンのリリースを発表した。主な動きとして、Drools 5.0は単純なルール指向システムとしてではなく、ナレッジ指向システムということにフォーカスをあてている。新しいバージョンはGuvnor、Expert、FusionとFlowと呼ばれる4つのモジュールで構成している。
Guvnor
GuvnorはDroolsのwebベース統制システムである。基本的にはDroolsナレッジベースの集中リポジトリで、webベースのGUI、エディタと大量のルールを管理しやすくするツールが用意されている。開発者はナレッジに関係するルール、モデル、ファンクション、プロセスなどのバージョン管理を、Guvnorコンポーネントを使うことによって可能にしている。 アクセス権限管理もあるので、ドメインエキスパート (非プログラマ) は一度にすべての機能を把握することなく、ルールの閲覧、編集が行える。Guvnorはバージョン管理した上で、何回でもルールの変更が可能である。
Expert
従来のルールエンジンである。主な要素はルールエンジンとオーサリングである。ルールエンジンは非対称Reteアルゴリズムを実装してルールを管理している。また、JMS、JAXB、Smooks、XStreamとJxls (Excel)のようなデータソースを制御するデータオートメーションのパイプラインとしても利用できる。オーサリングコンポーネントにはコード補完、行デバッガなどの機能を兼ね備えたEclipse IDEベースなツールが用意されている。DSLテンプレート記述やルールフローのオーサリングも可能である。
Fusion
DroolsプロダクトのイベントプロセッシングのモジュールであるFusionは、複合イベントプロセッシング(CEP)、イベント相関、タイムウィンドウのスライディング、タイムベース制約といった機能をサポートしている。次の機能もサポートしている
- 非同期マルチスレッドストリーム
- 一時的推論
- イベントガーベッジコレクション
- 休止イベントの判定
- ウィンドウスライディング
Flow
ルールのオーケストレーションとしてDrools 5.0で用意された新しいワークフローエンジンである。利用者はビジネスロジックにルールとプロセスの両方を使って指定できる。指定された時間まで待つことができるTimer(初期値、繰り返し遅延パラメータの指定が可能)と、人の手によって実行されるタスクを管理できるヒューマンタスクの機能もサポートしている。プロセスエンジンは既存のヒューマンタスクコンポーネントと統合しやすくなっている(例えば WS-HumanTask実装)。スイムレーン、ルール割り当て機能もサポートされている。
他にもDrools 5.0にある新機能としては、永続化(JPA)、トランザクション (JTA) 、指定されたDroolsプロジェクトのインスタンスを複数同時に動作できる実行環境としてのEclipse IDEのサポートがある。