機械翻訳について

プロセス間で通信するための相関の使用

プロセス間で通信する別の方法が必要になることがあります。 他のプロセスおよびサービスと通信するための相関を使用するプロセスを開発する方法を見てみましょう。

相関によるプロセス通信の確立

相関により、ビジネス・プロセスがインスタンスの状態に基づいて相互に通信できます。 プロセス内のすべてのプロセス・データ・オブジェクトの状態によって、インスタンスの状態が定義されます。

ビジネス・プロセスの相関を定義すると、インスタンスの状態に基づいて別のプロセスのインスタンスを識別し、その特定のインスタンスにメッセージを送信できます。

たとえば、販売プロセスと、それに対応する出荷プロセスおよびメーリング・プロセスが通信するための相関を使用できます。 顧客が注文を確定すると、出荷プロセスとメーリング・プロセスに対して、出荷プロセスからメッセージが送信されます。このとき、両方のプロセスのインスタンスを特定するために注文IDを使用することを定義する相関が使用されます。

相関を初期化した後は、サービス・エンジンでインスタンスを特定するためにこの値が使用されるため、この値を変更することはできません。

1つのフロー要素に対して複数の相関を定義および初期化できます。

  • メッセージを送信するフロー要素では、1つの相関のみを使用することも、そのフロー要素に定義されたすべての相関を使用することもできます。 フロー要素ですべての既存の相関を使用する場合は、メッセージとともに送信されるすべての値によって、同じインスタンスが識別される必要があります。

  • 一部のフロー要素は相関を初期化でき(開始)、一部はそれを使用でき(終了)、一部は初期化と使用の両方を実行できます(受信タスク)。

  • サービス・タスクなどの入力および出力引数を管理するアクティビティでは、いずれかに基づいてプロパティ値を設定できます。

相関のスコープは、それが定義されたプロセスまたはサブプロセスのインスタンスです。

同じ相関を複数回初期化しないように注意してください。 そのようにすると、実行時にエラーが発生します。

相関のコンポーネント

相関のメイン・コンポーネントは、定義、キー、プロパティおよびプロパティ値です。

  • 相関定義には、フロー要素に定義された一連の相関キーが含まれます。

  • 相関キーにより、相関で使用するプロパティを識別する一意の名前が定義されます。 相関キーを定義するときに、それを識別する名前を指定します。 相関キーのスコープはプロセスとなり、つまり、定義した相関キーは、そのプロセスのすべてのフロー要素の相関定義に使用できます。

  • 相関プロパティは、注文ID、顧客名、社会保障番号などの、プロセスの非常に代表的な属性の抽象的概念です。 プロパティには、属性を識別する名前とデータ型が含まれます。 プロパティは、基本的なデータ型のみをサポートします。 プロパティのスコープはアプリケーションです。 異なるプロセスのプロパティ定義を確認できます。

  • 相関プロパティ値により、式を使用した相関プロパティへの値の割当て方法を定義できます。 アクティビティの引数および事前定義済変数を使用して、相関プロパティ値を設定できます。

相関キーおよびプロパティの定義

プロセスレベルで相関キーを定義します。つまり、プロセス全体のフロー要素間で相関キーを再利用できます。

相関キーと相関プロパティを定義するには:
  1. 「プロセス・アプリケーション」ページに移動します。
  2. アプリケーションを開きます。
  3. ビジネス・プロセスを開きます。
  4. ツールバーの「Correlations」「Correlations」アイコンをクリックします。 相関ダイアログ・ボックスが開きます。
  5. 相関キーと相関プロパティを作成して、作成した各キーに1つ以上のプロパティを関連付けます。 矢印キーを使用して、「Keys」列と「Properties」列の間で情報を移動できます。

プロセスでの相関の使用

1つのフロー要素(アクティビティ)に複数の相関を定義できます。 メッセージを送信するアクティビティでは、1つの相関、複数の相関またはすべての相関を使用できます。 相関の起動に使用される値によって、同じインスタンスが識別されます。

プロセス間で通信するために、次のアクティビティに対して相関を定義できます。

  • メッセージの開始およびメッセージの終了イベント

  • メッセージのスローおよびメッセージの捕捉イベント

  • 送信および受信アクティビティ

  • シグナル・イベント

プロセスで相関を定義して使用するには:
  1. ホーム・ページに移動して、プロセスをクリックしてアプリケーションを開きます。
  2. 相互に通信する2つのプロセスを設計して構築します。 1つのプロセスは呼出し元のプロセスで、もう1つは起動されるプロセスです。 たとえば:
  3. アクティビティのプロパティを開きます。
    1. プロセス図でアクティビティを選択します。
    2. 「Menu」メニュー・アイコンをクリックし、「Open Properties」を選択します。
      ウィンドウの下部に、「Properties」ペインが開きます。
  4. 一般的なプロパティを定義します。
    1. 「General」タブを選択します。
    2. アクティビティの実装方法を定義します。
    3. 「Edit」「Edit」アイコンをクリックして引数を追加し、各引数の名前とタイプを定義します。
      メッセージの開始およびメッセージの捕捉イベントと、受信アクティビティに対し入力引数を定義します。 また、メッセージの終了イベントと、起動されるプロセスの送信アクティビティに対し出力引数を定義します。 「入力引数または出力引数の定義」を参照してください。
      必要な引数が定義されていない場合は、相関を構成できません。 「Correlations」タブに、無効化されたペインが表示されます。
  5. 相関プロパティを定義します。
    1. 「相関」タブを選択します。
    2. 相関を定義して、プロパティ値を開始するように構成します。
      いくつかのノートがあります。
      • 「Keys」ボックスで、「Add」「Add」アイコンをクリックして、いずれかの使用可能なキーを選択します。 キーが定義されていない場合は、作成する必要があります。 「相関キーおよびプロパティの定義」を参照してください。

      • いずれかの使用可能なキーを選択すると、それに含まれるプロパティが「Properties」ボックスに表示されます。 プロパティの値を設定するには、「Expression Editor」「Expression Editor」アイコンをクリックして、エディタを開きます。

      • 相関の初期化のみ実行できるアクティビティ(「Initialize」タブで構成)や、相関を使用できるアクティビティ(「Correlate」タブで構成)があります。 また、入力および出力引数を持つアクティビティでは、いずれかまたは両方を選択して、選択したコンテキストに従ってプロパティ値を設定できます。