DEFINING AND EXECUTING PROCESSES USING DECLARATIVE PROGRAMMING LANGUAGE CONSTRUCTS
First Claim
1. A computer-implemented technique for executing a process, comprising:
- providing a class having at least one annotation that defines at least a portion of the process, 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;
parsing the annotation to extract the transition rule, using a process engine that runs on a computer and is not an instance of the class;
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.
34 Citations
20 Claims
-
1. A computer-implemented technique for executing a process, comprising:
-
providing a class having at least one annotation that defines at least a portion of the process, 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; parsing the annotation to extract the transition rule, using a process engine that runs on a computer and is not an instance of the class; 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 load a class having at least one annotation that defines at least a portion of the process, 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, and wherein the process engine is not an instance of the class, parse 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 tangible computer-readable medium in which program instructions are stored, which instructions, when read by a computer, cause the computer to implement a process engine that loads a class having at least one annotation that defines at least a portion of the process, 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, and wherein the process engine is not an instance of the class;
- parses 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)
- parses the annotation to extract the transition rule;
Specification