Pageflows

A pageflow is a specialized version of a normal business process that can be used to provide an animated user interface - a sequence of forms rather than just a single form - for a single work item to the same user.

A pageflow process can also include other activities - such as scripts and conditional logic - which can be used to drive the interaction with the user. Pageflows can also be chained together.

For example, an insurance company process includes a user task to capture claim details from a customer. Instead of a form, the process designer creates a pageflow and associates it with the user task. The pageflow process:

At runtime, when a user opens the Capture Claim Details work item, TIBCO BPM Enterprise runs the Capture Claim pageflow process. The user sees the Get Policy Number and Get Claim Details forms as a continuous dialogue - the second form is displayed as soon as they submit the first one. They do not have to open separate work items from their work list, and there is no possibility of the forms being handled by different users.

When the user submits the Get Claim Details work item, the pageflow process completes and control returns to the main business process, which then proceeds to the Capture Initial Reserve script step.

Note: Unlike a normal business process, a pageflow process is stateless. If the process is not completed in full, any data set earlier in the process is lost. In the example above, if the user chose to cancel the Get Claim Details form, the data entered into the Get Policy Number form and retrieved from the Get Policy Details task would be lost.

Using Sticky Sessions with Pageflows

Pageflows are in-memory processes. When a pageflow is started, the state of the pageflow instance is cached, in memory, on the node where the pageflow is being executed. Subsequent calls to the pageflow must be routed through the same node for successful execution of the pageflow. Therefore, if you are operating in a distributed BPM system, you must use sticky sessions on a load balancer to ensure that all subsequent calls to a pageflow are routed to the same node.