Try OpenEdge Now
skip to main content
BP Server Developer's Guide
Dynamic work item management using queues : Push and pull mechanisms for work items
 

Push and pull mechanisms for work items

There are two basic mechanisms for work distribution or allocation in a workflow system:
*Push mechanism: A work item is pushed to a single resource.
*Pull mechanism: A resource pulls work items from a common pool of work items.
BP Server supports both the mechanisms. In the Push mechanism, a single user, multiple users, or groups can be specified as performers. The Pull mechanism is supported using work item queues.
A work item queue is a dynamic data structure to which users and groups are added, allowing them to subscribe to work items assigned to the queue. Work item queues are dynamic - you can add, remove or update users and groups to a queue during runtime.
Resources can view the available work items using the work item queue. A resource could be an application, or group of users, or individual users. A work item that is marked as Available, can be seen by multiple resources at the same time. The first resource to change the state of the work item to Assigned has the work item exclusively assigned to it.
A queue may contain one or more dynamic groups, and one or more users. Work items may be available to one or more queues, and may be processed by any member of the group of users associated with these queues. With queue as performer, a work item is available only to the queue but not to any individual performer or group. Any authorized member of a queue can access all the work items available for the queue. This means performers of a work item are not static but can be dynamically associated to a queue.
Business Process Server maintains the list of queues and its dynamic groups in a database. A queue is always dynamic in nature. Each queue may contain multiple dynamic groups and users. A user may belong to one or more queues and also to many static groups. Whenever tasks for a user are requested, all the work items belonging to one or more queues of which the user is a member, are made available. BP Server authenticates the user and also verifies whether the user belongs to the queue before allowing the user to complete the task.
* Work item pull