Human tasks can be created with fairly advanced workflows that go a long way in supporting these requirements. We can have a single task consist of various stages – parallel or sequential-, performed conditionally and by different roles. There is an important limitation: the task definition remains the same and all users share the same task payload and task form (unless of course they are given a custom task user interface).
In this section, we will extend the AssessProposal task definition. This task is to be used in the BPEL process for the assessment of both the generated proposal as well as the hand crafted one. The task can be included twice in the BPEL process or it can be included once in an inline BPEL subprocess that is invoked twice, when the generated proposal is received as well as when the hand crafted proposal is done.
For a handcrafted proposal, the workflow will be considerably more complex.The group of Auditors has demanded that they should be notified of each handcrafted proposal. They cannot influence the proposal directly, but they need to know about it for registration, compliancy and other reasons. The Human Task service provides a participant type called FYI that we use for this.Handcrafted approvals of amounts higher than $1000 have to be approved by the Finance department.
Finally, any handcrafted approval has to undergo a peer review by all Account Managers. At least two have to approve – and they should also form a majority. Proposal over $1500 have also to be approves by a Sales Manager and anything over $3000 requires final approval from the CEO as well.
This figure visualizes the SOA Composite application with the Human Task and the complex workflow that is created in this section.
The sources for the final situation for this section are found in folder AircraftServices-step-two-complex-workflow.