スタンドアロンBPELサブプロセスの作成方法

この項では、スタンドアロン・サブプロセスを使用する簡単なアプリケーションの作成方法の例を示します。

ノート:

スタンドアロン・サブプロセスには、インライン・サブプロセスを含めることができます。

スタンドアロンBPELサブプロセスを作成するには:

  1. BPEL 2.0プロセスを含むSOAコンポジット・アプリケーションを作成します。この例では、同期BPEL 2.0プロセスを作成します。
  2. BPEL 2.0プロセスを設計します。この例では、次のプロセスが設計されます。
    • タイプ文字列の変数が作成され(この例ではvariable1という名前)、パラメータとして渡されます。

    • assignアクティビティが作成され、そこでクライアント入力文字列がvariable1にマップされます。

    図40-21はBPELプロセスの設計を示しています。

    図40-21 BPEL 2.0プロセスの設計

    図40-21の説明が続きます
    「図40-21 BPEL 2.0プロセスの設計」の説明
  3. Oracle BPELデザイナ上部の「composite_name」リンクをクリックして、SOAコンポジット・エディタにアクセスします。
  4. SOAコンポジット・エディタ内を右クリックし、「挿入」「サブプロセス」の順に選択するか、「コンポーネント」ウィンドウから「サブプロセス」アイコンをコンポジットにドラッグします。

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

  5. 適切な値を入力するか、デフォルト値をそのまま使用して、「OK」をクリックしてスタンドアロン・サブプロセスを作成します。図40-22に詳細を示します。この例では、指定されたサブプロセス名がSubprocess1となります。

    図40-22 「サブプロセスの作成」ダイアログ

    図40-22の説明が続きます
    「図40-22 「サブプロセスの作成」ダイアログ」の説明
  6. SOAコンポジット・エディタのサブプロセスを右クリックし、「編集」を選択します。
  7. サブプロセスのタイプ文字列の変数を作成し(この例の変数名はp1)、「OK」をクリックします。

    これで、スタンドアロン・サブプロセスで簡単なプロセス・ロジックを設計しました。

  8. 「コンポーネント」ウィンドウからプロセスに、assignアクティビティをドラッグします。
  9. assignアクティビティの「コピー・ルール」タブの「ターゲット」セクションで、「式ビルダー」アイコンをp1変数にドラッグします。
  10. concat式を作成して、サブプロセス内のパラメータから値を読み取り、その値で変数p1を更新します。
    concat($p1,",from subprocess")
    
  11. コンポジットを保存するか、「すべて保存」を選択して、BPEL 2.0プロセスを終了します。
  12. SOAコンポジット・エディタでBPELプロセスを右クリックして、「編集」を選択します。
  13. 「Oracle Extensions」サブセクションから、Oracle BPELデザイナのassignアクティビティの下にcallアクティビティをドラッグします。
  14. callアクティビティを右クリックし、「編集」を選択します。

    コールの編集ダイアログが表示されます。変数p1は、「名前」列の選択したSubprocess1の後に表示されることに注意してください。

  15. 「値」列内をクリックして、「変数チューザ」ダイアログを起動します。
  16. 「variable1」を選択し、「OK」をクリックします。これにより、変数p1がスタンドアロン・サブプロセスから、最初に作成したBPEL 2.0プロセスの変数variable1にマッピングされます。
  17. 「値によるコピー」チェック・ボックスを選択解除したままにします。

    このチェック・ボックスを選択解除のままにすると、変数が参照によってコピーされます。変数には、変数またはパートナ・リンクのみを使用でき、XPath関数問合せは使用できません。参照によるコピーは、入力および出力変数の両方をサポートします。値によるコピーは、値の入力のみをサポートします。

  18. 「コンポーネント」ウィンドウから、2番目のassignアクティビティをコール・アクティビティの下にドラッグします。
  19. assignアクティビティの「コピー・ルール」タブで、出力メッセージをvariable1で更新し、「OK」をクリックします。図40-23に詳細を示します。

    図40-23 assignの編集ダイアログ

    図40-23の説明が続きます
    「図40-23 assignの編集ダイアログ」の説明

    図40-24は、サブプロセスを含むBPEL 2.0プロセスを示しています。このBPEL 2.0プロセスでは、次のロジックが設計されます。

    • Assign1の入力メッセージの文字列値が取得されて、callアクティビティのvariable1に割り当てられ、参照により渡されます。

    • assign2variable1を取得し、レスポンスを作成します。variable1の値は、サブプロセスによって更新されます。

    図40-24 BPEL 2.0プロセス

    図40-24の説明が続きます
    「図40-24 BPEL 2.0プロセス」の説明
  20. SOAコンポジット・エディタに移動し、BPELサブプロセスは現在、callアクティビティによってBPEL 2.0プロセスに接続されていることに注意してください。

    これで、SOAコンポジット・アプリケーションをデプロイし、Oracle Enterprise Manager Fusion Middleware Controlでビジネス・フロー・インスタンスを作成する準備ができました。

    Oracle Enterprise Manager Fusion Middleware Controlで作成されたビジネス・フロー・インスタンスの監査証跡にアクセスする際は、callアクティビティとそのコンポーネントが表示されることに注意してください。

    スタンドアロンBPELサブプロセスの詳細は、『Oracle SOA Suiteの理解』データベースで注文のステータスを更新するためのテンプレートおよびスタンドアロン・サブプロセスの使用方法に関する項を参照してください。