The WorkflowRepository stores tasks and processes, and the definitions that describe their structure. Tasks and processes in the repository are executed by the server-side workflow engine, up to the point where user interaction is required. Users can select the tasks they wish to work on, modify the respective workflow variables and related content, and finally pass back control to the Workflow Server.
To support user interaction, the Unified API allows to
create and start new processes,
observe the current state of the computation (states and variables of tasks and processes),
observe the progress of the computation (events),
provide rights policies and performers policies for determining authorized users,
determine where user interaction is required (work list management), and
feed back a user's inputs (values, and commands like accept, complete) to the workflow engine.
To perform automated actions, the Unified API allows to
define actions and expressions for execution in the Workflow Server.
For administrative purposes, the Unified API allows to
monitor the running and the escalated processes and tasks,
interrupt processes by suspending or aborting,
upload and download process definitions, and
inspect the structure of a process definition
In the following, these aspects will be described in some more detail. In Section 6.1, “Objects” you will find a description of the basic types and objects stored in the workflow repository, and their relationships. Their lifecycle states are described in the next section, Section 6.2, “Workflow States”. All objects relevant to a user in their current state, such as offered tasks, can be tracked using the work list service described in Section 6.4, “The Work List Service”. Access to task-specific subsets of a workflow's variables is implemented using views, described in Section 6.5, “Workflow Variables and Views”. Read Section 6.6, “The Access Control Service” to learn how to determine the permissions granted to a user. The upload and download of process definitions is covered in Section 6.7, “Managing Process Definitions”. All changes taking place in a workflow repository can be observed as events, as described in Section 6.8, “Events”.
Now, the plugin interfaces (also called service provider interfaces) are described, which you may implement.
Finally, a few examples are given in Section 6.11, “Examples”, and you will find pointers for further reading in Section 6.12, “Guide to the API Documentation”.