I am using jBPM 5.0 and started using jBPM 5.1. From the jBPM console, I can monitor running process instances (e.g., start, signal, delete, terminate, diagram, instance data). For a process flow with intermediate message event(s), I can see the process instance from the console while it is waiting for the message event(s). However, for a synchronous process flow (without any intermediate mesage event(s)), there is little (most likely no) chance to monitor it. If the flow is successfully ended, the processInstanceInfo and other associated tables will NOT have the record(s) - already deleted when the procsss ended. The console server provides REST services, but many of the service interfaces require process instance ids, which are available to outside (e.g., caller) after the StartProcess is done. So, I don't know how to monitor the synchronous process flow. Even asychronous process flow monitoring seems to be pretty static, to me.
I have a use case that I need to see (display) running process flow progress more dynamically. For example, a process flow consists of 7 service tasks, and some of service tasks take time (e.g., calling external services). I want to have a monitoring capability showing where a process instance is running at(e.g., the 3rd service task is being executed, then, the 4th, the 5th, so on).
To my knowledge, jBPM 5 flushes process instance data into database tables when a process instance is ended, suspended or stopped at intermediate events. So, using the database tables is not too promising for this. One thing I can think of is use of the ProcessEventListener. I can use the before/afterProcessStarted, before/afterNodeTriggered events, etc., for example, to store the process instance id, the running node names and other data into a custom database tables. Then, by polling the database tables, a GUI (either enhanced console) can display the real-time process status.
However, if there is built-in jBPM functionalities to support this use case, I'd like to use them.
Any suggestions will be appreciated.