| de.danet.an.workflow.spis.ras.ResourceAssignmentService
All known Subclasses: de.danet.an.workflow.assignment.StandardResourceAssignmentService,
ResourceAssignmentService | public interface ResourceAssignmentService (Code) | | This interface defines the resource assignment facility used by the
workflow component. A central design issue for this interface is
the identification of activites.
The
de.danet.an.workflow.omgcore.WfActivity.key"key " method of WfActivity is by
definition only unique within the scope of the containing process
and can thus not easily be used to identify a single activity in a
workflow engine. Even worse, a resource assignment service might
be used by more than one workflow engine.
At this interface, an activity is therefore identified using an
ActivityFinder and an identifier that is unique with
respect to the ActivityFinder . The
ActivityFinder provides both a namespace to allow
different consumers to request resources and a means for the
assignment facility to map the identifier back to an actual
WfActivity object. See the description of
ActivityFinder ActivityFinder for more details.
From the workflow engine's point of view, the resource assignment
service is the only source of objects of type
WfResource and WfAssignment .
Implementations of resource assignment services may be (but need
not be) based on a resource management service as defined in
package
de.danet.an.workflow.spis.rmsde.danet.an.workflow.spis.rms .
|
Method Summary | |
WfResource | asResource(Principal principal) Given a
java.security.Principal principal , return the
workflow resource associated with this principal.
As the workflow core does not have a defined access to a
resource management facility, this mapping functionality must
be brought to the workflow core by the resource assignment
service. | Collection | assignments(ActivityFinder finder, String actId, WfActivity activity) Return the assignments to an activity.
Parameters: actId - a unique (with respect to an ActivityFinder )identifier for the Activity. | Collection | authorizers(WfResource resource) Given a
de.danet.an.workflow.omgcore.WfResourceWfResource object , return the collection of
resources this resource is authorized for.
The resource assignment service usually uses its underlying
resource management facility to implement this method,
returning all groups the resource is a member of and all roles
assigned to the resource. | Collection | autoAssignResources(ActivityFinder finder, String actId, WfActivity activity, Principal principal, Participant participant) Triggers the automatic assignment of resources to an activity that
is about to become ready.
Usually, criteria for the resource selection must be determined within
the resource assignment, e.g. | void | changeAssignment(ActivityFinder finder, String actId, WfActivity activity, WfResource oldResource, WfResource newResource) Change an assignment for enacting an activity. | WfResource | getResource(WfAssignment asnmnt) Get the resource associated with an Assignment. | boolean | isMemberOfWorkItems(WfResource resource, WfAssignment assignment) Find out if a given assignment belongs to the work items assigned to
a particular resource.
Parameters: resource - the resource. Parameters: assignment - the assignment in question. | Collection | knownResources() Returns at least the collection of all the workflow resources
being assigned to activities, but should also return the
additional workflow resources that are known to the resource
assignment service.
If the resource assignment service is based on a resource
management service as defined in package
de.danet.an.workflow.spis.rmsde.danet.an.workflow.spis.rms , it can simply
delegate this call to
de.danet.an.workflow.spis.rms.ResourceManagementService.listResourcesResourceManagementService.listResources .
The workflow engine does not need this method for its
operation; however, it provides a method for accessing this
information as part of the client interface to ease the
implementation of clients. | void | removeAssignment(ActivityFinder finder, String actId, WfActivity activity, WfResource resource) Remove the assignment of a resource to an activity. | WfResource | resourceByKey(String key) Given the key of a WfResource
(obtained with
WfResource.resourceKeyresourceKey() ), return the workflow resource
associated with this key.
For the workflow core, the resource assignment interface is the
only source of WfResource objects. | Collection | workItems(WfResource resource) Return the assignments of a given resource.
Parameters: resource - the resource. |
asResource | WfResource asResource(Principal principal) throws RemoteException, InvalidKeyException(Code) | | Given a
java.security.Principal principal , return the
workflow resource associated with this principal.
As the workflow core does not have a defined access to a
resource management facility, this mapping functionality must
be brought to the workflow core by the resource assignment
service. If the resource assignment service is based on a
resource management service as defined in package
de.danet.an.workflow.spis.rmsde.danet.an.workflow.spis.rms , it can simply
delegate this call to
de.danet.an.workflow.spis.rms.ResourceManagementService.asResourceResourceManagementService.asResource .
The workflow engine does not need this method for its
operation; however, it provides a method for accessing this
information as part of the client interface to ease the
implementation of clients that e.g. want to generate a list of
assignments for the current user. The implementation of this
method by a resource assignment service is therefore
optional. If not implemented, a call to this method must result
in a
java.lang.UnsupportedOperationExceptionUnsupportedOperationException .
Parameters: principal - the principal. a WfResource object corresponding to thegiven principal. throws: InvalidKeyException - if the resource with the given keycan't be found. throws: RemoteException - if a system-level error occurs. since: 1.2 |
authorizers | Collection authorizers(WfResource resource) throws RemoteException(Code) | | Given a
de.danet.an.workflow.omgcore.WfResourceWfResource object , return the collection of
resources this resource is authorized for.
The resource assignment service usually uses its underlying
resource management facility to implement this method,
returning all groups the resource is a member of and all roles
assigned to the resource. Resource assigments facilities may,
however, modify this information e.g. according to configured
delegation rules.
If the resource assignment service is based on a resource
management service as defined in package
de.danet.an.workflow.spis.rmsde.danet.an.workflow.spis.rms , it can simply
delegate this call to
de.danet.an.workflow.spis.rms.ResourceManagementService.authorizersResourceManagementService.authorizers .
The workflow engine does not need this method for its
operation; however, it provides a method for accessing this
information as part of the client interface to ease the
implementation of clients. The implementation of this method by
a resource assignment service is therefore optional. If not
implemented, a call to this method must result in a
java.lang.UnsupportedOperationExceptionUnsupportedOperationException .
Parameters: resource - the resource. a collection of WfResource objects, notincluding resource throws: RemoteException - if a system-level error occurs. since: 1.2 |
autoAssignResources | Collection autoAssignResources(ActivityFinder finder, String actId, WfActivity activity, Principal principal, Participant participant) throws RemoteException(Code) | | Triggers the automatic assignment of resources to an activity that
is about to become ready.
Usually, criteria for the resource selection must be determined within
the resource assignment, e.g. based on the name of the activity,
the process it belongs to etc. In some cases, however, the worflow
component may have some resource selection information available. The
workflow component may have obtained such information e.g. as part
of the process description. If such information is available,
it may optionally be passed to the automatic assignment. The
type and valid values of such information depends totally
on the resource assignment service used and remains undefined
in the scope of this interface.
Parameters: actId - a unique (with respect to an ActivityFinder )identifier for the Activity. The length of actId is guaranteed not to exceed 64. Parameters: finder - the finder used to lookup activities by their finderId s. Parameters: activity - the activity that is about to become ready. Parameters: principal - the creator of the process, may benull . Parameters: participant - the Participant that describes resource selection criteria.The paramter may be null the assigned resources (instances of de.danet.an.workflow.omgcore.WfResourceWfResource ). throws: RemoteException - if a system-level error occurs. See Also: ActivityFinder |
isMemberOfWorkItems | boolean isMemberOfWorkItems(WfResource resource, WfAssignment assignment) throws RemoteException, NoSuchResourceException(Code) | | Find out if a given assignment belongs to the work items assigned to
a particular resource.
Parameters: resource - the resource. Parameters: assignment - the assignment in question. true if the assignment belongs to the work items of the resource . throws: RemoteException - if a system-level error occurs. throws: NoSuchResourceException - if the resource is invalid.As the environment is a concurrent multi user environment, WfResource objects may become invalid. |
knownResources | Collection knownResources() throws RemoteException(Code) | | Returns at least the collection of all the workflow resources
being assigned to activities, but should also return the
additional workflow resources that are known to the resource
assignment service.
If the resource assignment service is based on a resource
management service as defined in package
de.danet.an.workflow.spis.rmsde.danet.an.workflow.spis.rms , it can simply
delegate this call to
de.danet.an.workflow.spis.rms.ResourceManagementService.listResourcesResourceManagementService.listResources .
The workflow engine does not need this method for its
operation; however, it provides a method for accessing this
information as part of the client interface to ease the
implementation of clients. The implementation of this method by
a resource assignment service is therefore optional. If not
implemented, a call to this method must result in a
java.lang.UnsupportedOperationExceptionUnsupportedOperationException .
the collection of resources known to the resourceassignment service (instances of de.danet.an.workflow.omgcore.WfResourceWfResource ). throws: RemoteException - if a system-level error occurs. |
resourceByKey | WfResource resourceByKey(String key) throws InvalidKeyException, RemoteException(Code) | | Given the key of a WfResource
(obtained with
WfResource.resourceKeyresourceKey() ), return the workflow resource
associated with this key.
For the workflow core, the resource assignment interface is the
only source of WfResource objects. While
WfResource.resourceKey resourceKey() provides an
easy mapping of those objects to unique keys, the reverse
mapping can only be provided by the resource management
facility that has created the WfResource
objects.
As the workflow core does not have a defined access to a
resource management facility, this reverse mapping
functionality must be brought to the workflow core by the
resource assignment service. (Which is quite reasonable, as it
has delivered the WfResource objects in the first
place.) If the resource assignment service is based on a
resource management service as defined in package
de.danet.an.workflow.spis.rmsde.danet.an.workflow.spis.rms , it can simply
delegate this call to
de.danet.an.workflow.spis.rms.ResourceManagementService.resourceByKeyResourceManagementService.resourceByKey .
The workflow engine does not need this method for its
operation; however, it provides a method for accessing this
information as part of the client interface to ease the
implementation of clients. The implementation of this method by
a resource assignment service is therefore optional. If not
implemented, a call to this method must result in a
java.lang.UnsupportedOperationExceptionUnsupportedOperationException .
Parameters: key - the key. a WfResource object corresponding to thegiven key. throws: InvalidKeyException - if the resource with the givenkey can't be found. As the environment is a concurrent multiuser environment, WfResource objects (and keys obtainedfrom WfResource objects) may become invalid. throws: RemoteException - if a system-level error occurs. since: 1.2 |
|
|