cancel
Showing results for 
Search instead for 
Did you mean: 

Business Activiti Monitoring

wpetit
Champ in-the-making
Champ in-the-making
Hi,

Is there an application provided with Activiti we can plug on the engine and customize to retrieve business and process datas (BAM) ?

If not, is that planned ?

Thanks in advance for your answer.
14 REPLIES 14

jbarrez
Star Contributor
Star Contributor
No, currently there is nothing done / planned in that area.

We might look into for the 5.13 release, but that will depend on how we prioritise it vs things like the REST API, etc. We still have to decide on that.

That being said, Tijs his book (http://www.manning.com/rademakers2/) does have a chapter on business monitoring where Esper is used.

mmaker1234
Champ in-the-making
Champ in-the-making
Hello,

I do not understand your problem. It is not difficult to write an appropriate solution yourself. For example I wrote a whole Ant-based console for managing deployments and process instances:
   - - -=== WfMC COMMANDS ===- - -
     - - - PACKAGE-RELATED - - -
1. List deployed process definition packages
2. Deploy/Update a process definition package
5. Delete a deployment

     - - - PROCESS-RELATED - - -
6. List process definitions
7. List active processes
8. List completed processes
9. Show process state
a. History of a process
b. Export process varaibles (WRD)
c. Import process varaibles (WRD)
d. Suspend a process instance
e. Resume a process instance
f. Delete (terminate) a process
h. Create and start a new process instance
i. Create and start a new process instance by message name

     - - - ACTIVITY-RELATED - - -
j. List process activities
o. Complete a (human) task
r. List process instance jobs
s. Execute a job
t. List expired jobs
u. Retry an expired job

     - - - OTHER - - -
v. List the active (human) tasks for all processes

X. E(x)it
Probably you are interested in something similar to my commands "9" and "a":
9
[showProcessState] Enter a process instance ID (key):
69101
         [] ExecutionID = 69101; ActivityID = step7; BusinessKey = null; ProcessDefinitionID = MyProcess:22:68454; ProcessInstanceID = 69101
         [] No active tasks found for process ID 69101
         [] Process variables:
         []   var1 = '1'
         []   var2 = 'net…'
         []   var3 = '123'
         []   var4 = '123456'
         []   var5 = 'true'
         []   var6 = 'http://…'
         [] Local variables:
         []   var1 = '1'
         []   var2 = 'net…'
         []   var3 = '123'
         []   var4 = '123456'
         []   var5 = 'true'
         []   var6 = 'http://…'
a
[listProcessHistory] Enter a process instance ID (key):
69101
         [] ProcessInstance ID = 69101; BusinessKey = null; ProcessDefinition ID = MyProcess:22:68454; started by user with ID = null; started at Mon Feb 04 19:25:48 EET 2013 (1359998748603); start activity ID = start; still running (active)
         [] ProcessDefinitionKey = MyProcess; version = 22; name = MyProcess; ID = MyProcess:22:68454; Resource Name = MyProcess.bpmn; Deployment ID = 68451; source_version = '$Revision: 1.2 $'
         []   ActivityInstance ID = 69102; ActivityId = start (name = Start ); ExecutionId = 69101; TaskId = null; type = startEvent; ProcessInstanceId = 69101; ProcessDefinitionId = MyProcess:22:68454; assigned = null; started at 2013-02-04T19:25:48.604+02:00 (1359998748604 ); finished at Mon Feb 04 19:25:48 EET 2013; duration 21 ms
         [] Job ID = 69347; JobType = org.activiti.engine.impl.persistence.entity.MessageEntity; ExecutionId = 69101; ProcessInstanceId = 69101; ProcessDefinitionId = null; DueDate = null; Retries (left) = 0; ExceptionMessage = null
         []         HistoricDetail ID = 69107; Time = Mon Feb 04 19:25:48 EET 2013 (1359998748607 ); Variable name = var1; Variable type = serializable; Variable value = 1; ExecutionId = 69101; ProcessInstanceId = 69101; getActivityInstanceId = 69102; TaskId = null
         [] Job ID = 69347; JobType = org.activiti.engine.impl.persistence.entity.MessageEntity; ExecutionId = 69101; ProcessInstanceId = 69101; ProcessDefinitionId = null; DueDate = null; Retries (left) = 0; ExceptionMessage = null
         []         HistoricDetail ID = 69112; Time = Mon Feb 04 19:25:48 EET 2013 (1359998748608 ); Variable name = var2; Variable type = serializable; Variable value = net…; ExecutionId = 69101; ProcessInstanceId = 69101; getActivityInstanceId = 69102; TaskId = null
         []         HistoricDetail ID = 69114; Time = Mon Feb 04 19:25:48 EET 2013 (1359998748608 ); Variable name = var3; Variable type = long; Variable value = 123; ExecutionId = 69101; ProcessInstanceId = 69101; getActivityInstanceId = 69102; TaskId = null
         [] Job ID = 69347; JobType = org.activiti.engine.impl.persistence.entity.MessageEntity; ExecutionId = 69101; ProcessInstanceId = 69101; ProcessDefinitionId = null; DueDate = null; Retries (left) = 0; ExceptionMessage = null
         []         HistoricDetail ID = 69118; Time = Mon Feb 04 19:25:48 EET 2013 (1359998748609 ); Variable name = var4; Variable type = long; Variable value = 123456; ExecutionId = 69101; ProcessInstanceId = 69101; getActivityInstanceId = 69102; TaskId = null
         [] Job ID = 69347; JobType = org.activiti.engine.impl.persistence.entity.MessageEntity; ExecutionId = 69101; ProcessInstanceId = 69101; ProcessDefinitionId = null; DueDate = null; Retries (left) = 0; ExceptionMessage = null
         []   ActivityInstance ID = 69120; ActivityId = step1 (name = Step One); ExecutionId = 69101; TaskId = null; type = serviceTask; ProcessInstanceId = 69101; ProcessDefinitionId = MyProcess:22:68454; assigned = null; started at 2013-02-04T19:25:49.149+02:00 (1359998749149 ); finished at Mon Feb 04 19:25:49 EET 2013; duration 320 ms
         [] Job ID = 69347; JobType = org.activiti.engine.impl.persistence.entity.MessageEntity; ExecutionId = 69101; ProcessInstanceId = 69101; ProcessDefinitionId = null; DueDate = null; Retries (left) = 0; ExceptionMessage = null
         []   ActivityInstance ID = 69121; ActivityId = step2 (name = Step Two); ExecutionId = 69101; TaskId = null; type = receiveTask; ProcessInstanceId = 69101; ProcessDefinitionId = MyProcess:22:68454; assigned = null; started at 2013-02-04T19:25:49.469+02:00 (1359998749469 ); finished at Mon Feb 04 19:25:50 EET 2013; duration 984 ms
         [] Job ID = 69347; JobType = org.activiti.engine.impl.persistence.entity.MessageEntity; ExecutionId = 69101; ProcessInstanceId = 69101; ProcessDefinitionId = null; DueDate = null; Retries (left) = 0; ExceptionMessage = null
         []   ActivityInstance ID = 69124; ActivityId = step3 (name = Step Three); ExecutionId = 69122; TaskId = null; type = receiveTask; ProcessInstanceId = 69101; ProcessDefinitionId = MyProcess:22:68454; assigned = null; started at 2013-02-04T19:25:50.460+02:00 (1359998750460 ); finished at Mon Feb 04 19:25:56 EET 2013; duration 6325 ms
         []         HistoricDetail ID = 69126; Time = Mon Feb 04 19:25:56 EET 2013 (1359998756734 ); Variable name = var5; Variable type = boolean; Variable value = true; ExecutionId = 69101; ProcessInstanceId = 69101; getActivityInstanceId = null; TaskId = null
         []         HistoricDetail ID = 69128; Time = Mon Feb 04 19:25:56 EET 2013 (1359998756734 ); Variable name = var6; Variable type = string; Variable value = http://…; ExecutionId = 69101; ProcessInstanceId = 69101; getActivityInstanceId = null; TaskId = null
         [] Job ID = 69347; JobType = org.activiti.engine.impl.persistence.entity.MessageEntity; ExecutionId = 69101; ProcessInstanceId = 69101; ProcessDefinitionId = null; DueDate = null; Retries (left) = 0; ExceptionMessage = null
         []   ActivityInstance ID = 69129; ActivityId = step4 (name = Step Four); ExecutionId = 69101; TaskId = null; type = exclusiveGateway; ProcessInstanceId = 69101; ProcessDefinitionId = MyProcess:22:68454; assigned = null; started at 2013-02-04T19:25:56.788+02:00 (1359998756788 ); finished at Mon Feb 04 19:25:56 EET 2013; duration 3 ms
         [] Job ID = 69347; JobType = org.activiti.engine.impl.persistence.entity.MessageEntity; ExecutionId = 69101; ProcessInstanceId = 69101; ProcessDefinitionId = null; DueDate = null; Retries (left) = 0; ExceptionMessage = null
         []   ActivityInstance ID = 69132; ActivityId = step5 (name = Step Five); ExecutionId = 69130; TaskId = null; type = receiveTask; ProcessInstanceId = 69101; ProcessDefinitionId = MyProcess:22:68454; assigned = null; started at 2013-02-04T19:25:56.792+02:00 (1359998756792 ); finished at Mon Feb 04 19:26:00 EET 2013; duration 4119 ms
         []   ActivityInstance ID = 69135; ActivityId = step6 (name = Step Six); ExecutionId = 69133; TaskId = null; type = intermediateTimer; ProcessInstanceId = 69101; ProcessDefinitionId = MyProcess:22:68454; assigned = null; started at 2013-02-04T19:26:00.916+02:00 (1359998760916 ); finished at Mon Feb 18 19:26:01 EET 2013; duration 1209600439 ms

wpetit
Champ in-the-making
Champ in-the-making
Hi,

Thanks for your answers.

Actually, this is more a question than a problem.

I was wondering if there were already existing apps to avoid to develop one from scratch and you answered.

Thanks.

gromar
Champ in-the-making
Champ in-the-making
Is there an application provided with Activiti we can plug on the engine and customize to retrieve business and process datas (BAM) ?

What do you mean by BAM?

I created simple audit trail diagram generator ( but it is not BAM)
http://forums.activiti.org/en/viewtopic.php?f=4&t=5788

wpetit
Champ in-the-making
Champ in-the-making
By BAM (Business Activity Monitoring), I mean a set of tools, application or API that could be plugged to Activiti to get statistics process tasks. For example, the average of execution time for one task or the duration of a process execution, etc.

gromar
Champ in-the-making
Champ in-the-making

jbarrez
Star Contributor
Star Contributor
Can you fix those links?

gromar
Champ in-the-making
Champ in-the-making
Sorry - I renamed a project.

jbarrez
Star Contributor
Star Contributor
No prob. The audit trail looks pretty cool!

Do you plan on packaging it somehow? What are your plans with it?