We can expect the following logical components to be present in any workflow solution -- to varying degrees, depending on the scale of the solution.
Workflow development: Workflow definitions may be developed within a workflow system or using separate development tools. Development may be specific to a workflow system or may use a workflow modeling standard such as BPEL.
Workflow repository: Stores workflow definitions that are ready to be executed. This may include considerations such as versioning and approval of the workflow definitions themselves.
Workflow engine: Executes workflows (instances of a workflow definition), recording transactions and maintaining the state of each workflow that is in progress, including associated data and files.
- [Insert link to University of Washington workflow requirements document]
Permissions, roles, groups, and identities: Determine how end users are authorized to participate in workflows, how administrators are authorized to manage the workflow solution, and how the workflow engine is authorized to interact with other systems. Authorization may be local to the workflow system or managed separately from the workflow system and other systems participating in the workflow solution (enterprise authorization).
User interfaces: Allow different users to participate in workflows (complete workflow steps), monitor workflows in progress, modify workflow definitions, report on workflow data, review workflow definitions as business process documentation, and/or be trained in a workflow. Some of these user interfaces may be made available in an enterprise portal.
System interfaces: Allow the workflow engine to interact with other systems, for example, to trigger events in other systems or to receive information that triggers workflow steps. Interfaces may need to be stateful. Interfaces may need to proxy for users of the workflow system or may require cross-system authentication and authorization of the user.
Management processes: Processes (primarily in IT) that support the workflow solution, such as user administration, support, training, a workflow development lifecycle, and change control.