Dynamic human workflow task assignment using business rules
First Claim
1. A system for dynamic workflow task assignment using business rules, comprising:
- a repository;
a graphical user interface (GUI) for defining one or more business process execution language (BPEL) process definitions each including a set of tasks and each usable to define a workflow process,wherein the one or more BPEL process definitions are persisted in the repository;
a computer including a workflow process executing thereon, wherein the workflow process generates tasks for assignment to users according to patterns of a workflow defined by a BPEL process definition,wherein the tasks are accessible to the assigned users via a client connected with the system;
a plurality of tasks generated by the workflow process,wherein each task from the plurality of tasks is represented by an object stored in the repository,wherein each task from the plurality of tasks includes one or more stages and a payload that includes real-time data necessary to complete the task, andwherein a payload for a task from the plurality of tasks is modifiable during the workflow process, including in response to execution of any of the plurality of tasks, and the payload as modified travels with the task as the task is assigned to users responsible for completing the task;
a business rules service component architecture (SCA) interface that allows for a plurality of business rules engines to each be selectively made accessible to the workflow process via a plugin,wherein each of the plurality of business rules engines specifies rules that control how tasks should be processed or routed,wherein the plurality of business rules engines specify rules specific to roles within an organization and each of the plurality of business rules engines is associated with a different role within an organization, andwherein each of the plurality of tasks is assigned to one or more roles; and
wherein during execution of the workflow process, the system accesses one or more business rules engines of the plurality of business rules engines plugged into the business rules SCA interface according to one or more roles assigned to a particular task that is being executed to determine processing or routing of the particular task to users, including using rules specified by the one or more business rules engines todetermine the patterns of the workflow,dynamically modify the workflow process based on a payload for the particular task at the time the particular task is executed,access a list of users constructed by a list builder for each of one or more stages of the particular task based on the payload for the particular task at the time the particular task is executed,assign each of the one or more stages of the particular task to an appropriate user from the list of users according to the dynamically modified workflow process, andprovide access to each of the one or more stages to an assigned user via a client connected with the system.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for dynamic human workflow task assignment using business rules. In accordance with an embodiment, a human workflow system is integrated directly with business rules, to determine human task routing patterns, and participants in human tasks. Routing of tasks can also be determined by business rules. In accordance with an embodiment, at business process modeling time the workflow process designer creates human tasks in the process and specifies the business rules that determine the pattern, participant and routing information. These are integrated into the workflow task in the process. The integration of rules into human workflow can be performed using service component architecture, so that other rules engines can be plugged-in as required.
139 Citations
15 Claims
-
1. A system for dynamic workflow task assignment using business rules, comprising:
-
a repository; a graphical user interface (GUI) for defining one or more business process execution language (BPEL) process definitions each including a set of tasks and each usable to define a workflow process, wherein the one or more BPEL process definitions are persisted in the repository; a computer including a workflow process executing thereon, wherein the workflow process generates tasks for assignment to users according to patterns of a workflow defined by a BPEL process definition, wherein the tasks are accessible to the assigned users via a client connected with the system; a plurality of tasks generated by the workflow process, wherein each task from the plurality of tasks is represented by an object stored in the repository, wherein each task from the plurality of tasks includes one or more stages and a payload that includes real-time data necessary to complete the task, and wherein a payload for a task from the plurality of tasks is modifiable during the workflow process, including in response to execution of any of the plurality of tasks, and the payload as modified travels with the task as the task is assigned to users responsible for completing the task; a business rules service component architecture (SCA) interface that allows for a plurality of business rules engines to each be selectively made accessible to the workflow process via a plugin, wherein each of the plurality of business rules engines specifies rules that control how tasks should be processed or routed, wherein the plurality of business rules engines specify rules specific to roles within an organization and each of the plurality of business rules engines is associated with a different role within an organization, and wherein each of the plurality of tasks is assigned to one or more roles; and wherein during execution of the workflow process, the system accesses one or more business rules engines of the plurality of business rules engines plugged into the business rules SCA interface according to one or more roles assigned to a particular task that is being executed to determine processing or routing of the particular task to users, including using rules specified by the one or more business rules engines to determine the patterns of the workflow, dynamically modify the workflow process based on a payload for the particular task at the time the particular task is executed, access a list of users constructed by a list builder for each of one or more stages of the particular task based on the payload for the particular task at the time the particular task is executed, assign each of the one or more stages of the particular task to an appropriate user from the list of users according to the dynamically modified workflow process, and provide access to each of the one or more stages to an assigned user via a client connected with the system. - View Dependent Claims (2, 3, 4, 13)
-
-
5. A method for dynamic workflow task assignment using business rules, comprising:
-
providing a graphical user interface (GUI) for defining one or more business process execution language (BPEL) process definitions each including a set of tasks and each usable to define a workflow process, wherein the one or more BPEL process definitions are persisted in a repository; executing, by a computer including a microprocessor, a workflow process, wherein the workflow process generates tasks for assignment to users according to patterns of a workflow defined by a BPEL process definition, wherein the tasks are accessible to the assigned users via a client connected with the system; parsing a plurality of tasks generated by the workflow process, wherein each task from the plurality of tasks is represented by an object stored in the repository, wherein each task from the plurality of tasks includes one or more stages and a payload that includes real-time data necessary to complete the task, and wherein a payload for a task from the plurality of tasks is modifiable during the workflow process, including in response to execution of any of the plurality of tasks, and the payload as modified travels with the task as the task is assigned to users responsible for completing the task; providing a business rules service component architecture (SCA) interface that allows for a plurality of business rules engines to each be made accessible to the workflow process via a plugin, wherein each of the plurality of business rules engines specifies rules that control how tasks should be processed or routed, wherein the plurality of business rules engines specify rules specific to roles within an organization and each of the plurality of business rules engines is associated with a different role, and wherein each of the plurality of tasks is assigned to one or more roles; and during execution of the workflow process, accessing one or more business rules engines of the plurality of business rules engines plugged into the business rules SCA interface according to one or more roles assigned to a particular task that is being executed to determine processing or routing of the particular task to users, including using rules specified by the one or more business rules engines to determine the patterns of the workflow, dynamically modify the workflow process based on a payload for the particular task at the time the particular task is executed, access a list of users constructed by a list builder for each of one or more stages of the particular task based on the payload for the particular task at the time the particular task is executed, assign each of the one or more stages of the particular task to an appropriate user from the list of users according to the dynamically modified workflow process, and provide access to each of the one or more stages to an assigned user via a client connected with the system. - View Dependent Claims (6, 7, 8, 14)
-
-
9. A non-transitory computer readable storage medium, including instructions stored thereon, which when read and executed by a computer cause the computer to perform the steps comprising:
-
providing a graphical user interface (GUI) for defining one or more business process execution language (BPEL) process definitions each including a set of tasks and each usable to define a workflow process, wherein the one or more BPEL process definitions are persisted in a repository; executing a workflow process, wherein the workflow process generates tasks for assignment to users according to patterns of a workflow defined by a BPEL process definition, wherein the tasks are accessible to the assigned users via a client connected with the system; parsing a plurality of tasks generated by the workflow process, wherein each task from the plurality of tasks is represented by an object stored in the repository, wherein each task from the plurality of tasks includes one or more stages and a payload that includes real-time data necessary to complete the task, and wherein a payload for a task from the plurality of tasks is modifiable during the workflow process, including in response to execution of any of the plurality of tasks, and the payload as modified travels with the task as the task is assigned to users responsible for completing the task; providing a business rules service component architecture (SCA) interface that allows a plurality of business rules engines to each be made accessible to the workflow process via a plugin, wherein each of the plurality of business rules engines specifies rules that control how tasks should be processed or routed, wherein the plurality of business rules engines specify rules specific to roles within an organization and each of the plurality of business rules engines is associated with a different role, and wherein each of the plurality of tasks is assigned to one or more roles; and during execution of the workflow process, accessing one or more business rules engines of the plurality of business rules engines plugged into the business rules SCA interface according to one or more roles assigned to a particular task that is being executed to determine processing or routing of the particular task to users, including using rules specified by the one or more business rules engines to determine the patterns of the workflow, dynamically modify the workflow process based on a payload for the particular task at the time the particular task is executed, access a list of users constructed by a list builder for each of one or more stages of the particular task based on the payload for the particular task at the time the particular task is executed, assign each of the one or more stages of the particular task to an appropriate user from the list of users according to the dynamically modified workflow process, and provide access to each of the one or more stages to an assigned user via a client connected with the system. - View Dependent Claims (10, 11, 12, 15)
-
Specification