ビジネス・ルール

WebSphere Business Integration Server Express には、ビジネス・ルールを個別に設計するための機能が備わっています。この機能を使用すると、コラボレーション・テンプレートの定義や展開を完全にやり直さなくても、実行時の振る舞いを変更することができます。

ビジネス・ルールは、統合コンポーネント・ライブラリーのナビゲーター・ビューと InterChange Server Express コンポーネント・ビューの両方にリストされます。 ビジネス・ルールを使用して、ビジネス・プロセスを調整する追加ロジックを定義したり、システム内のさまざまなイベントに関係して対処したりすることができます。ビジネス・ルールでは一般に、モニターするビジネス・オブジェクト・プローブを 1 つ以上選択して、このビジネス・オブジェクト・プローブに関連する一定のパターンが検出されたときに対処します。 さらに、別の時刻ベースのビジネス・ルール (「指定時刻」、「毎」) もあります。これらは事前定義された時刻にトリガーされるもので、ビジネス・オブジェクト・プローブを使用する必要はありません。

ビジネス・オブジェクト・プローブは、実行時にビジネス・オブジェクト・インスタンスの値をモニターします。ビジネス・ルールを開発するには、まずビジネス・プローブを定義する必要があります。ビジネス・プローブを使用してビジネス・ルールを開発する方法の詳細については、「コラボレーション開発ガイド」を参照してください。

以下のセクションでは、新規ビジネス・ルール・ウィザードを使用して新規ビジネス・ルールを追加するときに必要な情報を示します。詳細については、新規ビジネス・ルール・ウィザードを参照してください。

この後のビジネス・ルール検出タイプ

ビジネス・ルールの有効時間

ビジネス・ルール・イベント・キーについて

ビジネス・ルールのアクションとプロパティー

新規ビジネス・ルール・ウィザード

ビジネス・ルール検出タイプ

ビジネス・ルールがシステムのコンポーネントに適用されるタイミングは、ビジネス・ルール検出タイプに基づいて決まります。本書では、説明と理解を容易にするため、検出タイプを以下の機能カテゴリーに分類します。

表 15. ビジネス・ルール検出タイプのカテゴリー
検出タイプのカテゴリー 検出タイプ
条件型 デシジョン・テーブル
すべて
シーケンス
時刻指定型 指定時刻

一定時間経過後
コレクション型 最少
最多
n 番目
否定型 なし
除外
計算型 分析
到達
パーセント

条件型検出タイプ

条件型検出タイプは、一定の条件に対応しています。この条件が満たされたときに、ビジネス・ルールがアクティブ化されます。

各条件型検出タイプを、定義および関連プロパティーとともに次の表に示します。

表 16. 条件型ビジネス・ルール検出タイプ
タイプ 定義 プロパティー
デシジョン・テーブル デシジョン・テーブル内の一連の条件に基づいて、ビジネス・ルールを検出し、ビジネス・アクションを適用します。 デシジョン・テーブル: 条件のほか、すべてのアクションの名前とアクション・プロパティー値が格納されているテーブル
すべて 指定のイベントがすべて検出され、それらのイベントのすべてがビジネス・ルールの条件を満たしている場合に限り、ビジネス・ルールを適用します。このルールの適用において、イベントの順序は重要な要素ではありません。 頻度: 「1 回」または「常時」(デフォルト)。条件 (オプション)
シーケンス すべてのイベントがビジネス・ルールに指定されている順序どおりに検出された場合に限り、ビジネス・ルールを適用します。 頻度: 「1 回」または「常時」(デフォルト)。条件 (オプション)

時刻指定型検出タイプ

時刻指定型検出タイプは、正確な時刻、時刻範囲、時間間隔のいずれかの時間フレームに対応しています。この時間フレーム条件が満たされたときに、ビジネス・ルールがアクティブ化されます。

各時刻指定型検出タイプを、定義および関連プロパティーとともに次の表に示します。

表 17. 時刻指定型ビジネス・ルール検出タイプ
タイプ 定義 プロパティー
指定時刻 特定の時刻にビジネス・ルールを適用します。ビジネス・オブジェクト・プローブは必要ありません。 時間: ミリ秒 (dd/mm/yyyy hr:min:sec 形式)
ビジネス・ルールの条件を満たす一定間隔 (1 分おきなど) で、ビジネス・ルールを継続的に適用します。 時間間隔: ミリ秒
一定時間経過後 ビジネス・ルールの条件を満たすイベントが検出された後、一定時間が経過したときにビジネス・ルールを適用します。 待ち時間の期間 (Wait Time Period): ミリ秒。相関: 待ち時間内に追加のトリガー・イベントが検出された場合は、次のいずれかの処理を行えます。
「無視」。これらのイベントを無視します。
「追加」。各トリガー・イベントのビジネス・ルールを実行します。
「置換」。新規のトリガー・イベントを使用して、待ち時間を再始動します。

コレクション型検出タイプ

コレクション型検出タイプは、イベントが一定数検出されることを前提としています。このイベント数条件が満たされたときに、ビジネス・ルールがアクティブ化されます。

各コレクション型検出タイプを、定義および関連プロパティーとともに次の表に示します。

表 18. コレクション型ビジネス・ルール検出タイプ
タイプ 定義 プロパティー
最少 ビジネス・ルールの条件を満たすイベントが一定数 (3 個など) 以上検出された場合に、ビジネス・ルールを適用します。 頻度: 「1 回」または「常時」(デフォルト)。回数: 1 より大。条件 (オプション)
最多 ビジネス・ルールの条件を満たすイベントの検出数が有効時間内において一定数以下であった場合 (120 秒以内で 10 個など) に、ビジネス・ルールを適用します。 回数: 1 より大。条件 (オプション)
注: 適用回数は、有効時間内に 1 度だけです。
n 番目 ビジネス・ルールの条件を満たすイベントが一定回数 (3 回など) 検出されたときに、ビジネス・ルールが適用されます。 頻度: 「1 回」または「常時」(デフォルト)。回数: 1 より大。条件 (オプション)

否定型検出タイプ

否定型検出タイプは、ビジネス・イベント検出が発生しなかった場合にビジネス・ルールがアクティブ化される検出タイプです。

各否定型検出タイプを、定義および関連プロパティーとともに次の表に示します。

表 19. 否定型ビジネス・ルール検出タイプ
タイプ 定義 プロパティー
なし ビジネス・ルールの条件を満たすイベントが有効時間内に検出されなかった場合に、ビジネス・ルールを適用します。 プロパティーなし
注: 適用回数は、有効時間内に 1 度だけです。
除外 ビジネス・ルールの有効時間内にイベントが 1 個だけ検出され、それ以外には発生していないという場合に、ビジネス・ルールを適用します。 プロパティーなし
注: 適用回数は、有効時間内に 1 度だけです。

計算型検出タイプ

計算型検出タイプは、数学的条件に対応しています。この条件が満たされたときに、ビジネス・ルールがアクティブ化されます。

各計算型検出タイプを、定義および関連プロパティーとともに次の表に示します。

表 20. 計算型ビジネス・ルール検出タイプ
タイプ 定義 プロパティー
分析 合計値、平均値、最小値、または最大値がビジネス・ルールの条件に一致する場合に、ビジネス・ルールを適用します。 頻度: 「1 回」または「常時」(デフォルト)。条件 (オプション)
到達 いずれかの時間制限に達した場合 (要求の平均サービス時間が 10 分間を超えた場合など) に、ビジネス・ルールを適用します。 頻度: 「1 回」または「常時」(デフォルト)。しきい値式: しきい値を計算する式。しきい値: 境界値。
パーセント 計算されたパーセント値が定義済みのパーセント値を超えている場合 (返金要求のうち 10 % 以上が承認されていない場合など) に、ビジネス・ルールを適用します。 頻度: 「1 回」または「常時」(デフォルト)。パーセント: 0 から 100 の範囲の値。条件 (オプション)

ビジネス・ルールの有効時間

ビジネス・ルールに有効時間が設定されると、ビジネス・ルールの適用に時間的な制約が課せられます。有効時間が設定されている場合、その指定の時刻範囲内にサーバーでイベントが検出されなければ、ビジネス・ルールがアクティブ化されません。

ビジネス・ルールの有効時間としては、次のいずれかを指定します。

有効時間の開始時刻は、次のいずれかに設定します。

有効時間の終了時刻は、次のいずれかに設定します。

有効時間の例

PurchaseOrder という名前のコラボレーション・テンプレートには、顧客の購入注文を処理するためのビジネス・ロジックが含まれています。このテンプレートには startOrder という名前のビジネス・オブジェクト・プローブが組み込まれています。このプローブは、処理の開始時に、着信した購入注文を調べます。このテンプレートには endOrder という名前のビジネス・オブジェクト・プローブも組み込まれています。このプローブは、処理の終了時に、購入注文を調べます。

処理に過度の時間がかかっている購入注文を検出するには、「なし」という検出タイプを使用してビジネス・ルールを作成します。これは、そのビジネス・ルールが一定時間内に検出されなかった場合にアクティブ化されます。有効時間は、startOrder プローブがアクティブ化された後の一定時間 (5 時間など) になるように設定します。ビジネス・ルールのプロパティーのセクションでは、endOrder プローブが有効時間内にアクティブ化されなかった場合にこのビジネス・ルールがアクティブ化されるように指定します。

ビジネス・ルールを設定した後は、そのルールがアクティブ化されたときに実行するアクション (E メール送信など) も指定する必要があります。ビジネス・ルール・アクションの詳細については、ビジネス・ルールのアクションとプロパティーを参照してください。

注:
有効時間の開始にイベントを使用しており、かつそれと同じイベントがルールの検出パターンに含まれている場合、有効時間をアクティブ化したイベントに基づいてルールの検出が起動されることはありません。

ビジネス・ルール・イベント・キーについて

実行時にビジネス・オブジェクト・インスタンスの値をモニターする個々のビジネス・オブジェクト・プローブのインスタンスは、ビジネス・ルール・イベント・キーに基づいて一意的に識別され、相互に関連付けられます。ビジネス・ルール・イベント・キーを指定すると、ビジネス・ルール検出プロセス内には、固有キーごとに区画が作成されます。システムでは、この区画に基づいてキーの検出が行われます。ルール・エンジンは固有キーの値ごとに個別に検出状態を追跡するので、実行時のメモリー使用に影響する場合もあります。

ビジネス・オブジェクト・プローブの詳細については、「コラボレーション開発ガイド」を参照してください。

キーを指定すると、ビジネス・ルールによって、キー属性の値で識別される固有状態ごとにルールの適用を追跡できます。ビジネス・ルール・イベント・キーの使用例については、ビジネス・ルール・イベント・キーの例を参照してください。

ビジネス・ルール・イベント・キーの例

有効時間の例では、処理時間が 5 時間を超えた購入注文を、startOrder ビジネス・プローブと endOrder ビジネス・プローブのそれぞれのアクティブ化の間の時間を追跡するという方法で検出できるように、ビジネス・ルールを作成しました。

現実には、同時に複数の PurchaseOrder コラボレーションが実行され、各注文の処理が順次にならない可能性があります。つまり、後から開始された注文が、それよりも前に開始された注文よりも先に、endOrder ビジネス・プローブをアクティブ化することがあります。

このような環境では、ビジネス・ルール・イベント・キーを使用することによって、イベントの追跡と、それぞれのイベントを区別した処理が可能になります。キーを使用すると、startOrder プローブと endOrder プローブを相互に関連付けることができ、これによってビジネス・ルールを的確にアクティブ化できるようになります。例えば、OrderNumber 属性を startOrder プローブと endOrder プローブのキーに指定すれば、購入注文をオーダー番号で追跡できます。

Copyright IBM Corp. 2004, 2005