第2章 Red Hat Decision Manager における DMN サポート
Red Hat Decision Manager は、適合レベル 3 で DMN 1.2 モデルの設計およびランタイムをサポートし、適合レベル 3 で DMN 1.1 モデルはランタイムのみサポートします。DMN モデルは、お使いの Red Hat Decision Manager デシジョンサービスと複数の方法で統合できます。
- DMN デザイナーを使用して Decision Central で直接 DMN モデルを設計します。
-
Decision Central で プロジェクトに DMN ファイルをインポートします (Menu
Design Projects Import Asset)。Decision Central にインポートした DMN 1.1 はすべて、DMN デザイナーで開かれ、保存時に DMN 1.2 モデルに変換されます。 - Decision Central を使用せずにプロジェクトのナレッジ JAR (KJAR) ファイルの一部として DMN ファイルをパッケージ化します。
全 DMN 適合レベル 3 の要件に加え、Red Hat Decision Manager には FEEL および DMN モデルコンポーネントに機能拡張および修正が含まれており、Red Hat Decision Manager での DMN デシジョンサービスの実装体験を最適化します。DMN モデルは、プラットフォームの観点からすると、Red Hat Decision Manager プロジェクトに追加したり、DMN デシジョンサービスを起動するために Decision 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 は、クライアントアプリケーションの Decision Server で DMN モデルを実行する際に設定できる以下の 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
- org.kie.dmn.runtime.typecheck
このプロパティーを有効にすると、DRD 要素の入力または出力として、DMN モデルに宣言した型に従う実際の値を検証できるようになります。このプロパティーを使用して、DMN モデルに提供されたデータ、または DMN モデルが生成したデータが、モデルに指定したものに準拠するかどうかを検証できます。
デフォルト値は
false
です。-Dorg.kie.dmn.runtime.typecheck=true
- org.kie.dmn.decisionservice.coercesingleton
このプロパティーは、デフォルトで、1 つの出力デシジョンを定義するデシジョンサービスの結果を、1 つの出力デシジョン値にします。このプロパティーを無効にすると、出力されたデシジョンを定義するデシジョンサービスの結果を、その意思決定のエントリーを 1 つ持つ
context
にします。このプロパティーを使用して、プロジェクト要件に従ってデシジョンサービスを調整できます。デフォルト値:
true
-Dorg.kie.dmn.decisionservice.coercesingleton=false
- 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
- org.kie.dmn.compiler.execmodel
このプロパティーが有効な場合には、ランタイムに実行可能なルールモデルに DMN デシジョンテーブルロジックをコンパイルできます。このプロパティーを使用して、DMN デシジョンテーブルのロジックをより効率的に評価できます。このプロパティーは、実行可能なモデルのコンパイルがプロジェクトのコンパイル時に実行されなかった場合に有用です。このプロパティーを有効にすると、デシジョンエンジンにより最初の評価時のコンパイル時間が増加してしまいますが、その後のコンパイルがより効率的になります。
デフォルト値は
false
です。-Dorg.kie.dmn.compiler.execmodel=true