Patent ID: 8090611

Claim:
A system for enabling workflow applications, comprising: at least one computer; a workflow envelope containing at least two objects associated with a workflow process having multiple workflow process tasks defined for the workflow envelope, wherein the at least two objects are of different types, wherein at least one of the multiple workflow process tasks is capable of operating on a dynamic object in the workflow envelope; a workflow metrics store that stores metrics relating to the workflow process with which the workflow envelope is associated; a resource pool having a set of resources that are capable of completing the multiple workflow process tasks of the workflow process; a workflow simulation engine component configured to compute an optimized resource list for completing an identified workflow process task from the multiple workflow process tasks, wherein in computing the optimized resource list, the workflow simulation engine component employs models and historical data stored in the workflow metrics store, and runs multiple scenarios to identify, utilizing a plurality of optimization criteria, a subset of the set of resources from the resource pool that are capable of completing the identified workflow process task from the multiple workflow process tasks of the workflow process with which the workflow envelope is associated, wherein the plurality of optimization criteria includes constraints determined from data provided by the metrics; and a workflow engine component configured to: receive from an application a request for the optimized resource list to complete the identified workflow process task, which operates on one or more objects contained in the workflow envelope, request the workflow simulation engine component to compute the optimized resource list, execute the identified workflow process task employing the identified subset of the set of resources from the resource pool, and store in the workflow metrics store metrics data about the identified workflow process task having been executed.