Defining and executing processes using declarative programming language constructs
First Claim
1. A computer-implemented technique for executing a business workflow management process, comprising:
- providing a class to a process engine executing on a processing management server, the process engine and the process class being implemented in an object-oriented programming language, the class having at least one annotation that defines at least a portion of a business workflow management process, the process comprising user interactions with distributed services, wherein the annotation is a run-time-readable, non-executable declarative programming construct that is associated with a first method of the class, and specifies at least one transition rule and a second method of the class associated with the transition rule;
executing the first method and the second method of the process class by parsing the annotation to extract the transition rule;
receiving a message at the process engine from a source external to the process engine;
evaluating, by the process engine, whether the transition rule is satisfied, responsively to the message; and
upon finding that the transition rule is satisfied, invoking the second method by the process engine, so as to generate an output with respect to the message.
3 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented technique for executing a process is provided. The technique includes providing a class having at least one annotation that defines at least a portion of the process. The annotation is a run-time-readable, non-executable declarative programming construct that is associated with a first method of the class, and specifies at least one transition rule and a second method of the class associated with the transition rule. A process engine, which runs on a computer and is not an instance of the class, parses the annotation to extract the transition rule. The process engine receives a message from a source external to the process engine, and evaluates whether the transition rule is satisfied, responsively to the message. Upon finding that the transition rule is satisfied, the process engine invokes the second method, so as to generate an output with respect to the message. Other embodiments are also described.
-
Citations
20 Claims
-
1. A computer-implemented technique for executing a business workflow management process, comprising:
-
providing a class to a process engine executing on a processing management server, the process engine and the process class being implemented in an object-oriented programming language, the class having at least one annotation that defines at least a portion of a business workflow management process, the process comprising user interactions with distributed services, wherein the annotation is a run-time-readable, non-executable declarative programming construct that is associated with a first method of the class, and specifies at least one transition rule and a second method of the class associated with the transition rule; executing the first method and the second method of the process class by parsing the annotation to extract the transition rule; receiving a message at the process engine from a source external to the process engine; evaluating, by the process engine, whether the transition rule is satisfied, responsively to the message; and upon finding that the transition rule is satisfied, invoking the second method by the process engine, so as to generate an output with respect to the message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. Apparatus for executing a process, comprising a process management server that comprises:
-
an input interface for receiving a message from a source external to the process management server; and a processor, which is configured to implement a process engine that is configured to execute a business workflow management process that includes user interactions with distributed services using a code listing, the code listing and the process engine being implemented in an object-oriented programming language, and to load a class that is defined in the listing, the class having at least one annotation that defines at least a portion of the process, wherein the annotation is a run-time-readable, nonexecutable declarative programming construct that is associated with a first method of the class, and specifies at least one transition rule and a second method of the class associated with the transition rule, and wherein the process engine is not an instance of the class, execute the first method and the second method of the class by parsing the annotation to extract the transition rule, evaluate whether the transition rule is satisfied, responsively to the message, and upon finding that the transition rule is satisfied, invoke the second method, so as to generate an output with respect to the message. - View Dependent Claims (14, 15, 16)
-
-
17. A computer software product for executing a process, the product comprising a non-transitory computer-readable medium in which program instructions are stored, which instructions, when read by a computer, cause the computer to execute a business workflow management process that includes user interactions with distributed services using a code listing, and to implement a process engine that loads a class that is defined in the listing, the class having at least one annotation that defines at least a portion of the process, wherein the code listing and the process engine are implemented in an object-oriented programming language, and the annotation is a run-time-readable, non-executable declarative programming construct that is associated with a first method of the class, and specifies at least one transition rule and a second method of the class associated with the transition rule, and wherein the process engine is not an instance of the class;
-
executes the first method and the second method of the class by parsing the annotation to extract the transition rule; receives a message from a source external to the process engine; evaluates whether the transition rule is satisfied, responsively to the message; and upon finding that the transition rule is satisfied, invokes the second method, so as to generate an output with respect to the message. - View Dependent Claims (18, 19, 20)
-
Specification