Best Practices: SOA Application Design Analysis

Human Workflow

If you know that human interaction will be required at some point in a business process – maybe as part of exception handling procedures - then this should be considered early in the project, as part of the design of your business process.

There are three aspects to the design of human tasks that need to be considered:
  • Task definition, such as the input, output and fault data of a task, as well metadata used for managing the life cycle. Examples of metadata are potential owners, administrators, deadlines and escalation actions, priority and data for task presentation.
  • People activity in orchestration flow. Based on BPEL4People, people activity is a first-class citizen in a BPEL process and its definition needs to be incorporated in the process definition so the process engine and the human task system can work together seamlessly. This includes mapping data (including attachments) from the process to the input and output of the human tasks and handling the potential faults resulted from human tasks (for example, rejecting a task because it cannot be completed).
  • Task rendering customization. Because a task needs to be eventually presented to a human, what will be presented to the user in terms of inputs and outputs needs to be defined.
Understanding these aspects early will prevent rework later. To get a better appreciation of ActiveVOS's capabilities, review the Integrating People, Processes and Services paper.