SAP毕竟是ERP软件的龙头,其工作流作得相当不错,和其业务系统集成得相当好。
SAP的工作流中,WorkItem的类型有很多,其中一种是Dialog WorkItem,用于人工参与的任务。其任务的状态分类,也许值得我们设计工作流引擎参考。如下:
waiting
The work item has been scheduled for its requested start.
A work item has this status
if it already exists but the requested start specified in the workflow definition has not been reached yet.
if it has been set to resubmission Work items in the waiting status are not displayed in the workflow inbox.
ready
The work item has been released for execution and appears in the workflow inbox of all recipients.
reserved
The work item has been received by one of its recipients with the result that its status has changed from ready to reserved.
A work item in the reserved status is then displayed to this recipient only. It is no longer displayed in the workflow inboxes of the other recipients.
In process
The work item is currently being processed by a recipient or in a different mode.
A work item also has this status
if the work item is waiting for its terminating event.
if the user cancelled the method.
if the method was ended with a temporary exception for which no
subsequent steps have been modeled.
The point at which processing is completed cannot be detected by the workflow system in this status. As long as the status of the work item is set to in process, database changes have not been made.
Executed
The work item is awaiting explicit confirmation of its completion.
The work item only has this status if it is necessary to confirm that it has been completed. A work item with executed status can be executed or forwarded several times until it is set to the status done in the Business Workplace.
In this way, groupware components are realized in SAP Business Workflow.
completed
The execution of the work item is completed.
The result of the task represented by the work item is correct, i.e. the result modeled in the workflow definition.
Work items in the completed status are not displayed in the workflow inbox of the Business Workplace.
Logically deleted
Execution of the work item is no longer meaningful or required by the workflow logic.
A work item changes to the logically deleted status in the following way:
Termination in parallel processing branches
When the required number of processing paths has been executed in a fork, the work items in the other paths that have not yet reached the completed status are automatically set to the logically deleted status.
Intervention by an administrator
An administrator can only set a work item to the logically deleted status if it has not yet reached the completed status and is not part of a higher-level workflow.
Work items in the logically deleted status are not displayed in the workflow inbox of the Business Workplace.
A work item with the logically deleted status may have caused database changes or other actions (generate event, send notification). These changes are not canceled automatically
(compensated).
error
Execution of the work item was terminated with an error.