別のプロセスによって開始されたプロセスをサブプロセスといいます。 サブプロセスのライフ・サイクルの管理が可能な方法と、サブプロセスのバージョン管理の振る舞いは、プロセスのモデル化方法によって異なります。
モジュール性と再利用性を高めるため、多くの場合、カプセル化のプログラミング概念をビジネス・プロセス・モデリングに適用することには意味があります。すなわち、ビジネス・ロジックの 1 つ以上のステップを個別のプロセスとしてインプリメントし、このプロセスをメイン・プロセスから呼び出すのです。サブプロセスもまた、別のプロセスを開始することができます。 これにより、不特定な深さのプロセス・インスタンスの階層が生じます。これらのプロセスをデプロイする場合は、プロセス間リレーションシップのプロセス・テンプレートのすべてを、同じ Business Process Choreographer データベースにデプロイする必要があります。
サブプロセスは、呼び出しプロセスと、対等リレーションシップか親子リレーションシップにあります。このリレーションシップにより、呼び出しプロセスのプロセス・ライフ・サイクルを管理するアクションが呼び出されたときのサブプロセスの振る舞いが決まります。ライフ・サイクルのアクションは、中断、再開、終了、削除、および補正で構成されます。プロセスのライフ・サイクルを管理するアクションは、トップレベルのプロセス・インスタンスでのみ実行可能です。
ただし、片方向インターフェースをインプリメントする作成オペレーションを伴う長期実行プロセスの場合は、実行時に autonomy 属性の値が自動的に peer に設定されます。autonomy 属性を child に設定すると、この値は実行時に無視されます。
Microflow はいつでも子プロセスとして実行されます。ただし、2 つのプロセスの間に別のコンポーネントがある場合、例えば、2 つのプロセス・コンポーネントの間を接続しているインターフェース・マップ・コンポーネントなどは、親子関係の確立を妨げることがあります。
早期バインディングの例は SCA ワイヤーです。例えば、スタンドアロン参照をプロセス・コンポーネントに結びつけると、この参照を使用するプロセスの呼び出しはすべて、プロセス・コンポーネントによって表される特定のバージョンを対象とします。
サブプロセスの呼び出し時に実行時バインディングを適用するため、親プロセスは、参照パートナーで有効なサブプロセスが選択されるときの選択元となるサブプロセス・テンプレートの名前を指定する必要があります。プロセスの有効開始属性を使用して、現行で有効なサブプロセス・テンプレートが判別されます。 SCA ワイヤリングはどれも無視されます。
実行時バインディングの例は、Business Process Choreographer Explorer で新規プロセスが呼び出される場合です。作成されるインスタンスはいつでも、有効開始日付が将来ではないプロセス・テンプレートの最新バージョンに基づいています。
(c) Copyright IBM Corporation 2005, 2006. All rights reserved.
(c) Copyright IBM Japan 2006
このインフォメーション・センターでは、Eclipse テクノロジー (http://www.eclipse.org) が採用されています。