プロセスを呼び出すためのイベントのスロー

イベントは、実行中のプロセス間の通信に使用できます。例えば、プロセスを開始または終了する場合や、一連の操作を完了するために別のプロセスの状況に応じてプロセスを処理できるタイミングを示す場合に、イベントを使用できます。

このクイックスタートでは、別のプロセスを開始するためにプロセス内で非同期イベントをスローする方法について説明します。

非同期イベントをスローするプロセスには、イベントタイプのイベントスローが含まれています。イベントタイプは、プロセスのコンテキストを判断するために使用する必要があります。例えば、Workspace 9 のユーザーがタスクにファイルを添付する場合、TaskAttachmentAdded イベントを使用できます。

イベントがスローされたときに開始するプロセスには、そのイベントタイプのイベントスタートポイントが含まれています。次の図に、イベントタイプをスローするプロセスと、そのイベントタイプをスタートポイントとして使用する別のプロセスを示します。

A.
イベントスローを含むプロセス

B.
イベントスタートポイントを含むプロセス

必要条件

イベントタイプをスローしてスタートポイントとして使用するには、プロセスのデザイン時または実行時に次の条件を満たす必要があります。

  • 使用するイベントタイプは、Events ビューで利用できる必要がある。

  • イベントデータセットに保存する情報は、イベントがスローされる前にプロセスで利用できる必要がある。イベントをスローする場合、イベントの受信側とスタートポイントでフィルタが設定されている情報を、イベントデータセットに設定します。

  • イベント情報を格納する変数に、選択した Input プロパティある。イベントのスタートポイントを使用すると、受信したイベント情報をプロセスの変数に格納できます。

前述の例のプロセスでは POCancel という非同期のイベントタイプを使用しています。

設定

この例の Event Correlation プロセスでは、POCancel イベントスローのイベントデータにリテラル値が入力されます。例えば、イベントデータセットの /POEventTemplate/Sender 項目が、リテラル値 Sender に設定されます。

フルサイズのグラフィックを表示
イベントをスローするために送信されたイベントデータ。

この例の Event Correlation Start Point プロセスでは、POCancel スタートポイントにイベントフィルタが設定され、イベントスローで /POEventTemplate/Sender 項目の値が "Akira Tanaka" である場合にのみ Event Correlation Start Point プロセスが実行されます。

フルサイズのグラフィックを表示
イベント受信時のイベントフィルタ。

その他の考慮事項

イベントを使用する場合は、まず使用するイベントタイプを決定する必要があります。プロセスの要件を満たすイベントタイプが存在しない場合、カスタムのイベントタイプを作成できます。

カスタムのイベントタイプではデータスキーマを作成する必要があります。データスキーマを作成するには XML Schema Definition(XSD)ファイルを使用します。必要に応じて、個別の XSD ファイルを定義してイベントメッセージデータを含めると、プロセス間でデータを渡す必要がある場合に役立ちます。

例のプロセスダイアグラムでは、プロセス内のステップとしてのみイベントスローを使用しています。ただし、イベントスローはプロセスの要件に応じてプロセス内の一連の操作間で発生します。

また、この例のイベントスローでは、イベントデータの設定にリテラル値を使用しています。ただし、より一般的な実装では、実行時にイベントデータとして収集されたプロセスデータを使用します。実行時のデータを使用する場合、イベントスタートポイントにより有意義なフィルタを使用して、プロセスを実行するかどうかを判断できます。