第2章 Red Hat Decision Manager における DMN サポート
Red Hat Decision Manager は、適合レベル 3 で DMN 1.2 モデルの設計およびランタイムをサポートします。また、適合レベル 3 で DMN 1.1 および 1.3 モデルのランタイムのみサポートします。DMN モデルは、お使いの Red Hat Decision Manager デシジョンサービスと複数の方法で統合できます。
- DMN デザイナーを使用して Business Central で直接 DMN モデルを設計します。
-
Business Central で プロジェクトに DMN ファイルをインポートします (Menu
Design Projects Import Asset)。Business Central にインポートした DMN 1.1 はすべて、DMN デザイナーで開かれ、保存時に DMN 1.2 モデルに変換されます。 - Business Central を使用せずにプロジェクトのナレッジ JAR (KJAR) ファイルの一部として DMN ファイルをパッケージ化します。
全 DMN 適合レベル 3 の要件に加え、Red Hat Decision Manager には FEEL および DMN モデルコンポーネントに機能拡張および修正が含まれており、Red Hat Decision Manager での DMN デシジョンサービスの実装体験を最適化します。DMN モデルは、プラットフォームの観点からすると、Red Hat Decision Manager プロジェクトに追加したり、DMN デシジョンサービスを起動するために KIE Server をデプロイしたりできるため、DRL ファイルやスプレッドシートのデシジョンテーブルなど、Red Hat Decision Manager の他のビジネスアセットとよく似ています。
Red Hat Decision Manager プロジェクトのパッケージ化およびデプロイメントの方法を使用して外部 DMN ファイルを追加する方法は、Red Hat Decision Manager プロジェクトのパッケージ化およびデプロイ を参照してください。
2.1. Red Hat Decision Manager における設定可能な DMN プロパティー リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Decision Manager には、以下の DMN プロパティーが提供されており、KIE Server またはクライアントアプリケーションの DMN モデルで実行する際に設定できます。
- org.kie.dmn.strictConformance
このプロパティーを有効にすると、一部の helper 関数や、DMN 1.1 にバックポートされた DMN 1.2 の機能強化など、DMN 規定以外に提供された拡張機能やプロファイルをデフォルトで無効にします。このプロパティーを使用して、DMN Technology Compatibility Kit (TCK) を実行するなど、純粋な DMN 機能だけをサポートするデシジョンエンジンを設定できます。
デフォルト値は
falseです。-Dorg.kie.dmn.strictConformance=true
-Dorg.kie.dmn.strictConformance=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - org.kie.dmn.runtime.typecheck
このプロパティーを有効にすると、DRD 要素の入力または出力として、DMN モデルに宣言した型に従う実際の値を検証できるようになります。このプロパティーを使用して、DMN モデルに提供されたデータ、または DMN モデルが生成したデータが、モデルに指定したものに準拠するかどうかを検証できます。
デフォルト値は
falseです。-Dorg.kie.dmn.runtime.typecheck=true
-Dorg.kie.dmn.runtime.typecheck=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - org.kie.dmn.decisionservice.coercesingleton
このプロパティーは、デフォルトで、1 つの出力デシジョンを定義するデシジョンサービスの結果を、1 つの出力デシジョン値にします。このプロパティーを無効にすると、出力されたデシジョンを定義するデシジョンサービスの結果を、その意思決定のエントリーを 1 つ持つ
contextにします。このプロパティーを使用して、プロジェクト要件に従ってデシジョンサービスを調整できます。デフォルト値:
true-Dorg.kie.dmn.decisionservice.coercesingleton=false
-Dorg.kie.dmn.decisionservice.coercesingleton=falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow - org.kie.dmn.profiles.$PROFILE_NAME
このプロパティーは、Java の完全修飾名で設定された場合に、起動時にデシジョンエンジンに DMN プロファイルを読み込みます。このプロパティーを使用して、DMN 規定とは異なるサポート機能、またはそれ以外のサポート機能を使用する事前定義した DMN プロファイルを実装できます。Signavio DMN モデラーを使用して DMN モデルを作成する場合は、このプロパティーを使用して Signavio DMN プロファイルからお使いの DMN デシジョンサービスに機能を実装します。
-Dorg.kie.dmn.profiles.signavio=org.kie.dmn.signavio.KieDMNSignavioProfile
-Dorg.kie.dmn.profiles.signavio=org.kie.dmn.signavio.KieDMNSignavioProfileCopy to Clipboard Copied! Toggle word wrap Toggle overflow - org.kie.dmn.runtime.listeners.$LISTENER_NAME
Java の完全修飾名で値を指定すると、このプロパティーは起動時に DMN Runtime Listener をデシジョンエンジンに読み込み、登録します。DMN モデルの評価時に複数のイベントを通知するには、このプロパティーを使用して DMN リスナーを登録してください。プロジェクトの
kmodule.xmlファイルでこのプロパティーを設定することも可能です。-Dorg.kie.dmn.runtime.listeners.mylistener=org.acme.MyDMNListener
-Dorg.kie.dmn.runtime.listeners.mylistener=org.acme.MyDMNListenerCopy to Clipboard Copied! Toggle word wrap Toggle overflow - org.kie.dmn.compiler.execmodel
このプロパティーが有効な場合には、ランタイムに実行可能なルールモデルに DMN デシジョンテーブルロジックをコンパイルできます。このプロパティーを使用して、DMN デシジョンテーブルのロジックをより効率的に評価できます。このプロパティーは、実行可能なモデルのコンパイルがプロジェクトのコンパイル時に実行されなかった場合に有用です。このプロパティーを有効にすると、デシジョンエンジンにより最初の評価時のコンパイル時間が増加してしまいますが、その後のコンパイルがより効率的になります。
デフォルト値は
falseです。-Dorg.kie.dmn.compiler.execmodel=true
-Dorg.kie.dmn.compiler.execmodel=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow