インライン・サブプロセスの作成方法

インライン・サブプロセスは、スタンドアロン・サブプロセスに類似していますが、インライン・サブプロセスが親プロセスに埋め込まれているという点が異なります。たとえば、顧客注文のステータスを更新するスコープ・アクティビティ内にassignアクティビティとinvokeアクティビティが含まれているBPEL 2.0プロセスがあるとします。これらの同じアクティビティを、後で同じプロセスで繰り返すというビジネス・ニーズがあるとします。スコープの同じassignアクティビティとinvokeアクティビティを、後でプロセス内で物理的に繰り返す方法がありますが、これはエラーが発生しやすい可能性があります。さらに、毎回変更する必要があり、それを両方のスコープに実装する必要があります。アクティビティを繰り返すかわりに、インライン・サブプロセスを使用できます。

ノート:

既存のインライン・サブプロセス内にインライン・サブプロセスを作成することはサポートされません。

インライン・サブプロセスを作成するには:

  1. たとえば、顧客注文のステータスを更新するassignアクティビティとinvokeアクティビティが含まれている、BPEL 2.0プロセスのスコープ・アクティビティに移動します。

    ノート:

    インライン・サブプロセスは、Oracle BPELデザイナの上部にある「プロパティ構造」メニューから「インライン・サブプロセス」を選択し、「インライン・サブプロセス」フォルダを選択して、「追加」クリックすることでもBPELプロセスに作成できます。

  2. スコープ・アクティビティを閉じます。図40-25に詳細を示します。

    図40-25 scopeアクティビティ

    図40-25の説明が続きます
    「図40-25 scopeアクティビティ」の説明
  3. スコープ・アクティビティを右クリックして、「サブプロセスに変換」を選択します。

    図40-26に示すように、「インライン・サブプロセスの作成」ダイアログが表示されます。

    図40-26 「インライン・サブプロセスの作成」ダイアログ

    図40-26の説明が続きます
    「図40-26 「インライン・サブプロセスの作成」ダイアログ」の説明
  4. 環境に適した値を入力し、「OK」をクリックします。

    表40-4 「インライン・サブプロセスの作成」ダイアログ

    要素 説明

    名前

    名前を入力するか、デフォルト値をそのまま使用します。デフォルトはスコープ名になっています。

    サブプロセス・コールのあるスコープを置換

    選択すると、スコープをBPELコール・アクティビティで自動的に置き換えます(デフォルト選択)。インライン・サブプロセスを作成し、選択したスコープをプロセスで保持する場合は、このチェック・ボックスを選択解除します。

    ラベル

    オプションで説明を入力します。

    コメント

    コメントを最適に入力します。

    イメージ

    選択すると、標準のコール・アクティビティ・アイコンが独自のイメージに置き換えられます。

    図40-27に示すように、scopeアクティビティがBPEL 2.0プロセスのcallアクティビティに変換されます。

    図40-27 callアクティビティ

    図40-27の説明が続きます
    「図40-27 callアクティビティ」の説明

    新規インライン・サブプロセスは、「コンポーネント」ウィンドウの「サブプロセス」セクションにも表示されます。図40-28に詳細を示します。

    図40-28 「コンポーネント」ウィンドウのインライン・サブプロセス

    図40-28の説明が続きます
    「図40-28 「コンポーネント」ウィンドウのインライン・サブプロセス」の説明
  5. Oracle BPELデザイナの上で、「サブプロセス - updateOrderStatusSP」を選択して、サブプロセスのコンテンツ(最初のスコープ・アクティビティと同じコンテンツ)を表示します。図40-29に詳細を示します。

    図40-29 Oracle BPELデザイナの上の「サブプロセス」セクション

    図40-29の説明が続きます
    「図40-29 Oracle BPELデザイナの上の「サブプロセス」セクション」の説明

    インライン・サブプロセスのコンテンツが表示されます。図40-30に詳細を示します。

    図40-30 インライン・サブプロセスのコンテンツ

    図40-30の説明が続きます
    「図40-30 インライン・サブプロセスのコンテンツ」の説明
  6. 必要に応じて、invokeアクティビティの追加など、サブプロセスに変更を加えます。

    必要に応じて、同じBPEL 2.0プロセスにサブプロセスを追加できます。

  7. 「コンポーネント」ウィンドウの「サブプロセス」セクションから、インライン・サブプロセスをBPEL 2.0プロセスの適切なセクションにドラッグします。図40-31に詳細を示します。

    図40-31 同じBPEL 2.0プロセスに追加されたサブプロセス

    図40-31の説明が続きます
    「図40-31 同じBPEL 2.0プロセスに追加されたサブプロセス」の説明

    図40-32に示すように、サブプロセス名はCall番号に自動的に変更されます。

    図40-32 変更されたサブプロセス名

    図40-32の説明が続きます
    「図40-32 変更されたサブプロセス名」の説明

インラインBPELサブプロセスの使用方法の詳細は、『Oracle SOA Suiteの理解』インラインBPELサブプロセスによる注文のステータスの更新に関する項を参照してください。