Patent ID: 7386577

Claim:
A method of dynamically determining transaction boundaries in workflow systems, comprising the steps of: defining a process model that includes a plurality of process activities, the plurality of process activities connected together using control links that define the order of execution of the plurality of process activities, said process model being a static design wherein the plurality of process activities and order of execution do not charge during repeated executions of the process model; assigning an attribute to each one of the plurality of process activities that is one of a “requires own”, “participate”, “commit before”, and “commit after”; defining an initial set of transactions by dividing the plurality of process activities into said initial set of transactions using an initial set of transaction boundaries; said attribute that is assigned to a first one of the plurality of process activities being “participate”; repeatedly executing said entire process model including repeatedly executing said plurality of process activities; analyzing properties of each one of said plurality of process activities each time said process model is executed; logging information in an audit log about said properties of each one of said plurality of process activities, said audit log representing an execution history of each one of said plurality of process activities; after repeatedly executing said entire process model, determining that the first one of the plurality of process activities repeatedly fails; after determining that the first one of the plurality of process activities repeated fails, transforming said attribute that is assigned to the first one of the plurality of process activities to “commit after”; in response to said attribute that is assigned to said first one of the plurality of process activities being transformed to “commit after”, dynamically defining a second set of transactions by dividing the plurality of process activities into the second plurality of transactions using a second set of transaction boundaries; said second plurality of transactions determined to be an optimal number of transactions; the process model being unchanged after the plurality of process activities are divided into the second plurality of transactions; new process activities are not added to said process model and none of said plurality of activities is deleted from said process model after the plurality of process activities are divided into the second plurality of transactions; and the order of execution being unchanged after the plurality of process activities are divided into the second plurality of transactions.