Exception handling for collaborating process models
AssigneeSap SE
InventorAlistair P. Barros
Life of this patent
Estimating the term…
Abstract
Implementations are described for exception handling for collaborating process models. Once an error or other exception is determined during execution of a process model, a collaborating process model is determined to be notified. The collaborating process model and the process model may be executing in a collaborating orchestration engine and in an orchestration engine, respectively. Thus, the collaborating process model may be notified of the exception. Then, the execution of the collaborating process model within the collaborating orchestration engine may be at least partly suspended, and execution of the process model and the collaborating process model may later be resumed once the exception has been resolved.
Claims18
A system including instructions recorded on a computer-readable storage medium and executable by at least one processor, the system comprising:
- an orchestration engine configured to cause the at least one processor to determine an exception during an execution of a task of an instance of a first process model, the exception causing the task to at least temporarily fail to execute to completion;
- an exception analyzer configured to cause the at least one processor to analyze the instance of the first process model to determine an exception effect, including scanning other tasks of the instance of the first process model to determine a potential impact of the exception thereon for inclusion within the exception effect, wherein the scanning includes identifying tasks of the other tasks which are potentially affected and which are configured to send a message to an executing instance of a second process model that is collaborating with the instance of the first process model to achieve a collaborative result;
- an exception handler configured to cause the at least one processor to store the exception effect in an exception repository, and configured to initiate an exception message for the executing instance of the second process model;
- a message handler configured to cause the at least one processor to forward the exception message to the executing instance of the second process model, and
- a transaction resource engine configured to cause the at least one processor to ensure a transactional nature of the exception message with respect to the instances of the first process model and the second process model, including providing a unique exception ID to the exception effect and correlating a response to the exception message from the instance of the second process model with the exception ID to thereby facilitate resolution of the exception and achievement of the collaborative result.
A method comprising:
- determining a collaborating process model instance to be notified of an exception in an execution of a task of a process model instance, the collaborating process model instance and the process model instance executing in a collaborating orchestration engine and an orchestration engine, respectively, wherein the exception causes the task to at least temporarily fail to execute to completion and wherein the collaborating process model instance is collaborating with the process model instance to achieve a collaborative result;
- notifying a collaborating task of the collaborating process model instance of the exception, including sending an exception message to the collaborating task;
- suspending an execution of the collaborating task of the collaborating process model instance within the collaborating orchestration engine, based on the exception message;
- scanning other tasks of both the process model instance and the collaborating process model to determine an exception effect of the exception and/or of the suspension of the collaborating task thereon, wherein the scanning includes identifying tasks of the other tasks which are potentially affected and which are configured to send an inter-process model message;
- storing the exception effect within an exception repository in conjunction with a unique exception ID;
- and
- ensuring a transactional nature of the exception message with respect to the instances of the collaborating process model instance and the process model, including correlating a response to the exception message from the collaborating process model instance with the exception ID to thereby facilitate resolution of the exception and achievement of the collaborative result.
A system including instructions recorded on a computer-readable storage medium and executable by at least one processor, the system comprising:
- an orchestration engine configured to cause at least one processor to execute a collaborating process model instance in collaboration with execution of a process model instance, wherein the collaborating process model instance is collaborating with the process model instance to achieve a collaborative result, and wherein the orchestration engine is configured to:
- receive an exception message related to a suspension of a task of the process model instance, the exception message being related to an exception which causes the task to at least temporarily fail to execute to completion;
- determine that the suspension of the task requires suspension of a collaborating task of the collaborating process model instance;
- suspend the collaborating task of the collaborating process model instance;
- scan other tasks of the collaborating process model instance to determine an exception effect of the suspension of the collaborating task thereon, wherein the scanning includes identifying tasks of the other tasks which are potentially affected and which are configured to send a message to the process model instance;
- store the exception effect within an exception repository;
- send a response exception message to the process model instance in conjunction with a unique exception ID;
- and
- ensure a transactional nature of the exception message with respect to the instances of the collaborating process model and the process model, including correlating the response to the exception message with the unique ID to thereby facilitate resolution of the exception and achievement of the collaborative result.
Dependencies are inferred from the claim text.