1. They usually have a GUI designer to draw Process Diagrams.
2. The main standards are BPMN and BPEL.
3. BPMN is GUI Notation (backed by a XML). Only used for visual drawing (like UML).
3. BPEL captures Process flow (is only a XML).
4. They usually have a BPM Engine that executes the Process (i.e executes BPEL).
5. Not all BPM Tools support these standards.
6. Individual steps in a Process are usually called Tasks or Activities.
7. These Tasks can be Human Task(requiring a Form Input from UI) OR System Task(sending a message to external system).
8. They have a Process Database – which stores information about Process Flows.
9. You can define input output variables for every Task.
10. For Human Tasks you can visually create a HTML Form, and attach form fields to input variables of task.
11. Roles and Users can be created in BPM Tools.
12. Individual Tasks can be assigned to Roles(or a user).
13. When a user logs in, dashboard will tell him if he has to perform any Human Task. If he clicks on such a Task link, he sees a form(that was defined for that task) – and he can fill in that form, thereby completing his task.
14. Therefore when a Process Runs (i.e Process Instance is created) – Tasks must be completed one after another until the Process Instance reaches its end state.
15. System Tasks are performed automatically.
16. Any data related to Process Instance (like from the Human Task input, or received from external systems) – are stored in the Process Database automatically by BPM Tool.
17. Extensive reporting(and charting) capabilities are available in BPM Tools eg. View Open Tasks, View Running Process Instances, View Process/Task data, View Time taken to complete task/process. This is usually known as BAM – Business Activity Monitoring.