IBM TechXchange Japan Business Automation User Group

IBM TechXchange Japan Business Automation User Group

Japan Business Automation User Groupとは、IBM Cloud Pak for Business Automationおよびそのコンポーネント製品に関して、技術情報を提供およびディスカッションするための日本語ユーザー・グループです。

このページは,以下のURLでもアクセスできます。
http://ibm.biz/JPBizAutomationUG

developerWorks日本で公開されていたBusiness Automation製品の技術文章をお探しの方はこちらから。
旧developerWorks Business Automation日本語版 転載文章一覧

※ 本コミュニティはメンバー同士が相互に情報交換を行う場です。発信は個人の見解であり企業を代表するものではありません。

 View Only

Operational Decision Managerのクラッシックエンジンと意思決定エンジンについて

By NOBUO HAMASAKI posted 15 hours ago

  

Operational Decision Manager 8.12.0 以降のバージョンでは、クラシック・ルール・エンジンはサポートされません。 

そのため、必ず意思決定エンジンを使用することになります。

ここではクラッシックエンジンと意思決定エンジンの違いと、意思決定エンジンへの移行時の注意事項を説明します。

ルールエンジンの比較

クラシック・ルール・エンジンと意思決定エンジン API の間のマッピング
クラシック・ルール・エンジンの
API と意思決定エンジンの API の間のマッピングは、1 1 のマッピングではありません。 意思決定エンジンの API はモジュラーであり、複数のインターフェースから構成されています。

数値の 10 進数の精度
意思決定エンジンは、ルールで使用するすべてのリテラル数値を倍精度浮動小数点数として解釈します。

詳細に関しては以下のサイドを参照してください。

https://www.ibm.com/docs/ja/odm/8.11.1?topic=rulesets-rule-engine-comparison

コンパイルおよび実行の違い

意思決定エンジンは、ルール成果物をコンパイルして、Java バイトコードに変換されたときに実行可能になるコンパイル済みの最適化されたコードを含むアーカイブにします。

一方、クラシック・ルール・エンジンでビルドされたルール・セットには、コンパイルと最適化の前に構文解析が必要なテキスト・ファイルが含まれています。 ルール・セットのロード時に、コードの構文解析、コンパイル、および最適化行います。

したがって、意思決定エンジンでのルール・セットのロードがより速くなります。 すべてのコードは既に (中間コードまたは Java バイトコードに) コンパイルされ、ルール実行用に完全に最適化されています

以下の図は、クラシック・ルール・エンジンと意思決定エンジンのコンパイルと実行のプロセスを示しています。

クラッシックエンジンと意思決定エンジンの違い

意思決定エンジンの制約事項

意思決定エンジンの制限のなかで注意すべき項目は意思決定表です。

クラッシックエンジンの意思決定表は1行で1ルールとみなされますが、意思決定エンジンの意思決定表は表全体で1つのルールとみなされます。また全てのオブジェクトが存在している必要があります。

同じシナリオデータでも、クラッシックエンジンではエラーとならないケースでも、意思決定エンジンではエラーになるケースもあります。

クラッシックエンジンから意思決定エンジンへ移行する場合は、十分なシナリオテストなどでの検証作業が重要です。

以下の点に注意をしながら安全な移行を実施してください。

・同一パッケージないで実行されてるケースでは実行の順番が変わる可能性があります。

・テクニカルルールを使用している場合にはIRLARLの違いを十分に確認してください。

・パラメータの初期値を確認してください。BOMの項目だけではなく、変数セットやルールフローの初期アクション/終了アクションで使用されている項目に関しても確認が必要です。

0 comments
1 view

Permalink