Workflow engine is a software application meant to allocate tasks to participants according to the defined business process. Completing each task, Workflow engine will allocate the next task to another participant with passing the information as output from upstream tasks.
Outline of workflow engine
A workflow engine will interpret events such as definitions described using XPDL, BPEL or BPMN: set of procedural rules. According to a 'Process Definition', it will allocate the tasks to a person, a group of persons, an organization of staff or machines. At that time, the workflow engine will communicate the processing data to them.
Typically, it will also grasp all situations of the process instances. So when a particular task is completed another task will be immediately allocated. In other words, Workflow Engine facilitates the flow of information, tasks and events. But it depends on products what kind of Workflow Pattern (complex routing, splitting or joining) can be interpreted.
You can say that workflow engine is a heart component of a workflow application or a BPM suit. Sometimes, it is called 'BPM Engine'.
The allocated persons or machines are called 'Participant'. One may say that a workflow engine drives steps with communicating with participants. Each participant will require the information to complete the task, add or transform the information and provide the information as input to downstream steps.
The whole of the information handled by each participant is defined as 'Process Data'. And a allocated task to human is sometimes called 'Work Item'.
Competition of functions
- Ability to control Concealment of Process Data
- Ability to monitor load of each participant
- Ability to memorize history of each participant
- Ability to offer to organization of staff and allocate to appropriate participant
- Ability to interpret unstructured flow models
Role of workflow engine in BPM
The workflow engine will ensure the task log of operations: the time to start or complete. The log is not only detecting the operations but also improving the process models though the analysis.
jBPM, OpenWFE, Enhydra Shark.