Page 176 -
P. 176
166 M. Adams and N. Russell
TimeOut
A timeout event occurs when a work item has an enabled timer and the deadline set
for that timer is reached. In this case, the workflow engine notifies the service of the
timeout event, and passes to the service a reference to the work item and each of the
other work items that were running in parallel with it. Therefore, separate timeout
rules may be defined (or indeed not defined) for each of the work items affected by
the timeout, including the actual timed out work item itself. Thus, separate actions
may be taken for each affected work item individually.
Externally Triggered Types
Externally triggered exceptions occur, not through the case’s data parameters or
via an engine initiated event, but rather because of the occurrence of an event in
the external environment, outside of the process instance, that has an effect on the
continuing execution of the process. Thus, these events are triggered by a user or
administrator. Depending on the actual event and the context of the case or work
item, a particular exlet will be invoked. There are two types of external exceptions:
CaseExternalTrigger (for case-level events) and ItemExternalTrigger (for item-level
events).
ItemAbort
An ItemAbort event occurs when a work item being handled by an external pro-
gram (as opposed to a human user) reports that the program has aborted before
completion.
ResourceUnavailable
This event is triggered by the Resource Service (cf. Chap. 10) when an attempt has
been made to allocate a work item to a resource and the resource reports that it is
unable to accept the allocation or the allocation cannot otherwise proceed.
ConstraintViolation
This event occurs when a data constraint has been violated for a work item during
its execution (as opposed to pre- or post-execution).
Note that the ItemAbort and ConstraintViolation exception types are supported
by the framework, but are not yet operational, although it is envisaged that they will
be incorporated into YAWL 2.1.