7.4.2. ビジネスアクティビティ監視のデータモデル

jbpm-bam モジュールには、JPA や Hibernate を使用して直接データベースにプロセス関連の情報を格納するイベントリスナーが含まれています。データモデル自体は、プロセスインスタンスの情報、ノードインスタンスの情報、(プロセス) 変数インスタンスの情報の 3 つのエンティティで構成されています。
データベース内のプロセス関連の情報

図7.2 ビジネスアクティビティ監視のデータモデル

ProcessInstanceLog の表には、プロセスインスタンスに関する基本的なログ情報が含まれます。

表7.5 ProcessInstanceLog

フィールド 説明 Null 許容型
id ログエンティティのプライマリキーおよび ID Null 不可
end_date プロセスインスタンスの終了日 (あれば)  
processid プロセスの名前 (ID)  
processinstanceid プロセスインスタンス ID Null 不可
start_date プロセスインスタンスの開始日  
NodeInstanceLog の表には、各プロセスインスタンス内で実行されたノードの情報が含まれます。ノードインスタンスが内向き接続の 1 つから入ってくるか、外向き接続の 1 つから出てくる度に、ノードの情報がこの表に格納されます。

表7.6 NodeInstanceLog

フィールド 説明 Null 許容型
id ログエンティティのプライマリキーおよび ID Null 不可
log_date イベントの日付  
nodeid プロセス定義内の対象ノードのノード ID  
nodeinstanceid ノードインスタンス ID  
nodename ノード名  
processid プロセスインスタンスが実行するプロセス ID  
processinstanceid プロセスインスタンス ID Null 不可
type イベントのタイプ (0 = enter, 1 = exit) Null 不可
VariableInstanceLog の表には、変数インスタンスの変更に関する情報が含まれています。デフォルトは、変数が変更された後にだけログのエントリを生成するようになっていますが、変数の値が変更する前でもエントリをログ記録することができます。

表7.7 VariableInstanceLog

フィールド 説明 Null 許容型
id ログエンティティのプライマリキーおよび ID Null 不可
log_date イベントの日付  
processid プロセスインスタンスが実行するプロセス ID  
processinstanceid プロセスインスタンス ID Null 不可
value ログが作成された時点の変数の値  
variableid プロセス定義の変数 ID  
variableinstanceid 変数インスタンス ID