ヘッダーをスキップ
Oracle Fusion Middleware Oracle SOA Suite開発者ガイド
11g リリース1(11.1.1)
B56238-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

23 ビジネス・ルール・サービス・コンポーネントの使用

この章では、ビジネス・ルール・サービス・コンポーネントを使用して、SOAコンポジット・アプリケーションをOracle Business Rulesと統合する方法について説明します。 ビジネス・ルール・サービス・コンポーネントはデシジョン・コンポーネントとも呼ばれます。 ビジネス・ルールは、SCAアプリケーションの一部またはBPELプロセスの一部として追加できます。

項目は次のとおりです。

Oracle Business Rulesの使用例は、次のマニュアルを参照してください。

23.1 ビジネス・ルール・サービス・コンポーネントの概要

デシジョン・コンポーネント(ビジネス・ルール・サービス・コンポーネントとも呼ばれる)は、SOAコンポジット・アプリケーションでのOracle Business Rulesの使用をサポートしています。 デシジョン・コンポーネントは、次のようにSOAコンポジットで使用できます。

23.1.1 BPELプロセス、ビジネス・ルールおよびヒューマン・タスクの統合

BPELプロセス、ビジネス・ルールおよびヒューマン・タスク・コンポーネントを含むSOAコンポジット・アプリケーションを作成できます。これらのコンポーネントは補完的な技術です。BPELプロセスではシステム、サービスおよびユーザーのオーケストレーションにフォーカスが置かれます。ビジネス・ルールでは、意思決定とポリシーにフォーカスが置かれます。ヒューマン・タスクを使用すると、エンドツーエンド・プロセス・フローの一部として実行するタスクをユーザーまたはグループに対して説明するワークフローをモデリングできます。

ビジネス・ルールを使用できる状況の例を次に示します。

  • 動的処理

    ルールにより、サービス・レベル合意(SLA)や他のガイドラインに基づいて、ビジネス・プロセス内でインテリジェント・ルーティングを実行できます。 たとえば、顧客が1日以内のレスポンスを必要とする場合は、融資申請をQuickLoan融資エージェントにのみ送信します。顧客に1日以上の余裕がある場合は、申請を3つの異なる融資エージェントにルーティングします。

  • プロセスのビジネス・ルールの外部化

    通常ビジネス・プロセスの一部として評価する必要がある条件が多くあります。 ただし、これらの条件のパラメータはプロセスに関係なく変更できます。たとえば、信用度が650以上の顧客にのみ融資を提供するとします。この値は、ビジネス・アナリストが設定した新規ガイドラインに基づいて動的に変更できます。

  • データ検証および制約チェック

    ルールは入力文書を検証したり、リクエストに応じて追加制約を適用できます。たとえば、新規顧客リクエストには、常に雇用確認書と銀行勘定詳細を添付する必要があります。

  • ヒューマン・タスクのルーティング

    ビジネス・プロセスでは、ヒューマン・タスクのコンテキストで次のようにルールが頻繁に使用されます。

    • ポリシー・ベースのタスク割当てでは、タスクが特定のロールやユーザーにディスパッチされます。たとえば、ポータルからの着信リクエストを処理するプロセスでは、融資申請と見積保険料を異なるロール・セットにルーティングできます。

    • ユーザー間のタスクのロード・バランシング。タスクが一連のユーザーまたはロールに割り当てられると、そのロールの各ユーザーはタスク・セットを取得して、指定された時間内にタスクの処理を行います。新規タスクを受け取った場合は、ポリシーを適用してタスクに優先度が設定され、特定のユーザー・キューに入れられます。たとえば、特定の1人の融資エージェントに対して割り当てる融資を、常に最大で10件にするなどです。

ヒューマン・タスク・コンポーネントのヒューマン・タスク・エディタでビジネス・ルールを作成する方法については、第25.3.7.2項「ビジネス・ルールを使用した詳細なタスク・ルーティングの指定」を参照してください。

23.2 ビジネス・ルールの作成および編集の概要

この項では、ビジネス・ルールを開始する方法について説明し、ビジネス・ルールの設計に使用するOracle JDeveloperの主要なセクションについて簡単に紹介します。

23.2.1 ビジネス・ルール・コンポーネントの作成方法

ビジネス・ルール・コンポーネントは、SOAコンポジット・エディタを使用して追加できます。

ビジネス・ルール・コンポーネントを作成する手順は、次のとおりです。

  1. 表23-1の説明に従って、Oracle JDeveloperを起動します。

    表23-1 Oracle JDeveloperの起動

    起動対象 Windowsでの手順 UNIXでの手順

    Oracle JDeveloper


    JDev_Oracle_Home\JDev\bin\jdev.exeをクリックするか、ショートカットを作成します。

    $ORACLE_HOME/jdev/bin/jdev


  2. 次のいずれかの方法を使用して、ビジネス・ルール・サービス・コンポーネントを作成します。

    既存のSOAコンポジット・アプリケーションのサービス・コンポーネントとして追加する方法:

    1. 「コンポーネント・パレット」からSOAコンポジット・エディタに「Business Rule」サービス・コンポーネントをドラッグします。

    新規アプリケーションに追加する方法:

    1. 「アプリケーション・ナビゲータ」で、「ファイル」「新規」「アプリケーション」「SOAアプリケーション」の順に選択します。

      これにより、SOAアプリケーションの作成ウィザードが起動します。

    2. 「アプリケーションの名前付け」ページで、「名前」フィールドにアプリケーション名を入力します。

    3. 「ディレクトリ」フィールドに、SOAコンポジット・アプリケーションおよびプロジェクトを作成するディレクトリ・パスを入力します。

    4. 「次へ」をクリックします。

    5. 「プロジェクトの名前付け」ページで、「プロジェクト名」フィールドに一意のプロジェクト名を入力します。 プロジェクト名は、SOAコンポジット・アプリケーション全体で一意である必要があります。 これは、コンポジットの一意性は、そのコンポジットのプロジェクト名によって確定されるためです。 たとえば、表23-2に説明するような操作は実行しないてください。

      表23-2 SOAプロジェクトの名前付けに関する制限

      作成するアプリケーション名 SOAプロジェクト名

      Application1

      Project1

      Application2

      Project1


      1番目のデプロイ済プロジェクト(コンポジット)は、デプロイメント時に2番目のデプロイ済プロジェクト(コンポジット)によって上書きされます。

    6. 「次へ」をクリックします。

    7. SOA設定の構成ページで、「ビジネス・ルールを使用するコンポジット」を選択します。

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

    どちらの方法でも、図23-1に示す「ビジネス・ルールの作成」ダイアログが表示されます。

    図23-1 「ビジネス・ルールの作成」ダイアログ

    図23-1の説明は次にあります。
    「図23-1 「ビジネス・ルールの作成」ダイアログ」の説明

  3. 必要な詳細を指定します。 このダイアログでの入力や出力の指定および「ディクショナリのインポート」オプションの使用方法の詳細は、『Oracle Fusion Middleware Oracle Business Rulesユーザーズ・ガイド』を参照してください。

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

23.2.2 ルール・デザイナでのビジネス・ルールの使用に関する概要

ビジネス・ルールを使用している場合は、Oracle JDeveloperにルール・デザイナが表示されます。 ルール・デザイナで表示されるウィンドウの詳細は、第2.5項「ビジネス・ルール・デザイナの概要」を参照してください。

23.3 BPELプロセスへのビジネス・ルールの追加

デシジョン・コンポーネント(ビジネス・ルール・サービス・コンポーネントとも呼ばれる)を使用すると、BPELプロセスでビジネス・ルールを実行できます。

23.3.1 BPELプロセスへのビジネス・ルールの追加方法

ビジネス・ルールは、「Business Rule」コンポーネントを使用してBPELプロセスに追加します。 ビジネス・ルール・コンポーネントをBPELプロセスに追加する場合は、ルールに対して入力を提供し、ビジネス・ルールから結果を取得するために、入力変数と出力変数を指定する必要があります。

ビジネス・ルール・コンポーネントを使用して、ビジネス・ルールを実行し、ルールに基づいてビジネス上の意思決定を作成できます。 ビジネス・ルール・コンポーネント(デシジョン・コンポーネントとも呼ばれる)を作成するには、「コンポーネント・パレット」から「Business Rule」をBPELプロセスにドラッグ・アンド・ドロップします。

ビジネス・ルールをBPELプロセスに追加する手順は、次のとおりです。

  1. BPELプロセス・サービス・コンポーネントを作成します。 詳細は、第5.1項「BPELプロセス・サービス・コンポーネントの概要」を参照してください。

  2. BPELプロセスを開きます。 たとえば、図23-2に示すように、BPELプロセスを開いてreceiveInputおよびcallbackClientを表示します。

    図23-2 BPELプロセスへのビジネス・ルールの追加

    図23-2の説明は次にあります。
    「図23-2 BPELプロセスへのビジネス・ルールの追加」の説明

  3. 「コンポーネント・パレット」にあるBPELアクティビティおよびコンポーネントのセクションで「Business Rule」を選択し、ビジネス・ルールを必要としている場所まで「Business Rule」をドラッグ・アンド・ドロップします。 たとえば、図23-3に示すようにreceiveInputcallbackClientの間に「Business Rule」をドラッグ・アンド・ドロップします。

    図23-3 BPELプロセスへの「Business Rule」のドラッグ・アンド・ドロップ

    図23-3の説明は次にあります。
    「図23-3 BPELプロセスへの「Business Rule」のドラッグ・アンド・ドロップ」の説明

  4. ビジネス・ルールがOracle JDeveloperのダイアグラムに表示されます。 ビジネス・ルール領域では、既存のOracle Business Rulesディクショナリを選択するか、新たに作成するディクショナリの名前を入力できます。 ビジネス・ルール領域には、ビジネス・ルール名を入力するためのフィールドがあります。 「名前」フィールドに名前を入力します。 たとえば、図23-4に示すように、GetCreditRatingと入力します。 事前にディクショナリを作成した場合は、「ディクショナリ」フィールドで、既存のディクショナリを選択します。

    図23-4 自動融資BPELプロセスに追加されたビジネス・ルール

    図23-4の説明は次にあります。
    「図23-4 自動融資BPELプロセスに追加されたビジネス・ルール」の説明

  5. ビジネス・ルール領域の「ビジネス・ルール ディクショナリ」で、「ディクショナリの作成」アイコンをクリックし、「ビジネス・ルールの作成」ダイアログを表示します。

  6. 「ビジネス・ルールの作成」ダイアログで、次の操作を実行します。

    • Oracle Business Rulesディクショナリの名前とパッケージ名を指定します。

    • ビジネス・ルールの入力および出力データ要素を指定します。 たとえば、GetCreditRatingというサンプル・デシジョン・コンポーネントでは、入力は信用格付け申込書です。 出力はビジネス・ルールの実行時に生成されます。この例では信用格付け文書です。 たとえば、GetCreditRatingルールの入力および出力データを受け渡すRatingRequestRatingという新しい2つの変数をBPELで作成できます。

    Oracle Business Rulesディクショナリの名前を入力します。 たとえば、図23-5に示すように、GetCreditRatingと入力します。

    図23-5 GetCreditRatingビジネス・ルール・ディクショナリの追加

    図23-5の説明は次にあります。
    「図23-5 GetCreditRatingビジネス・ルール・ディクショナリの追加」の説明

ビジネス・ルールの入力を追加する手順は、次のとおりです。

  1. 「ビジネス・ルールの作成」ダイアログで、「追加」アイコンの横にあるドロップダウン・メニューから「入力変数の追加...」を選択し、入力変数を作成します。

    「入力変数の追加」ダイアログが表示されます。

  2. 「入力変数の追加」ダイアログで、「プロセス」フォルダを開き、「プロセス」のすぐ下の「変数」フォルダを選択します。

  3. 図23-6に示すように、「変数」フォルダを右クリックし、ドロップダウン・リストから「変数の作成...」を選択します。

    図23-6 入力変数の追加

    図23-6の説明は次にあります。
    「図23-6 入力変数の追加」の説明

    「変数の作成」ダイアログが表示されます。

  4. 「変数の作成」ダイアログで、「名前」フィールドに値を入力します。 たとえば、図23-7に示すように、RatingRequestと入力します。

    図23-7 「変数の作成」ダイアログ

    図23-7の説明は次にあります。
    「図23-7 「変数の作成」ダイアログ」の説明

  5. 「変数の作成」の「タイプ」領域で、「要素の参照」アイコンをクリックします。 ナビゲータを使用して、入力変数のスキーマ要素タイプを検索します。 たとえば、ratingrequestタイプを選択します。 タイプ・チューザを使用して必要なタイプを追加します。

  6. 「スキーマ・ファイルのインポート」アイコンをクリックし、スキーマをインポートします。 たとえば、CreditRatingTypes.xsdをインポートします。 アプリケーションに必要なその他のスキーマもインポートします。

  7. 「タイプ・チューザ」ダイアログで「ratingrequest」を選択し、「OK」をクリックします。

  8. 「変数の作成」ダイアログで「OK」をクリックします。

  9. 「入力変数の追加」ダイアログで「OK」をクリックします。

ビジネス・ルールの出力を追加する手順は、次のとおりです。

  1. 「ビジネス・ルールの作成」ダイアログで、「追加」アイコンの横にあるドロップダウン・メニューから「出力変数の追加...」を選択します。 「出力変数の追加」ダイアログが表示されます。 このダイアログを使用して出力変数を作成します。 たとえば、入力変数の作成と同様の方法でGetCreditRatingの出力変数を作成します。

  2. 「出力変数の追加」ダイアログで、「プロセス」の下の「変数」フォルダを選択することで、スコープを選択します。

  3. 右クリックして、ドロップダウン・リストから「変数の作成...」を選択します。 「変数の作成」ダイアログが表示されます。

  4. 「変数の作成」ダイアログで、「名前」フィールドに出力変数名を入力します。 たとえば、Ratingと入力します。

  5. 「変数の作成」ダイアログの「タイプ」領域で、「要素の参照」アイコンを選択し、「タイプ・チューザ」ダイアログを使用して出力変数のタイプを入力します。 たとえば、CreditRatingTypes.xsdを開き、ratingという要素タイプを選択します。

  6. 「タイプ・チューザ」ダイアログで「OK」をクリックします。

  7. 「変数の作成」ダイアログで「OK」をクリックします。

  8. 「出力変数の追加」ダイアログで「OK」をクリックします。

    図23-8に示すように、「ビジネス・ルールの作成」ダイアログが表示されます。

    図23-8 入力変数と出力変数が指定された「ビジネス・ルールの作成」ダイアログ

    図23-8の説明は次にあります。
    「図23-8 入力変数と出力変数が指定された「ビジネス・ルールの作成」ダイアログ」の説明

オプションを設定して、デシジョン・サービスとビジネス・ルール・ディクショナリを作成する手順は、次のとおりです。

  1. デフォルトのサービス名を使用しない場合は、「詳細」タブを選択し、「サービス名」フィールドにサービス名を入力します。 たとえば、CreditRatingServiceというサービス名を入力します。

  2. デシジョン・コンポーネントがステートフルかステートレスかの区別は、「セッションのリセット」で決まります。 詳細は、第23.3.5項「デシジョン・コンポーネントのステートフル操作に関する注意事項」を参照してください。

  3. 「ビジネス・ルールの作成」ダイアログで「OK」をクリックします。 図23-9に示すように、Oracle JDeveloperでデシジョン・コンポーネントとディクショナリが作成され、ルール・デザイナが表示されます。

図23-9 ビジネス・ルールを使用するルール・デザイナのキャンバス

図23-9の説明は次にあります。
「図図23-9 ビジネス・ルールを使用するルール・デザイナのキャンバス」の説明

ルール・デザイナの詳細は、『Oracle Fusion Middleware Oracle Business Rulesユーザーズ・ガイド』を参照してください。

23.3.2 BPELプロセスへのビジネス・ルール追加時の処理内容

ビジネス・ルールをBPELプロセスに追加すると、Oracle JDeveloperによってデシジョン・コンポーネントが作成され、ビジネス・ルール・サービス・エンジンを使用してビジネス・ルールが制御および実行されます。

デシジョン・コンポーネントの構成内容は次のとおりです。

  • ルール・エンジンを使用して評価されるルールまたはデシジョン表。 これらはルール・デザイナを使用して定義され、ビジネス・ルール・ディクショナリに格納されます。

  • 特定のルールを評価する際に必要なファクト、およびコールするデシジョン関数の説明。 ルールまたはデシジョン表が格納される各ルールセットは、入力および出力されるファクトとOracle Business Rulesデシジョン関数の名前が指定されているサービスとして公開されます。 ファクトは、ビジネス・ルールの入力および出力を定義する際に、XSD定義を介して公開されます。 デシジョン関数は、Oracle Business Rulesディクショナリに格納されます。 詳細は、『Oracle Fusion Middleware Oracle Business Rulesユーザーズ・ガイド』を参照してください。

  • 入力、出力および基礎となるビジネス・ルール・サービス・エンジンのコールがラップされているWebサービス。

    ビジネス・プロセスでは、このWebサービスを使用して、プロセスの一環としてファクトをアサートしたり取り消すことができます。 ビジネス・プロセスからすべてのファクトを1単位としてアサートできる場合があります。 それ以外の場合、ビジネス・プロセスはファクトを段階的にアサートし、最終的にルール・エンジンに推論を求めます。 したがって、サービスはステートレスとステートフルの両方の相互作用をサポートしています。

    このような様々なデシジョン・コンポーネントを作成できます。

    詳細は、『Oracle Fusion Middleware Oracle Business Rulesユーザーズ・ガイド』を参照してください。

23.3.3 ビジネス・ルール・ディクショナリ作成時の処理内容

アプリケーション、プロジェクトおよびルール・ディクショナリを作成すると、Oracle JDeveloperの構造ペインにルール・ディクショナリが表示され、メイン・キャンバスにルール・デザイナが開きます。

「ビジネス・ルールの作成」ダイアログの一環として選択した既存のディクショナリまたは新規ルール・ディクショナリは、事前にロードされている次のデータを使用して作成されます。

  • ビジネス・ルールの入力および出力情報に基づいたXMLファクト・タイプ・モデル。

  • ルールまたはデシジョン表を追加して完成させる必要があるルールセット。 既存のディクショナリでは、インポート・オプションを使用して、ルールまたはデシジョン表がすでに組み込まれているディクショナリを指定します。

  • デシジョン・コンポーネントの入力および出力が規定されているサービス・コンポーネント。

  • ルール・ディクショナリのデシジョン・コンポーネント、およびBPELプロセスへのワイヤ。

23.3.4 BPELプロセスでのビジネス・ルールの起動に関する注意事項

ビジネス・ルールをBPELプロセスに追加すると、Oracle JDeveloperによって、指定の入力情報を使用したOracle Business Rulesのコールと、結果が格納された出力の取得をサポートするデシジョン・サービスが作成されます。 デシジョン・サービスは、実行時にWebサービスとしてOracle Business Rulesエンジンへのアクセスを提供します。 詳細は、『Oracle Fusion Middleware Oracle Business Rulesユーザーズ・ガイド』を参照してください。

23.3.5 デシジョン・コンポーネントのステートフル操作に関する注意事項

ビジネス・ルール・サービス・エンジンで実行されるデシジョン・コンポーネントは、ステートフルまたはステートレス操作をサポートしています。 これら2つの操作モードのサポートは、「ビジネス・ルールの作成」ダイアログの「セッションのリセット」チェック・ボックスによって提供されます。

デフォルトでは、「セッションのリセット」チェック・ボックスが選択されています。これはステートレス操作を示します。 ステートレス操作とは、実行時にデシジョン・コンポーネントが起動した後、ルール・セッションがリリースされることを意味します。

「セッションのリセット」チェック・ボックスの選択が解除されている場合は、基礎となるOracle Business Rulesオブジェクトが独立した場所にあるビジネス・ルール・サービス・エンジンのメモリーに保持されます(したがって、オブジェクトは操作終了時にルール・セッション・プールに返されません)。 その後のデシジョン・コンポーネントの使用では、callFunctionStatefulの起動以降にキャッシュされたすべてのRuleSessionオブジェクトとその状態情報が再利用され、callFunctionStateless操作の終了時にルール・セッション・プールにリリースされます。 したがって、「セッションのリセット」の選択が解除されている場合は、後続リクエストのためにルール・セッションが保存され、同じBPELプロセスからの一連のデシジョン・サービスの起動が常にステートレス起動で終了する必要があります。

23.4 SOAコンポジット・アプリケーションへのビジネス・ルールの追加

Oracle Business RulesをSOAコンポジット・アプリケーションで使用するには、アプリケーションを作成してビジネス・ルールを追加します。

ビジネス・ルール・サービス・コンポーネントを使用して、SOAコンポジット・アプリケーションとビジネス・ルールを統合できます。 これによってビジネス・ルール・ディクショナリが作成され、ビジネス・ルールの実行と、ルールに基づくビジネス上の意思決定の作成が可能になります。

Oracle JDeveloperでプロジェクトを作成した後は、そのプロジェクト内にビジネス・ルール・サービス・コンポーネントを作成する必要があります。 ビジネス・ルールを追加する場合は、サービス・コンポーネントに入力を提供したり、サービス・コンポーネントから結果を取得するための入力変数と出力変数を作成できます。

Oracle JDeveloperでビジネス・ルールを使用するには、次の準備が必要です。

23.4.1 SOAコンポジット・アプリケーションへのビジネス・ルールの追加方法

SOAコンポジット・アプリケーションでOracle Business Rulesを使用するには、Oracle JDeveloperを使用してアプリケーションとプロジェクトを作成し、ビジネス・ルール・コンポーネントを追加します。

ビジネス・ルールを使用するSOAアプリケーションを作成する手順は、次のとおりです。

  1. SOAアプリケーションおよびプロジェクトを作成します。 詳細は、第4.2.1項「アプリケーションおよびプロジェクトの作成方法」を参照してください。 ビジネス・ルールを使用するSOAコンポジットでは、アプリケーションに必要なテクノロジを選択します。 たとえば、ビジネス・ルールを使用するSOAアプリケーションは、ADF Business Components、Java、XMLなどを必要とする可能性があります。 「プロジェクト・テクノロジ」タブで、これらの項目を「選択済」領域に移動します。

  2. 「アプリケーション・ナビゲータ」にSOAコンポジット・エディタが表示されていない場合は、プロジェクトの「SOAコンテンツ」フォルダを開き、composite.xmlをダブルクリックしてSOAコンポジット・エディタを起動します。

  3. 図23-10に示すように、「コンポーネント・パレット」で、「SOA」メニューの「サービス・コンポーネント」領域からSOAコンポジット・エディタの「コンポーネント」スイムレーンに、「Business Rule」をドラッグ・アンド・ドロップします。

    図23-10 SOAコンポジット・アプリケーションへのビジネス・ルールの追加

    図23-10の説明は次にあります。
    「図23-10 SOAコンポジット・アプリケーションへのビジネス・ルールの追加」の説明

  4. 「Business Rule」をドラッグ・アンド・ドロップすると、図23-11に示すように、Oracle JDeveloperの「ビジネス・ルールの作成」ダイアログが表示されます。

    図23-11 SOAコンポジットへのビジネス・ルールの追加およびディクショナリの作成

    図23-11の説明は次にあります。
    「図23-11 SOAコンポジットへのビジネス・ルールの追加およびディクショナリの作成」の説明

ビジネス・ルールの入力を追加する手順は、次のとおりです。

  1. 「ビジネス・ルールの作成」ダイアログで、「追加」アイコンの横にあるドロップダウン・メニューから「入力...」を選択し、ビジネス・ルールの入力を追加します。 「タイプ・チューザ」ダイアログが表示されます。

  2. 「タイプ・チューザ」ダイアログで入力を追加します。 「プロジェクトのスキーマ・ファイル」でスキーマが使用可能になっている場合は、手順9に移動して適切なスキーマを選択します。

  3. 「スキーマ・ファイルのインポート...」アイコンをクリックします。 「スキーマ・ファイルのインポート」ダイアログが表示されます。

  4. 「スキーマ・ファイルのインポート」ダイアログで、「リソースの参照」をクリックし、入力するXMLスキーマ要素を選択します。 「SOAリソース・ブラウザ」ダイアログが表示されます。

  5. 「SOAリソース・ブラウザ」ダイアログで、ナビゲートしてビジネス・ルールを入力するスキーマを検索します。 たとえば、order.xsdスキーマ・ファイルを選択して、「OK」をクリックします。

  6. 図23-12に示すように、「スキーマ・ファイルのインポート」ダイアログで、「プロジェクトにコピー」を選択します。

    図23-12 ビジネス・ルールを入力するスキーマのインポート

    図23-12の説明は次にあります。
    「図23-12 ビジネス・ルールを入力するスキーマのインポート」の説明

  7. 「スキーマ・ファイルのインポート」ダイアログで「OK」をクリックします。

  8. 「ファイルのローカライズ」ダイアログで「OK」をクリックします。

  9. 「タイプ・チューザ」ダイアログのナビゲータを使用して、スキーマから入力を検索して選択し、「OK」をクリックします。 たとえば、入力としてCustomerOrder要素を選択します。

ビジネス・ルールの出力を追加する手順は、次のとおりです。

  1. 「ビジネス・ルールの作成」ダイアログで、「追加」アイコンの横にあるドロップダウン・メニューから「出力...」を選択します。

  2. 「タイプ・チューザ」ダイアログで、入力の追加と同様の方法で出力を追加します。 たとえば、order.xsdからOrderApprovalを選択し、「OK」をクリックします。

  3. 図23-13に示すように、「ビジネス・ルールの作成」ダイアログが表示されます。

    図23-13 入力と出力が指定された「ビジネス・ルールの作成」ダイアログ

    図23-13の説明は次にあります。
    「図23-13 入力と出力が指定された「ビジネス・ルールの作成」ダイアログ」の説明

オプションを設定して、デシジョン・サービスとビジネス・ルール・ディクショナリを作成する手順は、次のとおりです。

  1. 「ビジネス・ルールの作成」ダイアログで、「コンポジット・サービスとして公開」を選択します。

  2. デフォルトのサービス名を使用しない場合は、「詳細」タブを選択し、「サービス名」フィールドにサービス名を入力します。

  3. 「ビジネス・ルールの作成」ダイアログで「OK」をクリックします。 これにより、ビジネス・ルール・コンポーネント(デシジョン・コンポーネントとも呼ばれる)が作成され、図23-14に示すように、Oracle JDeveloperのキャンバス・ワークスペースにビジネス・ルール・コンポーネントが表示されます。

    図23-14 SOAコンポジットのビジネス・ルール・コンポーネント

    図23-14の説明は次にあります。
    「図23-14 SOAコンポジットのビジネス・ルール・コンポーネント」の説明

  4. デシジョン・コンポーネント(たとえば、「OracleRules1」ビジネス・ルール)をダブルクリックします。 図23-15に示すように、ルール・デザイナが開きます。 検証ログには、入力および出力ファクトに関する検証警告が表示されます。 ルール・デザイナを使用してルールまたはデシジョン表を定義することで、これらの警告メッセージを取り除きます。

    図23-15 SOAコンポジット・アプリケーションの新規ディクショナリが表示されているルール・デザイナ

    図23-15の説明は次にあります。
    「図23-15 SOAコンポジット・アプリケーションの新規ディクショナリが表示されているルール・デザイナ」の説明

ルール・デザイナの詳細は、『Oracle Fusion Middleware Oracle Business Rulesユーザーズ・ガイド』を参照してください。

23.4.2 ビジネス・ルール・コンポーネントでのデシジョン関数の選択および変更方法

Oracle Business Rulesをコンポジット・アプリケーションのコンポーネントとしてコールするために、1つ以上のデシジョン関数を入力として指定できます。 たとえば、Oracle Business Rulesディクショナリで複数のデシジョン関数が使用可能な場合は、特定のデシジョン関数を入力として指定できます。

コンポジット・アプリケーションでデシジョン関数を指定する手順は、次のとおりです。

  1. デシジョン関数をOracle Business Rulesディクショナリに追加します。 詳細は、『Oracle Fusion Middleware Oracle Business Rulesユーザーズ・ガイド』を参照してください。

  2. ビジネス・ルール・コンポーネントをコンポジット・アプリケーションに追加します。 詳細は、第23.4.1項「SOAコンポジット・アプリケーションへのビジネス・ルールの追加方法」を参照してください。

  3. 図23-16に示すように、ビジネス・ルール・コンポーネントを選択します。

    図23-16 コンポジット・アプリケーションでのビジネス・ルール・コンポーネントの選択

    図23-16の説明は次にあります。
    「図23-16 コンポジット・アプリケーションでのビジネス・ルール・コンポーネントの選択」の説明

  4. 目的のデシジョン関数ポートを選択します。 たとえば、図23-17に示すように、DF_2のポートを選択します。

    図23-17 ビジネス・ルール・コンポーネントでのデシジョン関数ポートの選択

    図23-17の説明は次にあります。
    「図23-17 ビジネス・ルール・コンポーネントでのデシジョン関数ポートの選択」の説明

  5. ポートを選択すると、Oracle JDeveloperの「プロパティ・インスペクタ」にポート情報が表示されます。

  6. ポートをダブルクリックすると、図23-18に示すように、そのポートの「インタフェースの更新」ダイアログが表示されます。

    図23-18 ビジネス・ルール・デシジョン・ポートのデシジョン関数に対する「インタフェースの更新」ダイアログ

    図23-18の説明は次にあります。
    「図23-18 ビジネス・ルール・デシジョン・ポートのデシジョン関数に対する「インタフェースの更新」ダイアログ」の説明

23.5 コンポジット・アプリケーションでのビジネス・ルールの実行

ビジネス・ルールは、SOAコンポジット・アプリケーションのデシジョン・コンポーネントの一部として実行します。 ビジネス・ルールは、ビジネス・ルール・サービス・エンジンによって実行されます。 Oracle Enterprise Manager Fusion Middleware Controlコンソールを使用して、ビジネス・ルール・サービス・エンジンを監視したり、デシジョン・コンポーネントが含まれているSOAコンポジット・アプリケーションをテストできます。 詳細は、『Oracle Fusion Middleware Oracle SOA Suite管理者ガイド』を参照してください。