3.2.4 アクティビティ
アクティビティは,ビジネスプロセスの構成要素となる部品で,処理の構造を表現したものです。複数のアクティビティを連結して,ビジネスプロセスの処理フローを定義します。
開発環境のビジネスプロセス定義画面でアクティビティを配置,連結して定義します。各アクティビティの属性情報を次の表に示します。
属性 |
説明 |
---|---|
プロセスインスタンス識別子 |
対象のアクティビティが所属するプロセスインスタンスの識別子です。 |
アクティビティ番号 |
アクティビティを識別するための番号です。アクティビティリストのインデクスに対応します。 |
ビジネスプロセス定義名 |
対象のアクティビティが所属するビジネスプロセスの定義名称です。サービスリクエスタから呼び出すときのサービス名に相当します。 |
ビジネスプロセス定義バージョン |
対象のアクティビティが所属するビジネスプロセス定義バージョンです。 |
アクティビティ定義名 |
対象のアクティビティのアクティビティ定義名称です。 |
アクティビティ種別 |
対象のアクティビティのアクティビティ種別です。 |
状態 |
対象のアクティビティの状態です。 |
開始時刻 |
対象のアクティビティの開始時刻(GMT)です。 注 ACTIVE状態に遷移した時刻 |
終了時刻 |
対象のアクティビティの終了時刻(GMT)です。 注 COMPLETED状態に遷移した時刻 |
待機解除時刻 |
対象のアクティビティの待機解除時刻(GMT)です。待機アクティビティのときに使用します。 |
アクティビティの状態遷移を次の図に示します。
|
-
新たなアクティビティのインスタンスが生成されたとき。
-
アクティビティインスタンスを実行しようとしたとき。
-
アクティビティインスタンスの実行が完了したとき。
-
アクティビティインスタンスを実行したが,実行中にならないで実行が完了したとき。
-
サービスリクエスタからの要求を受信した受付以外の受付アクティビティインスタンスを実行しようとしたとき。
-
待ち受け状態の受付アクティビティインスタンスがサービスリクエスタからの要求を受けたとき。
-
target linkがfalseで活性化されたとき。
-
アクティビティインスタンスの実行時にフォルトが発生したとき。
-
フォルトが発生し,アクティビティの実行がキャンセル処理を依頼されたとき。
-
フォルトが発生し,フォルトハンドラでキャッチして対応するアクティビティインスタンスを実行中のとき。
-
フォルトが発生し,キャッチに対応するアクティビティインスタンスの実行が完了したとき。
-
構造化アクティビティが実行省略された際に,内包するアクティビティを実行省略にするとき。
-
未省略状態のアクティビティの実行を省略するとき。
-
サービス呼出アクティビティの処理で例外が発生し,アクティビティインスタンスの処理がエラーで中断したとき。
-
エラー状態のサービス呼出アクティビティのアクティビティインスタンスに対して再実行を実施したとき。
-
実行中状態の待機アクティビティインスタンスに対して再実行を実施したとき。
-
トランザクションを制御するスコープアクティビティインスタンスを実行しようとしたとき。
-
トランザクションを制御するスコープアクティビティインスタンスの実行が完了したとき(「完了状態(待ち受け)」に遷移し,その後「完了状態」に遷移)。
-
トランザクションを制御するスコープアクティビティの処理で例外が発生し,アクティビティインスタンスの処理がエラーで中断したとき。
-
エラー状態のトランザクションを制御するスコープアクティビティインスタンスに対して再実行を実施したとき。
-
非同期EJBに応答アクティビティ実行後の呼び出しを実施したとき。
-
非同期EJBから応答アクティビティ実行後の呼び出しが実施されたとき。
-
補償アクティビティから補償ハンドラ配下のアクティビティを実行しようとしたとき。
-
補償ハンドラ配下のアクティビティの実行が完了したとき。
-
補償ハンドラ配下のアクティビティでフォルトが発生したとき。
-
途中終了アクティビティを実行してアクティビティを実行しなかったとき。
-
未省略状態のアクティビティが存在する状態で,途中終了アクティビティを実行してプロセスを終了したとき。
-
実行中状態のアクティビティが存在する状態で,途中終了アクティビティでプロセスを終了したとき。
-
フォルト処理実行中に途中終了アクティビティでプロセスを終了したとき。
-
補償処理実行中に途中終了アクティビティでプロセスを終了したとき。
-
トランザクション制御を行うスコープアクティビティ実行中に途中終了アクティビティでプロセスを終了したとき。
「図3-15 アクティビティの状態遷移」で示すアクティビティの状態を次の表に示します。
状態 |
説明 |
|
---|---|---|
READY状態 |
未実行状態(Unexecution) |
アクティビティインスタンスが未実行で,今後実行される可能性のある状態です。 |
未省略状態(Unomission) |
アクティビティインスタンスが未実行で,今後実行省略される状態です。 |
|
ACTIVE状態 |
実行中状態(Executing) |
アクティビティインスタンスが実行中の状態です。 |
実行中状態(待ち受け)(Executingwait) |
ロールバックが行われ,スコープアクティビティのインスタンスが再実行可能な状態です。 |
|
待ち受け状態(Awaiting) |
受付アクティビティのインスタンスが受け付けられる状態です。 |
|
フォルト中状態(Faulting) |
アクティビティインスタンスがfaultHandlerでキャッチしたアクティビティを実行している状態です。 |
|
補償中状態(Conpensating) |
補償処理が実行中の状態です。 |
|
ERROR状態 |
エラー状態(Error) |
サービス呼出アクティビティまたはスコープアクティビティの処理で例外が発生し,アクティビティインスタンスの処理がエラーで中断した状態です。 |
COMPLETED状態 |
完了状態(Completed) |
アクティビティインスタンスが正常に実行され終了した状態です。 |
完了状態(待ち受け)(Completedwait) |
アクティビティインスタンスが正常に実行され終了した状態です。 アクティビティのインスタンスが再実行可能な状態です。 |
|
補償完了状態(Conpensated) |
補償処理が正常に実行され終了した状態です。 |
|
キャンセル終了状態(Canceled) |
フォルトが発生しアクティビティインスタンスの実行がキャンセルされた状態です。 |
|
フォルト終了状態(Faulted) |
アクティビティインスタンスの実行中にフォルトが発生して終了した状態です。 |
|
実行省略状態(Omitted) |
アクティビティインスタンスの実行が省略された状態です。 |
各アクティビティの詳細については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「5.6 アクティビティの定義」を参照してください。