ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Business Process Management Studioでのビジネス・プロセスの開発
12c (12.2.1)
E69951-01
  目次へ移動
目次

前
次
 

13 ビジネス・ルールの使用

この章では、Oracle BPMでビジネス・ルール・タスクを実装する方法を説明します。SOAビジネス・ルール・エディタを使用して作成された既存のビジネス・ルール・コンポーネントを使用するか、Oracle BPM Studio付属の簡易インタフェースを使用して新規のビジネス・ルールを作成できます。

この章の内容は次のとおりです。

Oracle Business Rulesの詳細は、『Oracle Business Process Managementによるビジネス・ルールの設計』を参照してください。

13.1 Oracle BPMのビジネス・ルールの概要

ビジネス・ルール・タスクを実装する際、ビジネス・ルールを定義する必要があります。既存のビジネス・ルールを使用するか、新しいビジネス・ルールを定義できます。

プロジェクトにビジネス・ルールが含まれている場合、ビジネス・カタログに自動的に表示されます。

新しいビジネス・ルールをビジネス・カタログに追加するには、次の方法があります。

  • Oracle BPMの使用

  • SOA新規ギャラリから

  • SOAコンポジット・エディタから

ビジネス・カタログでは、プロジェクトのビジネス・ルールは事前定義済モジュール 「ルール」 内に表示されます。各ルールは、ビジネス・ルール・ディクショナリのパッケージの名前の付いたモジュール内に格納されます。

ビジネス・カタログでビジネス・ルール・コンポーネントをダブルクリックすると、Oracle BPM StudioによりSOAビジネス・ルール・エディタが開かれます。このエディタを使用してビジネス・ルールを編集できます。

Oracle Business Rulesの定義方法の詳細は、『Oracle Business Process Managementによるビジネス・ルールの設計』を参照してください。

図13-1は、営業見積サンプルのビジネス・ルール・コンポーネントを示しています。

図13-1 ビジネス・カタログ内のビジネス・ルール・コンポーネント

「図13-1 ビジネス・カタログ内のビジネス・ルール・コンポーネント」の説明が続きます
「図13-1 ビジネス・カタログ内のビジネス・ルール・コンポーネント」の説明

13.1.1 BPMNプロセスでのビジネス・ルールの使用

ビジネス・ルールを使用すると、定義したルールのグループに基づいてプロセスのフローを決定できます。

ビジネス・ルール・タスクにより、次のものを関連付けできます。

  • データ・オブジェクト値をビジネス・ルールの入力引数へ

  • ビジネス・ルール・コンポーネントの出力引数をデータ・オブジェクトへ

トークンがビジネス・ルール・タスクに到達すると、ビジネス・ルール・タスクのデータ・アソシエーションで定義されている入力引数を使用して、BPMNサービス・エンジンがOracle Business Rulesエンジンを起動します。ビジネス・ルール・エンジンは定義されたルールを評価し、結果が含まれている出力を返します。BPMNサービス・エンジンは、ビジネス・ルール・タスクに定義されたデータ・アソシエーションを使用して、ビジネス・ルール・エンジンからの出力をプロセスのデータ・オブジェクトにマッピングします。

ビジネス・ルール・タスクの後、ビジネス・ルール・タスクの実行結果が含まれているデータ・オブジェクト値に基づいてプロセスのフローを決定する排他ゲートウェイを追加できます。

営業見積サンプルでは、次のように、ビジネス・ルール・タスクが各営業見積の承認フローを決定します。

  • ビジネス・ルール・タスクは、見積ビジネス・オブジェクトを入力引数としてビジネス・ルール・コンポーネントを起動します。

  • ビジネス・ルール・コンポーネントは、指定された入力を使用して定義されたルールを評価します。

  • ビジネス・ルール・コンポーネントは、定義されたルールの評価結果が含まれている ApprovalFlow ビジネス・オブジェクトを返します。

  • ビジネス・ルール・タスクのデータ・アソシエーションは、ビジネス・ルールの実行結果をApprovalFlowプロセス・データ・オブジェクトにマッピングします。

  • 排他ゲートウェイであるIs Business Practices Review Requiredは、ApprovalFlowプロセス・データ・オブジェクトの値に基づき、フローを決定します。

図13-2は、営業見積サンプルのビジネス・ルール・タスクを示しています。

図13-2 営業見積サンプル内のビジネス・ルール・タスク

「図13-2 営業見積サンプル内のビジネス・ルール・タスク」の説明が続きます
「図13-2 営業見積サンプル内のビジネス・ルール・タスク」の説明

13.2 既存のビジネス・ルールのビジネス・ルール・タスクへの割当て

既存のビジネス・ルールをビジネス・ルール・タスクに割り当てられます。ビジネス・ルール・ウィザードを使用して作成したビジネス・ルール、またはBPMプロジェクトのベースとして使用したSOAプロジェクトに存在するビジネス・ルールを使用して、ビジネス・ルール・タスクを実装できます。

プロジェクトに含まれるすべてのビジネス・ルール・コンポーネントは、ビジネス・カタログの「ルール」事前定義済モジュールに表示されます。また、SOAコンポジットにも表示されます。ビジネス・ルール・コンポーネントを使用するビジネス・ルール・タスクがBPMNプロセスに含まれる場合、SOAコンポジットでそれらの間にワイヤが表示されます。

13.2.1 既存のビジネス・ルールのビジネス・ルール・タスクへの割当て手順

既存のビジネス・ルールを再利用し、ビジネス・ルール・タスクをBPMNプロセスに実装できます。

既存のビジネス・ルールをビジネス・ルール・タスクに割り当てるには:

  1. ビジネス・ルール・タスクを右クリックします。
  2. 「プロパティ」を選択します。
  3. 「実装」タブをクリックします。
  4. 「ビジネス・ルール」フィールドの横の「参照」ボタンをクリックします。

    「タイプ」ダイアログ・ボックスが表示されます。

  5. リストからビジネス・ルールを選択するか、または「検索」フィールドに名前または名前の一部を入力してビジネス・ルールを検索します。
  6. 「OK」をクリックします。

    「タイプ」ダイアログ・ボックスが閉じ、「ビジネス・ルール」フィールドに選択したビジネス・ルールが表示されます。

  7. 「デシジョン関数」リストからデシジョン関数を選択します。
  8. 「OK」をクリックします。

    ビジネス・ルール・タスク・プロパティ・ダイアログ・ボックスが閉じ、ビジネス・ルール・タスクについて選択した実装が保存されます。

13.2.2 既存のビジネス・ルールのビジネス・ルール・タスクへの割当て時に行われる処理

ビジネス・ルール・タスクの実装には、選択されたビジネス・ルール・コンポーネントと選択されたデシジョン関数が使用されます。

BPMNサービス・エンジンがビジネス・ルール・タスクを実行する際、ビジネス・ルール・タスクのデータ・アソシエーションで定義された入力引数を使用してOracle Business Rulesエンジンが起動されます。Oracle Business Rulesエンジンは指定された入力引数を使用してルールを評価し、この評価結果が含まれる出力引数を返します。

13.2.3 ビジネス・ルール・タスクに関連付けられたビジネス・ルールの編集方法

ビジネス・ルール・タスクからビジネス・ルール・エディタを起動して、関連付けられたビジネス・ルールを編集できます。

ビジネス・ルール・タスクに割り当てられたビジネス・ルールを編集するには:

  1. ビジネス・ルール・タスクを右クリックします。
  2. 「ビジネス・ルールを開く」を選択します。

    ビジネス・ルール・エディタが表示されます。

13.3 Oracle BPM Studioによるビジネス・ルールの作成

Oracle BPM Studio付属の簡易インタフェースを使用してビジネス・ルールを作成できます。このインタフェースには、ビジネス・ルール・タスクの構成ダイアログ・ボックスからアクセスできます。

簡易ビジネス・ルール作成インタフェースでは、1つのデシジョン関数を使用するビジネス・ルールを作成できます。ビジネス・ルール作成の際、次のプロパティを構成できます。

  • ビジネス・ルールの名前

    Oracle BPM Studioは、この名前を使用してビジネス・ルール・コンポーネントを作成します。

  • 入力および出力

    Oracle BPM Studioが自動的にビジネス・ルール・コンポーネントに追加するデフォルトのデシジョン関数の入力および出力パラメータを指定します。

    Oracle BPM Studioは、これらのパラメータを使用してビジネス・ルール・タスクのデータ・アソシエーションを作成します。デシジョン関数のパラメータは、単純タイプまたはXMLスキーマに基づいて作成された複合データ・オブジェクトである必要があります。XMLスキーマは、1つの要素のみを含む必要があります。WSDLからのタイプは使用しないでください。

  • ディクショナリ・パッケージ

    ルール・ディクショナリが所属するJavaパッケージを指定します。たとえば、com.exampleなどです。

  • デシジョン関数の名前

    Oracle BPM Studioは、作成したビジネス・ルールのデフォルト・デシジョン関数を追加する際にこの名前を使用します。

簡易インタフェースでビジネス・ルールを作成した後、Oracle SOA Suiteに含まれているエディタを使用して編集できます。

13.3.1 Oracle BPM Studioによるビジネス・ルールの作成手順

Oracle BPM Studioで、ビジネス・ルール・タスクの実装プロパティ・ダイアログ・ボックスからビジネス・ルール・コンポーネントを作成できます。

Oracle BPM Studioでビジネス・ルールを作成するには:

  1. 「ビジネス・ルール」タスクを右クリックします。
  2. 「プロパティ」を選択します。
  3. 「実装」タブをクリックします。
  4. 「ビジネス・ルール」フィールドの横の「追加」ボタンをクリックします。

    「ビジネス・ルールの作成」ダイアログ・ボックスが表示されます。

  5. 「名前」フィールドで、ビジネス・ルールを識別するための名前を入力します。
  6. ビジネス・ルールの入力および出力を構成します。

    ビジネス・ルールの入力および出力の構成方法の詳細は、「ビジネス・ルール・コンポーネント作成時の入力および出力引数の追加手順」を参照してください。

  7. オプションで、ビジネス・ルールの拡張プロパティを構成します。

    ビジネス・ルールの拡張プロパティの構成方法の詳細は、「ビジネス・ルール・コンポーネント作成時の拡張プロパティの構成手順」を参照してください。

  8. 「OK」をクリックします。

    「ビジネス・ルールの作成」が閉じ、ビジネス・ルールが作成されます。ビジネス・ルール・タスク・プロパティ・ダイアログ・ボックスの「ビジネス・ルール」フィールドに、作成したビジネス・ルールが表示されます。

  9. 「デシジョン関数」リストからデシジョン関数を選択します。
  10. 「OK」をクリックします。

    ビジネス・ルール・タスク・プロパティ・ダイアログ・ボックスが閉じ、ビジネス・ルール・タスクについて作成した実装が保存されます。

13.3.2 ビジネス・ルール・コンポーネント作成時の入力および出力引数の追加手順

入力または出力引数として追加するデータ・オブジェクトは、タイプとして外部のタイプに基づくビジネス・オブジェクトを使用する必要があります。

ビジネス・ルール・コンポーネントの作成時に入力および出力引数を追加するには:

  1. 「入力と出力データ・オブジェクト」セクションで、「追加」ボタンをクリックします。
  2. 追加する引数のタイプを選択します。

    「データ・オブジェクト」ダイアログ・ボックスが表示されます。

  3. 「データ・オブジェクト」ダイアログ・ボックスからデータ・オブジェクトを選択し、表にドラッグします。

    入力または出力引数が表に表示されます。

    データ・アソシエーションは、自動的に作成され、既存のデータ・オブジェクトを引数にマッピングします。

13.3.3 ビジネス・ルール・コンポーネント作成時の拡張プロパティの構成手順

ビジネス・ルール・コンポーネントの作成時に入力および拡張プロパティを構成するには:

  1. 「詳細」タブをクリックします。
  2. 「パッケージ」フィールドに、ルール・ディクショナリの格納先となるパッケージの名前を入力します。
  3. 「デシジョン関数」フィールドに、ビジネス・ルール・コンポーネントで簡易インタフェースが作成するデシジョン関数の名前を入力します。

13.3.4 Oracle BPMによるビジネス・ルール・タスクの作成時に行われる処理

Oracle BPM Studioは、ビジネス・ルール・コンポーネントを作成します。Oracle SOA Suiteを使用して作成したコンポーネントを編集する場合と同様に、このビジネス・ルール・コンポーネントをSOAビジネス・ルール・エディタを使用して編集できます。

ビジネス・ルール・タスクは、実装にビジネス・ルール・コンポーネントを使用します。