Processing a page flow that is started by a to-do task
Some workflows are performed by only one person, for example, ordering books from an online bookstore. This example shows how to use both the Business Flow Manager and the Human Task Manager APIs are to process this type of workflow.
Before you begin
- Because the next activity in the page flow is made available in
the transaction of the activity that completed, the transactional
behavior of all the human task activities must be set to
participates. - To ensure that the next human task in the page flow can be found at run time, transaction
boundaries are not introduced between tasks. To do this, for example, make sure that any invoke
activities between two human task activities also have the transactional behavior set to
participates, and that they do not use services, such as wait activities, that require a transaction boundary.Note: Business Process Choreographer dynamically introduces non-modeled transaction boundaries as required, for example as deadlock prevention, which affect the behavior of the completeAndClaimSuccessor API. Normally, the API claims the next human task in the page flow, if it is available in the transaction of the activity that completed. However, if a transaction boundary exists, the API request returns without claiming the next task.Moreover, where and how transaction boundaries are added can change in the future, for example after a product update, or after a fix is installed. Therefore, even though you model transaction boundaries by setting the transactional behavior property on activities, adherence to these boundaries is not guaranteed.
- If the page flow is to be used in Business Space, each of the human tasks in the page flow must have the htm.hasNext custom property set to true, except the last human task in the sequence. This task must have the htm.hasNext custom property set to false.
About this task
- Client-side page flows, where the navigation between the different pages is realized using client-side technology, such as a multi-page Lotus® Forms form.
- Server-side page flows are realized using a BPEL process and a set of human tasks that are modeled so that subsequent tasks are assigned to the same person.
- You need to invoke services between steps carried out in a user interface, for example, to retrieve or update data.
- You have auditing requirements that require CEI events to be written after a user interface interaction completes.
In an online bookstore, the purchaser completes a sequence of actions to order a book. This sequence of actions can be implemented as a series of human task activities (to-do tasks). If the purchaser decides to order several books, this is equivalent to claiming the next human task activity. Information about the sequence of tasks is maintained by Business Flow Manager, while the tasks themselves are maintained by Human Task Manager.
Compare this example with the example of a page flow that starts with the BPEL process.