2014年5月22日木曜日

Red Hat JBoss BRMS - BRMS 5 と BRMS 6 の違いをより詳しく見てみる

原文: Red Hat JBoss BRMS - taking a closer look at BRMS 5 vs BRMS 6 by Eric D. Schabell

今年、JBoss Business Rule Management System(BRMS) は 5系 から 6へバージョンアップする際、たくさんの変更がおこなわれました。

2つの製品の違いを特集すれば面白いと考え、早速 JBpss BRMS 5 が提供する Guvnorと、JBoss BRMS 6が提供する Business Central dashboardを比較してみました。

今回の特集では主要なコンポーネントのみを比較しています。もしあなたが確認したい機能が説明されていない場合、コメント覧にリクエストを記載してください。

各種機能及びコンポーネントは boldで記述されています。boldで表記されたタイトルに続く段落で、JBoss BRMS 5と JBoss BRMS 6との比較を記述します。

リポジトリーのメカニズム
JBoss BRMS 5では、JCRデータソースが利用されています。

JBoss BRMS6では、GITベースのリポジトリーが利用されています。GITはエンタープライズ開発のメインストリームで、プロジェクト管理に利用されています。新しいリポジトリーの詳細については、製品ドキュメント(Installation Guide, Chapter 3)をご覧ください。

パッケージのインポートとグローバルエリア
JBoss BRMS 5の Guvnorは、プロジェクトをzip形式でエクスポートする仕組みがありました。エクスポートされたアーカイブは、別マシンへインポートすることができます。

別方法は、JBoss Developer Studio(JBDS)の toolingプラグインにより Guvnorとコネクションを貼ります。これによりJCRデータソースとアセットのやり取りが可能になります。

JBoss BRMS 6では、プロジェクトアセットをクローン(GIT)するコンセプトが使われます。Busines Centralコンポーネントの Administrationパースペクティブでクローンすることができます。JBDSを5系同様に使うことができますが、GITリポジトリーを使います。

グローバルは、ルールエンジンから参照可能なオブジェクトです。ファクトと根本的に異なる点があります:グローバルエリアのオブジェクトが変更されることにより、ルールの再評価はおこなわれません。6系でも継続して提供される機能です。詳細は製品ドキュメント(Development Guide、Chapter 5)をご確認ください。

パッケージやファクトの依存性を管理(Dependency management)
JBoss BRMS 5は、ルールプロジェクトが実行されるコンテナ(一般的には JBoss EAP server)にクラスパスを通すことでパッケージやファクトの依存性を解決しました。ファクトに関していえば model jarを Guvnorへアップロードし、パッケージに組込むことができます。

JBpss BRMS 6は、デプロイメントと依存性の管理に Mavenを利用します。これにより、企業は既存のプロジェクトの依存関係を管理するストラテジーを活用することができます。Business Centralプロジェクトは、依存関係を管理する POMファイルを保有します。データモデル(ファクト)の依存関係も、この 仕組みで管理することができます。

パッケージのビルドとデプロイ
JBoss BRMS 6 は深く mavenのビルド メカニズムと結びついています。Project Authoring画面で「Build & Deploy」ボタンをクリックすると、maven artifactが生成されます。(knowledge archive や KJARと呼ばれる JARアーカイブファイルが生成されます) 生成されたアーティファクトは、デフォルトで ローカル maven リポジトリーにデプロイされます。このローカル maven リポジトリーにアクセスできるプロジェクトは、すべてこのアーティファクトを利用することができます。

プロセスインスタンスの管理
JBoss BRMS 5では、ルールやイベントと同様、プロセスを管理することができました。JBoss BRMS 6は異なります。ルールとイベントのみ管理できます。JBoss BPM Suiteでは、ルールやイベントの他、プロセスを管理することができます。

この機能は JBoss BPM Suiteにのみ提供され、JBoss BRMS 6 には提供されていません。

Task リスト
JBoss BRMS 5では、ルールやイベントと同様、プロセスを管理することができました。JBoss BRMS 6は異なります。ルールとイベントのみ管理できます。JBoss BPM Suiteでは、ルールやイベントの他、プロセスを管理することができます。

この機能は JBoss BPM Suiteにのみ提供され、JBoss BRMS 6 には提供されていません。

service handlerの登録
domain specific nodeを取扱う場合、service handler(BPMN2 では task nodeと呼ばれています) のデザインや登録が必要になります。JBoss BRMS 5では、ルールやイベントと同様、プロセスを管理することができました。JBoss BRMS 6は異なります。ルールとイベントのみ管理できます。JBoss BPM Suiteでは、ルールやイベントの他、プロセスを管理することができます。あなた自身の domain specific task を作成し BPMエンジンに登録されたい場合、JBoss BPM Suiteを使用する必要があります。

Rule Taskだけです...
JBoss BRMS 6には process designerが含まれますが、rule taskを使った rule flowのみ開発できます。

user task formの追加
JBoss BRMS 5では、ルールやイベントと同様、プロセスを管理することができました。JBoss BRMS 6では異なります。ルールとイベントのみ管理できます。JBoss BPM Suiteでは、ルールやイベントの他、プロセスを管理することができます。

この機能は JBoss BPM Suiteにのみ提供され、JBoss BRMS 6には提供されていません。

RESTインターフェース
もしあなたが BRMS 5で提供された REST APIを使われている場合、JBoss BRMS RESTインターフェースに大幅な進展がありましたのでご注意ください。詳細については JBoss BRMS 6の製品ドキュメント(User Guide、Chapter 9)をご覧ください。

モニタリングと BAM
JBoss BRMS 5では、ルールやイベントと同様、プロセスモニタリング及び BAM機能を提供していました。JBoss BRMS 6では異なります。ルールとイベントのみ管理できます。JBoss BPM Suiteでは、ルールやイベントの他、プロセスを管理することができます。

この機能は JBoss BPM Suiteにのみ提供され、JBoss BRMS 6には提供されていません。

永続化の管理(Persistence management)
JBoss BRMS 5 から BRMS 6への進展により永続化の管理も多少変わりましたが、JPAやJTAといった同じコンセプトを引き継いでいます。新しい Knowledge is Everything(KIE) APIの設定や利用方法に関する詳細は、製品ドキュメント(Developer Guide、Chapter 5)をご覧ください。

ルールとのインテグレーション - knowledge agent - JBDSとのインテグレーション
JBoss BRMS 5では、ルールとのインテグレーションは Knowledge Base(KB)と Knowledge Session(KS)により促進されました。JBoss BRMS 6では、KIE Baseと KIE Sessionに移行されました。非推奨(deprecated)の KB/KSを利用されたい開発者の為に JBoss BRMS 5との互換性も用意されています。プロジェクトの依存関係に、製品に同梱されている knowledge-api を追加してください。KB/KSは将来なくなりますので、新しい KIE APIへの移行を計画する必要があります。

knowledge agentは、KIE Scannerに置き換わりました。KIE Scannerの使用例に関しては、 Cool Storeデモをご覧ください。 Webアプリケーションの内部で KIE Scannerを使い、maven repository の latest build をスキャンしています。これにより、プロジェクトの最新リリースを監視することができます。github プロジェクトから、KIE Scannerの設定方法のサンプルをご確認いただけます。

JBDSとのインテグレーションはすでにご説明しましたが、継続して提供されます。主な違いは製品のバックエンドに何が使われているかです。JBoss BRMS 5では JCRが使われ、JBoss BRMS 6では GITが使われます。

editor/modeler へのアクセス
JBoss BRMS 5は ルール/イベント/プロセス機能を提供していた為、たくさんの editorやmodelerが提供されていました。すでにご説明しましたが、JBoss BPM Suiteにのみ BPM機能が含まれる為、JBoss BRMS 6へすべての editor/modelerをマッピングすることはできません。

JBoss BRMS 6では、継続して下記 editor/modeler をsingle dashboardで提供します:

  • Administration perspective
    • organizational units editor
    • repository editor
    • asset explorer
  • Project Authoring perspective
    • rule flow process modeler
    • decision table modeler
    • DRL editor
    • data modeler
    • guided rule wizards
    • test designers
    • categories editor
    • artifact repository

カテゴリー(Categories)
JBoss BRMS 6でもカテゴリーは継続して利用可能です。また、独自の dashboard editorを提供します。
Categories editor

バージョン
アセットのバージョニング
ルールアセットのバージョンに注目してください。様々な editor/modelerの下部に、旧バージョンのアセットを選択することができる Metadataタブがあることに気付くはずです。








原文: Red Hat JBoss BRMS - taking a closer look at BRMS 5 vs BRMS 6 by Eric D. Schabell

1 件のコメント:

  1. アクセス数の多い TIPS&tricksシリーズです。JBoss BRMS 5と 6の違いを簡潔に比較しています。詳細を確認されたい方へドキュメントも随時紹介しているので、リファレンスとしても使える渾身のエントリーです。ぜひ継続的にご活用ください!

    もちろん、記事を読むだけでは足りません。無料で提供されている Online Workshopを実施していただくことで、メジャーバージョンアップによる進化を体感していただけます。 http://playintegration.blogspot.jp/2014/03/red-hat-jboss-brms-cool-store-lab-1-2.html

    返信削除