ヘッダーをスキップ
Oracle® Fusion Middleware Oracle SOA Suite開発者ガイド
11g リリース1 (11.1.1.4.0)
B56238-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

48 2レイヤーのビジネス・プロセス管理(BPM)の使用

この章では、2レイヤーのビジネス・プロセス管理(BPM)の使用方法について説明します。2レイヤーのBPMを使用すると、動的ビジネス・プロセスを作成できます。動的ビジネス・プロセスの実行は、設計時に事前定義された要素ではなく、そのビジネス・プロセスが実行されるコンテキストの要素に基づいています。このような要素の例には、顧客のタイプ、地理的位置、チャネルなどがあります。

具体的に説明するために、様々なプロセスを使用してマルチチャネル・バンキングを実行するアプリケーションを使用していると仮定します。このシナリオでは、各プロセスの実行は、特定のプロセス・インスタンスごとのチャネルに基づいています。

項目は次のとおりです。

48.1 2レイヤーのビジネス・プロセス管理の概要

2レイヤーのBPMを使用すると、レイヤー・アプローチを使用してビジネス・プロセスをモデル化できます。このモデルの第1レベルは、ビジネス・プロセスに関する抽象的な仕様です。第1レベルのプロセスのアクティビティは、第2レベルのプロセスまたはサービスに作業を委任します。図48-1に、この動作を示します。

図48-1 2レイヤーのBPM

2レイヤーのBPMのアーキテクチャ
「図48-1 2レイヤーのBPM」の説明

図48-1では、ビジネス・プロセスのPhase Iアクティビティは、その作業を対応するレイヤーIIのプロセスのタスク1.1、タスク1.2またはタスク1.3のいずれかに委任できます。

2レイヤーのBPM機能を使用すると、重要な要素(つまり、phaseアクティビティ)を宣言的に作成できます。

Oracle Business Rulesのデザインタイムおよびランタイム(DT@RT)機能を使用すると、さらにチャネルを動的に追加できます。ビジネス・プロセスを再デプロイする必要はありません。DT@RTでは、実行時に複数のルール(複数の列)を動的ルーティング・デシジョン表に追加できます。実行中にビジネス・プロセス・インスタンスはそれらの新規ルールを考慮し、最終的にリクエストを別のチャネルにルーティングします。

また、Oracle Business RulesのDT@RT機能を使用すると、phaseアクティビティから起動されるサービスのエンドポイント参照を別のサービスを指し示すように変更できます。


注意:

Oracle Fusion Middleware 11g リリース1(11.1.1)では、Oracle Business RulesのDT@RT機能はOracle Business Rules SDKを介してのみ使用できます。

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

  • 『Oracle Fusion Middleware Oracle Business Rulesユーザーズ・ガイド』

  • 『Oracle Fusion Middleware Java API Reference for Oracle Business Rules』


表48-1に、2レイヤーのBPMを有効にする手順を示します。

表48-1 2レイヤーのBPMを有効にする手順

手順 情報

Oracle WebLogic Serverのインストール

『Oracle WebLogic Server Installation Guide』


SOAコンポジット・アプリケーションの設計

第48.4.1項「SOAコンポジットの設計」


要素タイプ変数(InputPhaseVariableおよびOutputPhaseVar)の作成

第48.4.1項「SOAコンポジットの設計」


phaseアクティビティの作成

第48.2項「phaseアクティビティの作成」


動的ルーティング・デシジョン表の作成および編集

第48.3項「動的ルーティング・デシジョン表の作成」


BPELプロセス・モデルへのassignアクティビティの追加

A.2.2項「Assignアクティビティ」


アプリケーション・デプロイメント・プロファイルの作成

第41章「SOAコンポジット・アプリケーションのデプロイ」


アプリケーション・サーバー接続の作成

第41.7.1.1.1項「アプリケーション・サーバー接続の作成」


アプリケーションのデプロイ

第41章「SOAコンポジット・アプリケーションのデプロイ」



48.2 phaseアクティビティの作成

2レイヤーのBPMでは、フェーズはBPELプロセスのレベル1アクティビティです。これは、既存の上位レベルのOracle Business Rulesおよびヒューマン・タスクBPELアクティビティを補完します。

Oracle BPELデザイナで、フェーズをプロセスに宣言的に追加するには、「コンポーネント・パレット」の「Oracle Extensions」セクションからプロセス・モデルにフェーズをドラッグ・アンド・ドロップします。図48-2に詳細を示します。

図48-2 BPELデザイナでのphaseアクティビティ

図48-2の説明が続きます
「図48-2 BPELデザイナでのphaseアクティビティ」の説明


注意:

参照WSDL(レイヤー2またはコールした参照)には、自動作成されるフェーズ参照と同じ抽象的なWSDLが必要です。

48.2.1 phaseアクティビティの作成方法

コンポジット・アプリケーションのphaseアクティビティは、第48.4.1項「SOAコンポジットの設計」の説明に従って必要な変数を作成した後に作成します。

phaseアクティビティを作成する手順は、次のとおりです。

  1. Phaseアクティビティをダブルクリックします。

  2. 「名前」フィールドに、値を入力します。

  3. 「入力変数および出力変数」セクションで、入出力変数を追加する「追加」アイコンを選択します。

  4. 「入力変数の追加」を選択します。変数を選択するためのダイアログが表示されます。

  5. 「プロセス」「変数」「phaseIn」の順に選択します。

  6. 「OK」をクリックします。phaseIn変数が移入された状態の「フェーズ」ダイアログが表示されます。

  7. 「入力変数および出力変数」アイコンから「出力変数の追加」を選択します。変数を選択するためのダイアログが表示されます。「プロセス」「変数」「phaseOut」の順に選択します。

  8. 「OK」をクリックします。入出力変数名が移入された状態の「Phase」ダイアログが表示されます。「OK」をクリックします。Oracle BPELデザイナにBPELプロセスが表示されます。

  9. 「ファイル」メニューから「すべて保存」を選択します。

  10. BPELプロセスを閉じます。

  11. Oracle BPELデザイナの「composite.xml」リンクをクリックします。SOAコンポジット・エディタが表示されます。

48.2.2 phaseアクティビティ作成時の処理内容

phaseアクティビティを作成すると、表48-2に記載されているアーチファクトが作成されます。

表48-2 phaseアクティビティとともに作成されるアーチファクト

アーティファクト 説明

BPELスコープ

phaseアクティビティをドロップしたBPELプロセス内の場所に、新しいBPELスコープが作成されてBPELプロセスに挿入されます。スコープには、phaseアクティビティの名前が指定されます。スコープ内にはいくつかの標準BPELアクティビティが作成されます。最も重要なアクティビティは、Oracle MediatorへのinvokeアクティビティとOracle Mediatorからのreceiveアクティビティです。

Oracle Mediatorコンポーネント

BPELプロセス・サービス・コンポーネントのSOAコンポジット・アプリケーションとともに、新しいOracle Mediatorサービス・コンポーネントが作成されます。Oracle Mediatorサービス・コンポーネントは、BPELコンポーネントのphaseアクティビティに接続されます。このBPELコンポーネントは、プロセス・モデル内でphaseアクティビティがドロップされたレベル1のBPELプロセスを構成するコンポーネントです。Oracle Mediatorサービス・コンポーネントの入出力は、phaseアクティビティの入出力によって定義されます。

Oracle Mediatorプラン(Oracle Mediatorサービス・コンポーネントの処理命令)は非常に単純です。処理命令の作成はOracle Business Rulesサービス・コンポーネントに委任されます。

Oracle Business Rulesコンポーネント

BPELプロセス・サービス・コンポーネントのSOAコンポジット・アプリケーション内に、新しいOracle Business Rulesサービス・コンポーネントが作成され、BPELプロセス・サービス・コンポーネントのphaseアクティビティに関連付けられているOracle Mediatorコンポーネントに接続されます。Oracle Business Rulesサービス・コンポーネントには、ルール・ディクショナリが含まれています。ルール・ディクショナリには、ファクト・タイプ、ルールセット、ルール、デシジョン表や同様のアーチファクトなど、Oracle Business Rulesエンジン・アーチファクトのメタデータが含まれています。ルール・ディクショナリは、Oracle Business Rulesサービス・コンポーネントの作成過程で、次のデータを使用して事前に初期化されます。

  • ファクト・タイプ・モデル: ルールのモデル化に使用するデータ・モデル。ルール・ディクショナリには、phaseアクティビティの入力に対応するファクト・タイプ・モデルと、Oracle Mediatorサービス・コンポーネントとOracle Business Rulesサービス・コンポーネント間の規定の一部として必要な固定データ・モデルの一部が移入されます。

  • ルールセット: ルールのコンテナであり、ルールのグループ化メカニズムとして使用されます。ルールセットはサービスとして公開できます。1つのルールセットがルール・ディクショナリ内に作成されます。

  • デシジョン表: Oracle Business Rulesエンジンから見ると、デシジョン表は、ルールの条件およびアクション部分のファクト・タイプ・モデルの要素が同じであるルールの集合で、それらのルールは表形式で表示できます。新規デシジョン表はルールセット内に作成されます。

  • デシジョン・サービス: ルールセットをOracle Business Rulesサービス・コンポーネントのサービスとして公開するために作成されます。Oracle Mediatorでは、サービス・インタフェースを使用してデシジョン表を評価します。


48.2.3 phaseアクティビティを作成した場合の実行時の処理内容

phaseアクティビティの入力は、実行時に動的ルーティング・デシジョン表を評価するために使用されます。評価は、phaseアクティビティの特定のデシジョン・コンポーネントによって実行されます。この評価の結果が、Oracle Mediatorに対する指示になります。Oracle Mediatorは、デシジョン・コンポーネントからの指示に基づいて、リクエストをサービスにルーティングします。


注意:

現在のリリースでは、非同期のphaseアクティビティがサポートされています。同期または一方向のphaseアクティビティはサポートされていません。

48.2.4 phaseアクティビティの作成に関する注意事項

phaseアクティビティを作成する場合は、次の事項について理解している必要があります。

  • デシジョン・サービスで構成または作成する必要のあるルール。これは、ルールの評価に使用するペイロードのデータに基づきます。

  • デシジョン・サービスで作成した各ルールがtrueと評価されたときに起動する必要のある、対応するエンドポイントURLを認識している必要があります。Oracle Mediatorでは、このエンドポイントURLを使用してレイヤー2のサービスを起動します。

    エンドポイントの指定方法の詳細は、第48.4.3項「動的ルーティング・デシジョン表の作成および編集」を参照してください。


    注意:

    ペイロードに対するトランスフォーメーション、割当てまたは検証は実行できません。

48.3 動的ルーティング・デシジョン表の作成

動的ルーティング・デシジョン表は、Oracle Business Rulesによって評価されるデシジョン表です。phaseアクティビティの入力データに対して条件が評価されます。この評価の結果が、Oracle Mediatorに対するルーティング指示になります。

48.3.1 動的ルーティング・デシジョン表の作成方法

phaseアクティビティを作成すると、ウィザードによってOracle JDeveloperのOracle Business Rulesデザイナが起動され、動的ルーティング・デシジョン表を編集できるようになります。図48-3に、Oracle Business Rulesデザイナ内のデシジョン表のサンプルを示します。

図48-3 デシジョン表のサンプル

図48-3の説明が続きます
「図48-3 デシジョン表のサンプル」の説明

デシジョン表は、レベル2のプロセス・フェーズをモデル化する際には空のままにし、ビジネス・アナリストのツールを使用してレベル1のプロセスをデプロイした後に完成させることができます。

動的ルーティング・デシジョン表を作成および編集すると、図48-4に示すように、新規のレベル1のphaseアクティビティがOracle JDeveloperのBPELプロセスに表示されます。

図48-4 Oracle JDeveloperでの完成したレベル1フェーズ

図48-4の説明が続きます
「図48-4 Oracle JDeveloperでの完成したレベル1フェーズ」の説明

48.3.2 動的ルーティング・デシジョン表作成時の処理内容

動的ルーティング・デシジョン表を作成することで、着信ペイロードに適用される条件を動的に評価し、対応するルーティング・ルールをOracle Mediatorに提供するデシジョン・サービスが構成されます。Oracle Mediatorは、これらのルールをレイヤー2のサービスの起動時に実行します。

動的ルーティング・デシジョン表を作成すると、具体的には、設計時に次の処理が行われます。

  • 新しいデシジョン・コンポーネントがプロジェクトのコンポジットに作成されます。

  • 新しいルール・ディクショナリがコンポジット・プロジェクトのディレクトリに作成されます。

  • ルール・ディクショナリに、フェーズ入力のデータ・モデルを反映するデータ・モデルが移入されます。つまり、フェーズ入力のXMLスキーマがルール・ディクショナリにインポートされます。

48.4 ユースケース: 2レイヤーのBPM

この項では、顧客の注文をルーティングするサンプル・アプリケーションの作成方法について説明します。このアプリケーションを作成する前に、次の場所からBPELPhaseActivityサンプルをダウンロードする必要があります。

https://soasamples.samplecode.oracle.com/

サンプルを実行する手順は、次のとおりです。

  1. 『Oracle WebLogic Server Installation Guide』の説明に従って、サーバーをインストールします。

  2. 次のタスクを実行して、サンプルをモデル化します。

    1. 第48.4.1項「SOAコンポジットの設計」の説明に従って、SOAコンポジットを設計します。

    2. 第48.4.2項「phaseアクティビティの作成」の説明に従って、phaseアクティビティを作成します。

    3. 第48.4.3項「動的ルーティング・デシジョン表の作成および編集」の説明に従って、動的ルーティング・デシジョン表の作成と編集を実行します。

    4. 第48.4.4項「BPELプロセス・モデルへのassignアクティビティの追加」の説明に従って、assignアクティビティをBPELプロセス・モデルに追加します。

  3. 第48.4.5項「サンプルのデプロイおよびテスト」の説明に従って、Oracle JDeveloperを使用してサンプルをデプロイします。

48.4.1 SOAコンポジットの設計

Oracle JDeveloperでSOAコンポジット・アプリケーションを設計します。

SOAコンポジットを設計する手順は、次のとおりです。

  1. Oracle JDeveloperで、「ファイル」メニューから「新規」を選択します。「新規ギャラリ」ダイアログが表示されます。デフォルトでは、「汎用アプリケーション」が選択されています。

  2. 「OK」をクリックします。汎用アプリケーションの作成ウィザードの第1ページが表示されます。

  3. 「アプリケーション名」フィールドにBPELPhaseActivityと入力し、「次へ」をクリックします。汎用アプリケーションの作成ウィザードの第2ページが表示されます。

  4. 「プロジェクト名」フィールドに、BPELPhaseCustomerRouterと入力します。

  5. 「プロジェクト・テクノロジ」タブの「選択可能」セクションから、「SOA」を選択して「選択済」セクションに移動します。

  6. 「次へ」をクリックします。汎用アプリケーションの作成ウィザードの第3ページが表示されます。

  7. 「コンポジット・テンプレート」リストからBPELプロセスを使用するコンポジットを選択し、「終了」をクリックします。

    「BPELプロセスの作成」ダイアログが表示されます。

  8. 「BPELプロセスの作成」ダイアログの「名前」フィールドに、CustomerRouterBPELProcessと入力します。

  9. 「テンプレート」リストから、「同期BPELプロセス」を選択します。

  10. CustomerData.xsdスキーマをプロジェクトのxsdフォルダにインポートします。XMLスキーマ定義(XSD)には、XML文書に表示する要素や属性のタイプ、それらの相互の関係、その中に含まれるデータのタイプなどを指定します。

    CustomerData.xsdファイルをインポートする手順は、次のとおりです。

    1. 「入力」フィールドで、「入力要素の参照」アイコンをクリックします。

      「タイプ・チューザ」ダイアログが表示されます。

    2. 図48-5に示すように、「スキーマ・ファイルのインポート」アイコンをクリックします。

      図48-5 「スキーマ・ファイルのインポート」アイコン

      図48-5の説明が続きます
      「図48-5 「スキーマ・ファイルのインポート」アイコン」の説明

      「スキーマ・ファイルのインポート」ダイアログが表示されます。

    3. 「URL」フィールドの右側にある「リソースの参照」アイコンをクリックします。

      「SOAリソース・ブラウザ」が表示されます。

    4. 「ファイルシステム」を選択し、「場所」セクションで、artifacts/schemaフォルダCustomerData.xsdを検索し、「OK」をクリックします。

    5. 「スキーマのインポート」ダイアログで、「URL」フィールドにCustomerData.xsdファイルが表示され、「プロジェクトにコピー」オプションが選択されていることを確認して、「OK」をクリックします。

      「ファイルのローカライズ」ダイアログに、CustomerData.xsdスキーマ・ファイルおよび付随するファイルのインポートに関するプロンプトが表示されます。

    6. 「インポートされたファイルの元のディレクトリ構造を保持」オプションの選択を解除し、「OK」をクリックしてファイルをインポートします。

      「タイプ・チューザ」ダイアログが表示されます。

    7. 図48-6に示すように、「プロジェクトのスキーマ・ファイル」「CustomerData.xsd」「Customer」の順に開き、「OK」をクリックします。

      図48-6「タイプ・チューザ」ダイアログ

      図48-6の説明が続きます
      「図48-6 「タイプ・チューザ」ダイアログ」の説明

  11. CustomerData.xsdスキーマをインポートした後、「CustomerRouterBPELProcess」BPELプロセスを開きます。

変数を作成する手順は、次のとおりです。


注意:

要素タイプのフェーズ変数のみを使用できます。

  1. 「変数」アイコンをクリックします。「変数」ダイアログが表示されます。

  2. 「作成」アイコンをクリックします。「変数の作成」ダイアログが表示されます。

  3. 「名前」フィールドに、InputPhaseVariableと入力します。

  4. 「要素」オプションをクリックします。

  5. 「要素の参照」アイコンをクリックします。「タイプ・チューザ」ダイアログが表示されます。

  6. 「プロジェクトのスキーマ・ファイル」「CustomerData.xsd」「Customer」の順に選択し、「OK」.をクリックします。要素名が移入された状態の「変数の作成」ダイアログが表示されます。

  7. 「OK」をクリックします。変数名が移入された状態の「変数」ダイアログが表示されます。

  8. 「変数」ダイアログで、「作成」アイコンをクリックします。「変数の作成」ダイアログが表示されます。

  9. 「名前」フィールドに、OutputPhaseVariableと入力します。

  10. 「タイプ」セクションで、「要素」オプションを選択します。

  11. 「要素の参照」アイコンをクリックします。「タイプ・チューザ」ダイアログが表示されます。

  12. 「プロジェクトのスキーマ・ファイル」「CustomerData.xsd」「Customer」の順に選択し、「OK」.をクリックします。要素名が移入された状態の「変数の作成」ダイアログが表示されます。

  13. 「OK」をクリックします。入出力変数名が移入された状態の「変数」ダイアログが表示されます。

  14. 「OK」をクリックします。変数の作成が完了し、「CustomerRouterBPELProcess」BPELプロセスが表示されます。

48.4.2 phaseアクティビティの作成

phaseアクティビティを作成する手順は、次のとおりです。

  1. 「CustomerRouterBPELProcess」BPELプロセスで、phaseアクティビティを、「コンポーネント・パレット」からプロセス・モデルの「receiveInput」「replyOutput」の間にドラッグ・アンド・ドロップします。「Phase」ダイアログが表示されます。

  2. 「名前」フィールドに、CustomerRoutingPhase_1と入力します。

  3. 「入力変数および出力変数」アイコンから「入力変数の追加」を選択します。「入力変数の追加」ダイアログが表示されます。

  4. 「プロセス」「変数」「phaseIn」の順に選択し、「OK」をクリックします。InputPhaseVar変数が移入された状態の「Phase」ダイアログが表示されます。

  5. 「入力変数および出力変数」アイコンから「出力変数の追加」を選択します。「出力変数の追加」ダイアログが表示されます。

  6. 「プロセス」「変数」「OutputPhaseVar」の順に選択します。

  7. 「OK」をクリックします。「Phase」ダイアログに入力変数名および出力変数名が表示されます。

  8. 「OK」をクリックします。「CustomerRouterBPELProcess」BPELプロセスが表示されます。

  9. 「ファイル」メニューから「すべて保存」を選択します。

  10. 「CustomerRouterBPELProcess」BPELプロセスを閉じます。

  11. 「composite.xml」をクリックします。SOAコンポジット・エディタが表示されます。


注意:

  • phaseアクティビティのウィザードの一環として、Oracle Business Rules、Oracle Mediatorおよび動的参照の3つのコンポーネントが作成されます。

  • Oracle Business Rulesサービス・コンポーネントは、定義されているルールにより、Oracle Mediatorサービス・コンポーネントに対して実行可能なケースを返します。

  • Oracle Mediatorサービス・コンポーネントは、Oracle Business Rulesサービス・コンポーネントから受信したルーティング・ルールに基づきルーティングします。

  • 動的参照コンポーネントは、第2レベルのプロセスのダミー参照です。

  • ルール・ディクショナリに、Oracle Mediatorのファクト・タイプ・モデルと、phaseアクティビティの入力に対応するファクト・タイプ(この例ではCustomerData)が移入されます。

  • ルーティング表と呼ばれる空のデシジョン表が作成されますが、動的ルーティング・ルールの場合は編集する必要があります。


48.4.3 動的ルーティング・デシジョン表の作成および編集

動的ルーティング・デシジョン表を作成して編集する手順は、次のとおりです。

  1. 「CustomerRouterBPELProcess」BPELプロセスを開き、プロセス・ダイアグラムでphaseアクティビティをダブルクリックします。「Phase」ダイアログが表示されます。

  2. 「動的ルールの編集」ボタンをクリックします。Oracle Business Rulesデザイナ・ページが表示されます。

  3. 「ルールセット」の下にある「Ruleset_1」をクリックします。図48-7に示すように、「Ruleset_1」ページに空のルーティング表が表示されます。

    図48-7 「ルールセット」ページ

    図48-7の説明が続きます
    「図48-7 「ルールセット」ページ」の説明

  4. 「DecitionTable_1」で、「追加」アイコン→「アクション」「新規アサート」の順にクリックします。表の「アクション」セクションが表示されます。

  5. 「serviceBindingInfo」で、SOAPエンドポイントを指定し、ホスト名とホスト・ポートをSOAサーバーの詳細で置換します。サンプルでは、ホスト・サーバーにlocalhost、ホスト・ポートに8001が指定されています。

    • 「otherwise」列に、次の値を入力します。

      http://hostname:host_port /soa-infra/services/default/CustomerRouter!1.0/
      DefaultCustomerRouterService
      
    • 「Intel」列に、次の値を入力します。

      http://hostname:host_port/soa-infra/services/default/CustomerRouter!1.0/
      SilverCustomerRouterService
      
    • 「Cisco」列に、次の値を入力します。

      http://hostname:host_port/soa-infra/services/default/CustomerRouter!1.0/
      GoldCustomerRouterService
      
    • 「HP」列に、次の値を入力します。

      http://hostname:host_port/soa-infra/services/default/CustomerRouter!1.0/
      PlatinumCustomerRouterService
      

48.4.4 BPELプロセス・モデルへのassignアクティビティの追加

phaseアクティビティをデプロイする前に、フェーズ変数を初期化する必要があります。これを実行するには、BPELプロセスのフェーズにassignアクティビティを追加します。

assignアクティビティをBPELプロセス・モデルに追加する手順は、次のとおりです。

  1. 「CustomerRouterBPELProcess」BPELプロセスをクリックします。

  2. assignアクティビティを、「コンポーネント・パレット」からプロセス・モデルのreceiveInputアクティビティとphaseアクティビティの間にドラッグ・アンド・ドロップします。assignアクティビティがプロセス・モデルに追加されます。

  3. assignアクティビティをダブルクリックします。「Assign」ダイアログが表示されます。

  4. 「一般」タブを選択します。

  5. 「名前」フィールドに、AssignInputと入力します。

  6. 「コピー・ルール」タブを選択します。

  7. ソース・セクションで、「変数」「プロセス」「変数」「inputVariable」「payload」「ns1:Customer」の順に移動します。

  8. ターゲット・セクションで、「変数」「プロセス」「変数」「inputVariable」「payload」「ns1:Customer」の順に移動します。

  9. ソースのns1:Customerノードをターゲットのns1:Customerノードにドラッグします。

    表48-3に示すように、「Assignの編集」ダイアログの下部には、入力のコピー・ルールが記録されます。

    図48-3 assignアクティビティを追加するための入力のコピー・ルール

    コピー元 コピー先

    inputVariable/payload//ns1:Customer

    InputPhaseVar///payload/ns1:Customer


  10. 「OK」をクリックします。「CustomerRouterBPELProcess」プロセスが再度表示されます。

  11. 別のassignアクティビティを、「コンポーネント・パレット」からプロセス・モデルのphaseアクティビティとreplyOutputアクティビティの間にドラッグ・アンド・ドロップします。新しいassignアクティビティがプロセス・モデルに追加されます。

  12. assignアクティビティをダブルクリックします。「Assign」ダイアログが表示されます。

  13. 「一般」タブの「名前」フィールドにAssignOutputと入力します。

  14. 「コピー・ルール」タブを選択します。

  15. ソース・セクションで、「変数」「プロセス」「変数」「OutputPhaseVar」「payload」「ns1:Customer/ns1:status」の順に移動します。

  16. ターゲット・セクションで、「プロセス」「変数」「outputVariable」「payload」「client:processResponse」「client:result」の順に移動します。

  17. ソースのns1:statusノードをターゲットのclient:resultノードにドラッグします。

    表48-4に示すように、出力のコピー・ルールが記録されます。

    図48-4 assignアクティビティを追加するための出力のコピー・ルール

    コピー元 コピー先

    OutputPhaseVar///ns1:Customer/ns1:status

    outputVariable/payload//client:processResponse/client:result


  18. 「OK」をクリックします。入出力のassignアクティビティが作成された後に、「CustomerRouterBPELProcess」BPELプロセスが表示されます。

  19. 「ファイル」メニューから「すべて保存」を選択します。

48.4.5 サンプルのデプロイおよびテスト

サンプルをデプロイする方法については、第41.7項「SOAコンポジット・アプリケーションのデプロイ」を参照してください。

コンポジット・インスタンスをOracle Enterprise Manager Fusion Middleware Controlコンソールでテストする方法については、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。