はじめに
InterSystems IRIS 内の各ビジネス・ルールは、ルール・セットの一部です。さらに、各ルール・セットは、より大きなルール定義の一部です。ルールとルール定義という用語は、場合によっては同じ意味で使用されますが、それぞれのルールは、最終的にはルール定義の下でグループ化されます。
ルール定義、ルール・セット、およびルールは、ルール・エディタを使用して編集します。これは、管理ポータルで [相互運用性]→[ビルド]→[ビジネス・ルール] に移動することによりアクセスできます。
ルール・エディタ内の既存のルールは、[相互運用性]→[リスト]→[ビジネス・ルール] に移動して開くことができます。
ルール・エディタには、/ui/interop/rule-editor と /api/interop-editors の 2 つの Web アプリケーションが含まれています。/api/interop-editors/ Web アプリケーションは、管理ポータルと同じ認証方法を使用するように構成できます。この Web アプリケーションに代わりの認証方法が構成されていない場合、ユーザはルール・エディタを開いたときに InterSystems IRIS ユーザとして再認証する必要があります。/ui/interop/rule-editor Web アプリケーションは、認証なしのままにする必要があります。
旧 Zen ルール・エディタの使用
Zen ベースのルール・エディタは、新しいルール・エディタに置き換えられました。新しいルール・エディタは同じ機能を維持していますが、ユーザ・インタフェースが更新されています。
古いルール・エディタは新しいルール・エディタから引き続きアクセスできます。これにアクセスするには、新しいルール・エディタを開き、右上のメニュー (現在のユーザのユーザ名とプロファイルのアイコンで識別) をクリックして、[Zen ルール・エディタで開く] をクリックします。
古いルール・エディタを既定のエディタとして使用するように設定することもできます。以下はその方法です。
-
管理ポータルで、[システム管理] → [セキュリティ] → [アプリケーション] → [ウェブ・アプリケーション] に移動します。
-
[/ui/interop/rule-editor] Web アプリケーションを選択します。
-
[アプリケーション有効] チェックボックスのチェックを外します。
-
[保存] をクリックします。
この Web アプリケーションを無効にすると、管理ポータルのリンクで古いルール・エディタが開くようになります。[/ui/interop/rule-editor] Web アプリケーションを無効にした場合、新しいルール・エディタにアクセスするには、再度このアプリケーションを有効にする必要があります。
ルール定義について
個々のビジネス・ルールは、ルール定義の下でグループ化されます。これは、ルール・エディタを使用して構築および編集します。ルール定義には、以下の設定が含まれます。
ルール定義クラスのパッケージ。
ルール定義クラスの名前。
ルール定義とその目的を示すユーザ指定の説明。
ルール定義のタイプ。そのルール定義に属するルールを定義する際に、有効なアクションを決定します。
ルールの編集時に変更できるオブジェクト・プロパティを決定するクラス。汎用ビジネス・ルールの場合、コンテキスト・クラスは BPL プロセスに関連付けられているビジネス・プロセス・クラスから生成され、末尾に .Context が付きます。BPL プロセスに関連付けられていないルーティング・ルールの場合、コンテキスト・クラスは通常、ルーティング・エンジンによって使用されるビジネス・プロセス・クラスです。
ルール定義の作成時に、[フィルタ] オプションを使用すると、[コンテキスト・クラス] ドロップダウン・リストに表示されるクラスのリストを縮小できます。
(オプション) ルーティング・ルールでは、ルールを編集する際にルール・エディタが事前定義したオプションを提供できるように、ルールが使用されるプロダクションの名前を指定します。例えば、プロダクションを指定してから制約を変更した場合、プロダクションの構成項目は、制約の [ソース] フィールドのオプションとして表示されます。
プロダクションの構成時にルールを指定した場合を除き、プロダクションではルーティング・ルールは自動的には使用されません。
エクスポートとインポートのルール
ルール・セットおよびルールを含むルール定義は、[相互運用性]→[リスト]→[ビジネス・ルール] に移動し、[エクスポート] を選択することによりエクスポートできます。以前エクスポートしたルール定義をインポートするには [インポート] オプションを使用します。
あるいは、ルール・クラスを、管理ポータルの [システムエクスプローラ]→[グローバル] ページ、またはスタジオの [ツール] メニューからエクスポートまたはインポートすることもできます。
ルール・セットについて
新しいルール定義を作成すると、新しいルール・セットが自動的に作成されます。ルール・セット名および有効な日付範囲を定義する場合、または新しいルール・セットを作成する場合は、ルール・セット名の横にある アイコンを選択します。
一般に、ルール・セットには以下に示す 2 つのタイプがあります。
-
汎用ビジネス・ルール・セット — いずれか 1 つが真であることが判明するまで順次評価されるルールのリスト。真と判明したルールは、そのルールを呼び出したビジネス・プロセスの次のアクションを決定します。どのルールも真でない場合は、ルール・セットからデフォルト値が返されます。このタイプのルール・セットを呼び出すには、BPL <rule> 要素を使用します。
-
ルーティング・ルール・セット — メッセージ・ルーティング・プロダクションで使用するルール・セット。ルーティング・ルール・セットでは、受信メッセージ (制約として指定した) のタイプと内容に基づいて、各メッセージの正しい宛先と、送信前にメッセージの内容を変換する方法が決定されます。このタイプのルール・セットを呼び出すには、ルーティング・エンジン・ビジネス・プロセスを使用します。
すべてのルール・セットには、2 つのプロパティがあります。
-
[ルール・セット名] — ルール・セットの識別子。
-
[有効期間] — ルール・セットが有効な期間、つまりそのルールが実行される期間を定義します。
一般に、ルール定義には、常に有効なルール・セットが 1 つだけ含まれます。ただし、ルール定義には、異なる時間に有効なルール・セットであれば、複数のルール・セットを含めることができます。ビジネス・プロセスからのルールの呼び出し時には、常に 1 つのルール・セットのみが実行されます。