スタンドアロンおよびインラインBPELサブプロセスの起動の概要
BPELでは、ビジネス・プロセス・ロジックを再利用可能にするモジュール化を制限付きでサポートします。ただ1つの方法は、再利用可能なプロセス・ロジックを完全に独立したプロセスとしてパッケージ化することで、このプロセスを、(起動アクティビティを介して)Webサービスで使用するのと同一のメソッドの親プロセス(再利用可能なプロセス・ロジックを使用するプロセス)で使用します。
この問題に対応するため、Oracle SOA Suiteでは、BPELにサブプロセスの拡張機能を提供しています。サブプロセスは、別個のプロセスが特定のプロセッサ内で再利用できるBPELコードのフラグメントです。このサブプロセス拡張機能には、次の利点があります。
-
BPELプロセス・コードを再使用できることで、同じタスクを実行するために、同じアクティビティを何度も作成する必要がなくなります。
-
コードのモジュール性。
-
コードのメンテナンス(変更内容の伝播により、変更が必要になるたびに複数の場所に更新を実装する必要がなくなります)。
-
起動アクティビティよりオーバーヘッドが減少します。
-
メモリー・フットプリントが減少します。メモリー・フットプリントは、複雑なプロセスでは大量となる場合があります。
ノート:
-
サブプロセスは、BPELバージョン2.0でのみサポートされます。BPELバージョン1.1ではサポートされません。
-
相関セットは、サブプロセスではサポートされません。インラインまたはスタンドアロン・サブプロセスで相関セットを作成すると、実行時に失敗します。
-
サブプロセスを複数のコンポジットで共有することはできません。
-
「監視」ビューは、サブプロセス内ではサポートされていません。「監視」ビューは、Oracle BPELデザイナ上部の「監視ビューに変更」アイコンを選択することで、BPELプロセスからアクセスできます。
表40-2に示すように、Oracle SOA Suiteでは2種類のサブプロセスをサポートします。
表40-2 サブプロセス・タイプ
スタンドアロン・サブプロセス | インライン・サブプロセス |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
該当なし。 |
|
スタンドアロン・サブプロセスの作成の詳細は、「スタンドアロンBPELサブプロセスの作成方法」を参照してください。 |
インライン・サブプロセスの作成の詳細は、「インライン・サブプロセスの作成方法」を参照してください。 |