BPMN summary event formats
BPMN summary events are JSON objects that result from the aggregation of BPMN time series.
- Process summaries result from the aggregation of process time series, or from the aggregation of business data. BPMN process summaries convey information at the level of a process to identify the instance of the process, its state, and the business data.
- Activity summaries result from the aggregation of activity time series and tasks events, or from the aggregation of business data. BPMN activity summaries convey information at the level of an activity to identify the activity and the tasks execution, the activity state, and the business data that is handled at activity level.
Defining a high number of fields in an Elasticsearch index might lead to a so-called mappings explosion which might cause out-of-memory errors and difficult situations to recover from. The maximum number of fields in Elasticsearch indices created by IBM Business Automation Insights is set to 1000. Field and object mappings, and field aliases, count towards this limit. Ensure that the various documents that are stored in Elasticsearch indices do not lead to reaching this limit.
- Each tracking group adds four new fields.
- Each new piece of business data adds one new field, or two new
fields if the business data is a string (
text
andkeyword
field data types).
Process summary format
Attribute | Description | Optional or required | Type |
---|---|---|---|
version | The process summary version | Required | A string constant, in the V.R.M format |
type | The process summary type | Required | The string constant "process" |
timestamp | The timestamp of the last aggregated event to produce this summary | Required | A string that contains an ISO8601 date in this format: yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
bpmCellName | The name of the IBM Business Automation Workflow cell that emits raw events | Required | String |
processApplicationSnapshotName | The name of the process application snapshot. Empty for the current (TIP) snapshot | Required | String |
processApplicationVersionId | The identifier of the process application snapshot | Required | String |
processApplicationName | The process application name | Required | String |
processApplicationId | The process application identifier | Required | String |
id | The unique identifier of this process instance. This identifier results from the concatenation of the processId value, the bpmSystemId value, and the process instance identifier that is assigned by the BPM runtime. | Required | String |
processInstanceId | The unique identifier of this process instance. This identifier results from the concatenation of the processId value, the bpmSystemId value, and the process instance identifier assigned by the BPM runtime | Required | String |
shortProcessInstanceId | The non-fully qualified process instance identifier that corresponds to the process instance identifier assigned by the BPM runtime. | Required | String |
name | The full name of the process (not the acronym) | Required | String |
state | The state of the process, based on the latest aggregated event | Required | String constant. Possible values: Active, Completed, Terminated, Failed, Suspended, Resumed, Migrated, Deleted The state for a process summary is changed to Deleted only when the process instance is deleted before it runs to completion. |
processId | The identifier of the BPMN process | Required | String |
processVersionId | The snapshot identifier of the BPMN process | Required | String |
processSnapshotName | The name of the process. Empty for the current (TIP) snapshot | Required | String |
bpmSystemId | The IBM Business Automation Workflow system identifier that uniquely identifies a Workflow Server environment | Required | String |
startTime | The time at which the process started | Optional - Present if the process has been started | A string that contains an ISO8601 date in this format: yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
completedTime | The time at which the process completed | Optional - Present if the process has been completed | A string that contains an ISO8601 date in this format: yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
terminatedTime | The time at which the process was terminated | Optional - Present if the process has been terminated | A string that contains an ISO8601 date in this format: yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
suspendedTime | The time at which the process was suspended | Optional - Present if the process has been suspended | A string that contains an ISO8601 date in this format: yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
migratedTime | The time at which the last process was migrated | Optional - Present if the process has been migrated at least once | A string that contains an ISO8601 date in this format: yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
resumedTime | The time at which the process resumed | Optional - Present if the process has been resumed | A string that contains an ISO8601 date in this format: yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
atRiskDateAssignedTime | The date at which the process is considered at risk | Optional - Present if the process has been allocated at least one at-risk date | A string that contains an ISO8601 date in this format: yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
dueDateAssignedTime | The due date for the process | Optional - Present if the process has been allocated at least one at-risk date or if the due date was modified. | A string that contains an ISO8601 date in this format: yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
failedTime | The time at which the process failed | Optional - Present if the process has failed | A string that contains an ISO8601 date in this format: yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
deletedTime | The time at which the process was deleted | Optional - Present if the process has been deleted | A string that contains an ISO8601 date in this format: yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
duration | The process duration, in milliseconds. | Optional - Present if the difference between the startTime value and either the completedTime or terminatedTime or failedTime value can be computed. | Number |
data | The business data | Optional - Present if the tracking group information is available. | JSON object |
lastBusinessDataUpdateTime | The time at which the business data was last updated | Optional - Present if the business data has been updated. | A string that contains an ISO8601 date in this format: yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
lastBusinessDataUpdateActivity | The name of the latest activity that updated the business data | Optional - Present if a raw event type that modified the business data was aggregated in this summary. | String |
lastBusinessDataUpdateEvent | The raw event type of the latest raw event that updated the business data | Optional - Present if a raw event type that modified the business data was aggregated in this summary. | String |
lastBusinessDataUpdatePerformer | The name of the latest performer who updated the business data | Optional - Present if a performer modified the business data. | String |
Attribute | Description | Optional or required | Type |
---|---|---|---|
span-id | The span identifier corresponding to the process | Required | String |
parent-span-id | The parent span identifier | Optional | String |
trace-id | The trace identifier | Required | String |
Example of a process summary
{
"version": "1.0.2",
"type": "process",
"timestamp": "2018-07-01T06:22:41.628-07:00",
"bpmCellName": "PCCell1",
"bpmSystemId": "5de24de3-6984-4a02-82b9-2696c6f1b7c3",
"processApplicationSnapshotName": "v1.0.4",
"processApplicationVersionId": "2064.090b62c2-66b8-4e86-8da0-38eb409ef306",
"processApplicationName": "Extreme Tracking",
"processApplicationId": "085b1c62-5be1-4fc1-adf2-7ed44445e0a0",
"id": "b0279d9d-4286-4196-b273-0e2fb953f64b.5de24de3-6984-4a02-82b9-2696c6f1b7c3.936",
"trace-id": "d80cf208-d15f-43ce-a22c-7996cf1399fa",
"span-id": "dda9662471079ab3",
"processInstanceId": "b0279d9d-4286-4196-b273-0e2fb953f64b.5de24de3-6984-4a02-82b9-2696c6f1b7c3.936",
"shortProcessInstanceId": "936",
"processId": "b0279d9d-4286-4196-b273-0e2fb953f64b",
"processVersionId": "2064.090b62c2-66b8-4e86-8da0-38eb409ef306",
"processSnapshotName": "v1.0.4",
"name": "Extreme Tracking Process",
"state": "Active",
"atRiskDateAssignedTime": "2018-07-01T06:22:41.628-07:00",
"startTime": "2018-07-01T06:22:41.170-07:00",
"data": {
"XTGPOST": {
"@ids": {
"trackingGroupId": "413ae9db-6f15-4bb7-b7fe-f919c74a301e",
"trackingGroupVersionId": "2064.090b62c2-66b8-4e86-8da0-38eb409ef306T"
},
"id.string": "POST User Task"
},
"XTGPRE": {
"@ids": {
"trackingGroupId": "360e3383-1530-47e5-b84f-f83ae7fec1f3",
"trackingGroupVersionId": "2064.090b62c2-66b8-4e86-8da0-38eb409ef306T"
},
"id.string": "PRE User Task"
},
"XAutoTrackTG": {
"@ids": {
"trackingGroupId": "guid:1ec0babf3f0670c6:8671dd3:163bd1a0a90:1869",
"trackingGroupVersionId": "2064.090b62c2-66b8-4e86-8da0-38eb409ef306"
},
"autoId.string": "User Task"
}
},
"lastBusinessDataUpdateTime": "2018-07-01T06:23:07.407-07:00",
"lastBusinessDataUpdateActivity": "User Task",
"lastBusinessDataUpdateEvent": "EVENT_THROWN",
"lastBusinessDataUpdatePerformer": "admin"
}
Activity summary format
A summary for BPMN activities is a JSON object with the following attributes. In the following table, the name attribute refers to the top-level process, a subprocess, or a linked process, depending on the execution flow context. The processId, processVersionId, processInstanceId, shortProcessInstanceId, and processName attributes refer to the top-level process in the execution flow context. The value of the id attribute is relative to the top-level process in the execution flow context.
For reference information about the completedTime, terminatedTime, and failedTime fields for processing BPMN ACTIVITY_COMPLETED, ACTIVITY_TERMINATED and ACTIVITY_FAILED events, see the Activity monitoring events page of the IBM Business Automation Workflow documentation.
Attribute | Description | Optional or required | Type |
---|---|---|---|
version | The version number of the process summary | Required | A string constant, in the V.R.M format |
timestamp | The timestamp of the last aggregated event to produce this summary | Required | A string that contains an ISO8601 date in this format:
yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
name | The name of the activity | Required | String |
bpmCellName | The name of the IBM Business Automation Workflow cell that emits raw events | Required | String |
type | The type of the activity | Required | A string constant |
startedParallelLoops | The number of started loops in parallel for an activity | Optional. Present on the activity summary that reports the start and the end of the parallel loop | Number |
processApplicationSnapshotName | The name of the process application snapshot. Empty for the current (TIP) snapshot | Required | String |
processApplicationVersionId | The identifier of the process application snapshot | Required | String |
processApplicationName | The process application name | Required | String |
processApplicationId | The process application identifier | Required | String |
activityId | The identifier of the activity | Required | String |
activityVersionId | The snapshot identifier of the activity | Required | String |
data | The business data | Optional - Present if business data is collected with the activity. | JSON object |
taskInstanceId | The task instance identifier | Optional - Present if option enable-task-api-def is set in the IBM Business Automation Workflow configuration. | String |
taskRecord | The additional information about the current task | Optional - Present if options enable-task-api-def and task-record-enabled are set in the IBM Business Automation Workflow configuration | JSON object |
performerId | The identifier of the user who claimed the task | Optional - Present for tasks that can be claimed | String |
performerName | The name of the user who claimed the task | Optional - Present for tasks that can be claimed | String |
potentialPerformerId | The identifier of the group of users who can claim the task | Optional - Present for tasks that can be claimed | String |
potentialPerformerName | The name of the group of users who can claim the task | Optional - Present for tasks that can be claimed | String |
processId | The process identifier | Required | String |
processInstanceId | The unique identifier of this process instance. This identifier results from the concatenation of the processId value, the bpmSystemId value, and the process instance identifier assigned by the BPM runtime. | Required | String |
shortProcessInstanceId | The non-fully qualified process instance identifier that corresponds to the process instance identifier assigned by the BPM runtime. | Required | String |
processName | The name of the process | Required | String |
processVersionId | The snapshot identifier of the process | Required | String |
state | The state of the activity based on the latest aggregated event | Required | A string constant. Possible values: Created , Unclaimed ,
Claimed , Active , Changed ,
Completed , Terminated , Failed |
startTime | The time at which the activity started | Optional - Present if the task has been started. | A string that contains an ISO8601 date in this format:
yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
claimedTime | The time at which the task was last claimed | Optional - Present if the task has been claimed at least once. | A string that contains an ISO8601 date in this format:
yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
completedTime | The time at which the activity completed | Optional - Present is the task has been completed. | A string that contains an ISO8601 date in this format:
yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
terminatedTime | The time at which the activity was terminated | Optional - Present if the task has been terminated. | A string that contains an ISO8601 date in this format:
yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
failedTime | The time at which the activity failed | Optional - Present if the task has failed. | A string that contains an ISO8601 date in this format:
yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
duration | The activity duration in milliseconds. | Optional. Present if the difference between startTime and completedTime or terminatedTime or failedTime can be computed. | Number |
waitDuration | The duration, in milliseconds, between the time when the activity becomes available and the time when it is claimed. If the activity is reassigned to the team or postponed before being worked on, the latest claim time is considered for the calculation of this duration. | Optional. Present if the activity has been started and claimed. | Number |
executionDuration | The duration, in milliseconds, corresponding to the effective work on the activity, which is computed from claimed time to completion time. If the activity is reassigned to the team or postponed before being worked on, the latest claim time is considered for the calculation of this duration. | Present if the activity has been claimed and completed. | Number |
bpmSystemId | The IBM Business Automation Workflow system identifier that uniquely identifies a Workflow Server environment | Required | String |
id | The unique identifier of the activity instance. This identifier results from the concatenation of the value of the processId attribute, the value of the bpmSystemId attribute, and the process instance identifier that was assigned by the IBM Business Automation Workflow runtime. | Required | String |
Attribute | Description | Optional or required | Type |
---|---|---|---|
span-id | The span identifier corresponding to the activity | Required | String |
parent-span-id | The parent span identifier | Optional | String |
trace-id | The trace identifier | Required | String |
Example of an activity summary
{
"version": "1.0.2",
"timestamp": "2018-07-01T06:23:08.095-07:00",
"bpmCellName": "PCCell1",
"bpmSystemId": "5de24de3-6984-4a02-82b9-2696c6f1b7c3",
"type": "scriptTask",
"name": "Linked Script Task",
"activityId": "7bf773a7-2856-43f0-82c0-3ab53f318789",
"activityVersionId": "2064.090b62c2-66b8-4e86-8da0-38eb409ef306",
"id": "b0279d9d-4286-4196-b273-0e2fb953f64b.5de24de3-6984-4a02-82b9-2696c6f1b7c3.936-34.42",
"trace-id": "d80cf208-d15f-43ce-a22c-7996cf1399fa",
"span-id": "dda9662471079ab3",
"processApplicationId": "085b1c62-5be1-4fc1-adf2-7ed44445e0a0",
"processApplicationVersionId": "2064.090b62c2-66b8-4e86-8da0-38eb409ef306",
"processApplicationName": "Extreme Tracking",
"processApplicationSnapshotName": "v1.0.4",
"processId": "b0279d9d-4286-4196-b273-0e2fb953f64b",
"processVersionId": "2064.090b62c2-66b8-4e86-8da0-38eb409ef306",
"processInstanceId": "b0279d9d-4286-4196-b273-0e2fb953f64b.5de24de3-6984-4a02-82b9-2696c6f1b7c3.936",
"shortProcessInstanceId": "936",
"processSnapshotName": "v1.0.4",
"processName": "Extreme Tracking Process",
"state": "Completed",
"startTime": "2018-07-01T06:23:08.079-07:00",
"completedTime": "2018-07-01T06:23:08.095-07:00",
"duration": 16,
"data": {
"XTGPRE": {
"@ids": {
"trackingGroupId": "360e3383-1530-47e5-b84f-f83ae7fec1f3",
"trackingGroupVersionId": "2064.090b62c2-66b8-4e86-8da0-38eb409ef306T"
},
"id.string": "PRE LINKED Script Task"
},
"XLinkedAutoTG": {
"@ids": {
"trackingGroupId": "guid:1ec0babf3f0670c6:8671dd3:163bd1a0a90:2128",
"trackingGroupVersionId": "2064.090b62c2-66b8-4e86-8da0-38eb409ef306"
},
"linkedId.string": "LINKED Script Task"
},
"XTGPOST": {
"@ids": {
"trackingGroupId": "413ae9db-6f15-4bb7-b7fe-f919c74a301e",
"trackingGroupVersionId": "2064.090b62c2-66b8-4e86-8da0-38eb409ef306T"
},
"id.string": "POST LINKED Script Task"
}
}
}
Task record format
Attribute | Description | Optional or required | Type |
---|---|---|---|
displayName | The task subject | Required | String |
status | The status of the task | Required | A string constant |
dueDate | The date at which the activity instance is due | Required | A string that contains an ISO8601 date in this format: yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
description | The task narrative | Optional - Present if a narrative is specified | String |
priority | The task priority | Required | A string constant |
atRiskTime | The time at which the task instance is considered at risk | Required | A string that contains an ISO8601 date in this format: yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
completionTime | The date on which the task was closed | Optional - Present if the task is closed | A string that contains an ISO8601 date in this format: yyyy-mm-ddThh:mm:ss.nnn+|-hh:mm |
Business data format
"data": {
"trackingGroupName1": {
"@ids":{
"trackingGroupId": "tracking group ID 1",
"trackingGroupVersionId": "tracking group version ID 1"
},
"trackedFieldName1.trackedFieldType1": trackedFIeldValue1,
"trackedFieldName2.trackedFieldType2": trackedFIeldValue2,
"trackedFieldName3.trackedFieldType3": trackedFIeldValue3,
…
},
"trackingGroupName2": {
"@ids":{
"trackingGroupId": "tracking group ID 2",
"trackingGroupVersionId": "tracking group version ID 2"
},
"trackedFieldName4.trackedFieldType4": trackedFIeldValue4,
"trackedFieldName5.trackedFieldType5": trackedFIeldValue5,
"trackedFieldName6.trackedFieldType6": trackedFIeldValue6,
},
…
}
Each entry of the business data object corresponds to aggregated information for a tracking group. The key is the tracking group name and the value is a JSON object that contains entries for aggregated tracked fields.
Each tracked field in a tracking
group is identified by an entry. The key is the concatenation of the
tracked field name and its type (boolean, decimal, double, float,
integer, string), separated with a dot. The value is the tracked field
value in a format that matches the type. A special key @ids
holds
additional information about the tracking group.