プロセス間で通信するための相関の使用
プロセス間で通信する別の方法が必要になることがあります。 他のプロセスおよびサービスと通信するための相関を使用するプロセスを開発する方法を見てみましょう。
相関によるプロセス通信の確立
相関により、ビジネス・プロセスがインスタンスの状態に基づいて相互に通信できます。 プロセス内のすべてのプロセス・データ・オブジェクトの状態によって、インスタンスの状態が定義されます。
ビジネス・プロセスの相関を定義すると、インスタンスの状態に基づいて別のプロセスのインスタンスを識別し、その特定のインスタンスにメッセージを送信できます。
たとえば、販売プロセスと、それに対応する出荷プロセスおよびメーリング・プロセスが通信するための相関を使用できます。 顧客が注文を確定すると、出荷プロセスとメーリング・プロセスに対して、出荷プロセスからメッセージが送信されます。このとき、両方のプロセスのインスタンスを特定するために注文IDを使用することを定義する相関が使用されます。
相関を初期化した後は、サービス・エンジンでインスタンスを特定するためにこの値が使用されるため、この値を変更することはできません。
1つのフロー要素に対して複数の相関を定義および初期化できます。
-
メッセージを送信するフロー要素では、1つの相関のみを使用することも、そのフロー要素に定義されたすべての相関を使用することもできます。 フロー要素ですべての既存の相関を使用する場合は、メッセージとともに送信されるすべての値によって、同じインスタンスが識別される必要があります。
-
一部のフロー要素は相関を初期化でき(開始)、一部はそれを使用でき(終了)、一部は初期化と使用の両方を実行できます(受信タスク)。
-
サービス・タスクなどの入力および出力引数を管理するアクティビティでは、いずれかに基づいてプロパティ値を設定できます。
相関のスコープは、それが定義されたプロセスまたはサブプロセスのインスタンスです。
同じ相関を複数回初期化しないように注意してください。 そのようにすると、実行時にエラーが発生します。
相関のコンポーネント
相関のメイン・コンポーネントは、定義、キー、プロパティおよびプロパティ値です。
-
相関定義には、フロー要素に定義された一連の相関キーが含まれます。
-
相関キーにより、相関で使用するプロパティを識別する一意の名前が定義されます。 相関キーを定義するときに、それを識別する名前を指定します。 相関キーのスコープはプロセスとなり、つまり、定義した相関キーは、そのプロセスのすべてのフロー要素の相関定義に使用できます。
-
相関プロパティは、注文ID、顧客名、社会保障番号などの、プロセスの非常に代表的な属性の抽象的概念です。 プロパティには、属性を識別する名前とデータ型が含まれます。 プロパティは、基本的なデータ型のみをサポートします。 プロパティのスコープはアプリケーションです。 異なるプロセスのプロパティ定義を確認できます。
-
相関プロパティ値により、式を使用した相関プロパティへの値の割当て方法を定義できます。 アクティビティの引数および事前定義済変数を使用して、相関プロパティ値を設定できます。



