ページの先頭行へ戻る
SystemwalkerRunbook Automation V14g BPM Studio利用ガイド

10.2 リモートサブプロセスのモデル化

リモートサブプロセスは、リモートワークフローサーバ上で実行されるサブプロセスです。リモートワークフローサーバは、たとえば、ほかのInterstage BPMサーバなどです。

Interstage BPM Studio for Systemwalkerでは、ワークフローサーバ間の通信に2つのオープンプロトコル、SWAP (シンプルワークフローアクセスプロトコル、Simple Workflow Access Protocol)およびASAP (非同期サービスアクセスプロトコル、Asynchronous Service Access Protocol)を使用できます。これらのプロトコルでは、ワークフローサーバ間で、HTTPを介してXMLメッセージをやり取りします。

統合されたInterstage BPMサーバ間でプロセスを実行する場合は、ASAPを使用することをお勧めします。

リモートサブプロセスは、親プロセス定義ではRemote Subprocessノードによって表されます。 親プロセスとリモートサブプロセスとの間のやり取りは、以下のステップで行われます。

  1. Remote Subprocessノードに到達すると、ローカルワークフローサーバがStartProcess要求をリモートワークフローサーバに送ります。このときに、リモートサブプロセスインスタンスが処理するUDAも送られます。

  2. リモートワークフローサーバはこの要求を受け取って、プロセスインスタンスを開始します。

  3. リモートプロセスインスタンスが完了すると、それを実行したワークフローサーバがProcessCompletedメッセージを返します。このときに、サブプロセスインスタンスの結果も返されます。

  4. ローカルワークフローサーバはこのメッセージを受け取り、結果を取り込み、Remote Subprocessノードを完了して、プロセスインスタンスが次のノードに進めるようにします。

このやり取りを正常に行うためには、親プロセス定義に以下を設定する必要があります。

以下の説明では、連結するプロセス定義がInterstage BPMサーバ上で実行されることを前提としています。

リモートサブプロセスをモデル化する方法について説明します。

  1. 親プロセス定義を作成し、プロセスフローをモデル化します。

  2. サブプロセス定義を作成し、プロセスフローをモデル化します。

  3. Remote Subprocessノードを親プロセス定義に追加します。

  4. サブプロセスで返される可能性のあるすべての結果について、Remote Subprocessノードに外向き矢印を追加します。

    Remote Subprocessノードは、1つまたは複数の外向き矢印を持ちます。親プロセスが再開するときには、1つの矢印だけが選択されます。選択される矢印は、リモートサブプロセスの結果と一致する矢印です。

  5. 外向き矢印の名前が、リモートプロセスから返される戻り値と正確に一致するようにします。

    戻り値は、リモートサブプロセス定義のExitノードの名前に対応します。

    注意

    サブプロセス定義のExitノードの名前と外向き矢印の名前が、大文字小文字の違いも含めて同一であることが必要です。

  6. 親プロセス定義とリモートサブプロセス定義を連結します。

    その手順については、「10.2.1 親プロセス定義とリモートサブプロセス定義の連結」を参照してください。

  7. 親プロセス定義とサブプロセス定義の両方で、やり取りするUDAを指定します。

    注意

    各プロセス定義で、同じ情報を扱うUDAに別の名前を付けることができます。ただし、同じデータ型である必要があります。異なるデータ型の場合、UDAをマッピングできません。

  8. やり取りする必要があるUDAのデータマッピングを定義します。

    その手順については、「10.2.2 リモートサブプロセスのデータマッピングの定義」を参照してください。