de.danet.an.workflow.omgcore |
This package defines the core domain of a workflow management
system. It is an adaption of the OMG "Workflow Management Facility
Sepcification, V1.2". We consider the interfaces and classes in
this package (together with the interfaces and classes in the
{@link de.danet.an.workflow.api extended API}) to be useable as a
general Java workflow API, i.e. if there was a JSR for a Java
workflow API, we think the merger of these two packages would be a
good starting point.
We have tried to follow the original specification as close as
possible. However, some conventions used by OMG do not fit in the
Java environment and changes have been made accordingly.
The main differences are:
- OMG separates words in identifiers using underscores.
In the Java environment, words are delimited by using
a capital letter.
- The pattern for relationships has been replaced by
a single access method
RELNAMEs
that returns a collection (the plural "s" has been omitted
from the relation history of interface
{@link de.danet.an.workflow.omgcore.WfExecutionObject WfExecutionObject}
for gramatical reasons).
- The OMG model introduces a class
WfEventAudit .
While the collection of WfEventAudit s may be
considered the result of an audit, we think that individual
items are rather WfAuditEvent s. This conforms
better to the Java naming scheme where event classes end
with "...Event" and the corresponding listener interfaces
with "...Listener".
- We have appended "
...Exception " to the names
of the exceptions, as is usual in Java. Additionally,
we have put the exceptions in a separate sub-package to
avoid naming conflicts when all omgcore classes
are imported with a wildcard import.
- There are no enumeration types in Java. While, in general,
elements of enumeration types can simply be mapped
to constant definitions, we have not followed this approach
in all cases.
- In the Java environment, the states and substates
of an execution object can conveniently be modelled as a
{@link de.danet.an.workflow.omgcore.WfExecutionObject.State class hierarchy}. This provides type safe usage and allows to define some
convenient methods for handling state.
We have, however not changed the following:
- The access method for attributes have not been renamed
getAttribute() . The
getX() /setX(...) pattern has been
introduced by JavaBeans for the configuration of component
properties, not as a general mechanism to access attributes.
The properties used in the OMG model are dynamic data
properties, not configuration options. Therefore, there is
no reason why they should follow the
getX() /setX(...) pattern
The documentation of classes and methods in this package
consists mostly of an abbreviated version of the description
provided by OMG's "Workflow Management Facility Specification,
V1.2". Unless otherwise stated, the description from the
specification applies fully, i.e. you can use the specification to
obtain a detailed understanding of the functionallity
provided.
The following picture shows the complete model.
@since V1.0
|
Java Source File Name | Type | Comment |
AlreadyRunningException.java | Class | This exception is raised by an attempt to start a
de.danet.an.workflow.omgcore.WfProcess WfProcess
that is already running. |
AlreadySuspendedException.java | Class | This exception is raised by an attempt to suspend a
de.danet.an.workflow.omgcore.WfExecutionObject WfExecutionObject that is already suspended. |
CannotChangeRequesterException.java | Class | This exception is raised when a change of a
de.danet.an.workflow.omgcore.WfRequester WfRequester
is requested, but cannot be fulfilled. |
CannotCompleteException.java | Class | This exception is raised by an attempt to complete execution of a
de.danet.an.workflow.omgcore.WfExecutionObject WfExecutionObject
when it cannot be completed yet. |
CannotResumeException.java | Class | This exception is raised by an operation on a
de.danet.an.workflow.omgcore.WfExecutionObject WfExecutionObject
that attempts to resume an object that is not in a proper condition. |
CannotStartException.java | Class | This exception is raised by an attempt to start a
de.danet.an.workflow.omgcore.WfProcess WfProcess
that cannot be started yet. |
CannotStopException.java | Class | This exception is raised by an operation on a
de.danet.an.workflow.omgcore.WfExecutionObject WfExecutionObject
that attempts to stop an object that is not in a proper condition. |
CannotSuspendException.java | Class | This exception is raised by an operation on a
de.danet.an.workflow.omgcore.WfExecutionObject WfExecutionObject
that attempts to suspend an object that is not in the proper condidition. |
HistoryNotAvailableException.java | Class | This exception is raised by a request for event audit history of a
de.danet.an.workflow.omgcore.WfExecutionObject WfExecutionObject
when the history is not available. |
InvalidControlOperationException.java | Class | This exception is raised by an operation on a
de.danet.an.workflow.omgcore.WfExecutionObject WfExecutionObject
that attempts to perform an invalid control operation on that object. |
InvalidDataException.java | Class | This exception is raised by an attempt to update the context of the result
of a
de.danet.an.workflow.omgcore.WfExecutionObject WfExecutionObject
with data that does not match the signature of that object. |
InvalidPerformerException.java | Class | This exception is raised by an attempt to signal a
de.danet.an.workflow.omgcore.WfAuditEvent WfAuditEvent
to a
de.danet.an.workflow.omgcore.WfRequester WfRequester
that was not created by one of the
de.danet.an.workflow.omgcore.WfProcess WfProcesses
associated with the
de.danet.an.workflow.omgcore.WfRequester WfRequester . |
InvalidPriorityException.java | Class | This exception is raised by an attempt to assign an invalid priority to a
de.danet.an.workflow.omgcore.WfExecutionObject WfExecutionObject . |
InvalidRequesterException.java | Class | This exception is raised when a
de.danet.an.workflow.omgcore.WfRequester WfRequester
is being identified that cannot be a "parent" of instances of the process
modell. |
InvalidResourceException.java | Class | This exception is raised by an attempt to assign or remove an invalid
resource. |
InvalidStateException.java | Class | This exception is raised by an attempt to change the state of a
de.danet.an.workflow.omgcore.WfExecutionObject WfExecutionObject
to a state that is not defined for that object. |
NotAssignedException.java | Class | This exception is raised by an attempt to release a
de.danet.an.workflow.omgcore.WfResource WfResource
from an assignment it is not associated with. |
NotEnabledException.java | Class | This exception is raised by an attempt to create a
de.danet.an.workflow.omgcore.WfProcess WfProcess
using a
de.danet.an.workflow.omgcore.WfProcessMgr WfProcessMgr
that is disabled. |
NotRunningException.java | Class | This exception is raised by an operation on a
de.danet.an.workflow.omgcore.WfExecutionObject WfExecutionObject
that attempts to perform a control operation on an object that needs to be
in a running state, but is not. |
NotSuspendedException.java | Class | This exception is raised by an operation on a
de.danet.an.workflow.omgcore.WfExecutionObject WfExecutionObject
that attempts to perform a control operation on an object that needs to be
in a suspended state, but is not. |
ProcessData.java | Interface | ProcessData represents context and result data of
a
de.danet.an.workflow.omgcore.WfExecutionObject WfExecutionObject .
We assume that the names in a NameValueSequence
as defined in the OMG sprecification have to be unique
(it is a reasonable assumption, although the OMG specification does not
state it explicitly). |
ProcessDataInfo.java | Interface | ProcessDataInfo describes the structure of the process
data associated with a
de.danet.an.workflow.omgcore.WfExecutionObject WfExecutionObject .
The OMG specification defines that the data type is specified by
its "IDL type represented by its string name". |
RequesterRequiredException.java | Class | This exception is raised when a valid
de.danet.an.workflow.omgcore.WfRequester WfRequester
is required by the process definition, but one is not supplied. |
ResultNotAvailableException.java | Class | This exception is raised when the requested result of a
de.danet.an.workflow.omgcore.WfExecutionObject WfExecutionObject
is not available (yet). |
SourceNotAvailableException.java | Class | This exception is raised by the request for the source of a
de.danet.an.workflow.omgcore.WfAuditEvent WfAuditEvent
when the source is no longer available. |
TransitionNotAllowedException.java | Class | This exception is raised by an attempt to perform an invalid state
transistion of a
de.danet.an.workflow.omgcore.WfExecutionObject WfExecutionObject . |
UpdateNotAllowedException.java | Class | This exception is raised when it is not allowed to update the process
context. |
WfActivity.java | Interface | WfActivity is a step in a process that is associated,
as part of an aggregation, with a single
de.danet.an.workflow.omgcore.WfProcess WfProcess . |
WfAssignment.java | Interface | A WfAssignment links
de.danet.an.workflow.omgcore.WfActivity WfActivity objects to
de.danet.an.workflow.omgcore.WfResource WfResource objects. |
WfAssignmentAuditEvent.java | Interface | A WfAssignmentAuditEvent provides an audit record of
assignment change information for either the status of an
assignment change for a WfActivity or when an exisiting
assignment is reassigned to another resource. |
WfAuditEvent.java | Interface | A WfAuditEvent provides an audit record of workflow event
information.
It provides information on the source of the event and contains
specific event data. |
WfAuditHandler.java | Interface | The listener interface for receiving an event from a process. |
WfCreateProcessAuditEvent.java | Interface | A WfCreateProcessAuditEvent provides an audit record
with information related to the creation of a process. |
WfDataAuditEvent.java | Interface | A WfDataAuditEvent provides an audit record of either
context
changes of a WfExecutionObject or result changes of a
WfActivity . |
WfExecutionObject.java | Interface | WfExecutionObject is an abstract base interface that defines
common attributes, states, and operations for
de.danet.an.workflow.omgcore.WfProcess WfProcess and
de.danet.an.workflow.omgcore.WfActivity WfActivity . |
WfObject.java | Interface | A tagging interface that all omgcore interfaces must extend. |
WfProcess.java | Interface | WfProcess is the performer of a workflow request. |
WfProcessMgr.java | Interface | A WfProcessMgr represents a template for a specific
workflow process; it is used to create instances of a workflow
process. |
WfRequester.java | Interface | WfRequester is the interface that has a direct concern
with the execution and results of a workflow process. |
WfResource.java | Interface | WfResource is an abstraction that represents a person or
thing that will potentially accept an assignment to an activity. |
WfStateAuditEvent.java | Interface | A WfStateAuditEvent provides an audit record of
information for a WfExecutionObject 's state change. |