Distributed order orchestration system with rules engine
First Claim
Patent Images
1. A non-transitory computer-readable medium having instructions stored thereon, when executed by a processor, cause the processor to define and implement a business rule for a distributed order orchestration system, the defining and implementing comprising:
- creating a business rule that controls the operation of an executable orchestration process based on runtime data, the executable orchestration process comprising steps that orchestrate an order;
when a rule set does not already exist, creating a rule set that includes one or more business rules;
adding the business rule to the rule set;
adding the rule set to a rule dictionary associated with the executable orchestration process, the rule dictionary comprising a library of one or more rule sets;
storing the rule dictionary in a process definition table of a database;
receiving an original order;
creating a first instance of the executable orchestration process, and executing the first instance, wherein executing the first instance comprises processing the original order according to a first process flow;
instantiating a rule session based on the rule dictionary;
receiving runtime data including a change request to the original order;
notifying the first instance of the executable orchestration process to stop or pause execution;
creating a second process flow by modifying the first process flow without recoding and re-deployment of code;
creating a second instance of the executable orchestration process and executing the second instance, wherein executing the second instance comprises processing the change request to the original order according to the second process flow; and
applying a rule set of the rule dictionary to the second instance of the executable orchestration process to select a branching condition based on the change request to the original order, including invoking one or more business rules in the rule set as an inline JAVA programming language library, each business rule including a version number.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-readable medium, computer-implemented method, and system are provided. In one embodiment, a business rule is created, and, when a rule set does not already exist, a rule set is already created. The business rule is added to the rule set, and the rule set is added to a rule dictionary of a business process. The rule dictionary is stored in a process definition table.
147 Citations
18 Claims
-
1. A non-transitory computer-readable medium having instructions stored thereon, when executed by a processor, cause the processor to define and implement a business rule for a distributed order orchestration system, the defining and implementing comprising:
-
creating a business rule that controls the operation of an executable orchestration process based on runtime data, the executable orchestration process comprising steps that orchestrate an order; when a rule set does not already exist, creating a rule set that includes one or more business rules;
adding the business rule to the rule set;adding the rule set to a rule dictionary associated with the executable orchestration process, the rule dictionary comprising a library of one or more rule sets; storing the rule dictionary in a process definition table of a database; receiving an original order; creating a first instance of the executable orchestration process, and executing the first instance, wherein executing the first instance comprises processing the original order according to a first process flow; instantiating a rule session based on the rule dictionary; receiving runtime data including a change request to the original order; notifying the first instance of the executable orchestration process to stop or pause execution; creating a second process flow by modifying the first process flow without recoding and re-deployment of code; creating a second instance of the executable orchestration process and executing the second instance, wherein executing the second instance comprises processing the change request to the original order according to the second process flow; and applying a rule set of the rule dictionary to the second instance of the executable orchestration process to select a branching condition based on the change request to the original order, including invoking one or more business rules in the rule set as an inline JAVA programming language library, each business rule including a version number. - View Dependent Claims (2, 3, 14)
-
-
4. A computer-implemented method for defining and implementing a business rule for a distributed order orchestration system, the computer-implemented method comprising:
-
creating, by a processor, a business rule that controls the operation of an executable orchestration process based on runtime data, the executable orchestration process comprising steps that orchestrate an order; when a rule set does not already exist, creating a rule set that includes one or more business rules; adding the business rule to the rule set; adding the rule set to a rule dictionary associated with the executable orchestration process, the rule dictionary comprising a library of one or more rule sets; storing rule dictionary in a process definition table of a database; receiving an original order; creating, by the processor, a first instance of the executable orchestration process and executing the first instance, wherein executing the first instance comprises processing the original order according to a first process flow; instantiating a rule session based on the rule dictionary; receiving runtime data including a change request to the original order; notifying the first instance of the executable orchestration process to stop or pause execution; creating, by the processor, a second process flow by modifying the first process flow without recoding and re-deployment of code; creating, by the processor, a second instance of the executable orchestration process and executing the second instance, wherein executing the second instance comprises processing the change request to the original order according to the second process flow; and applying a rule set of the rule dictionary to the second instance of the executable orchestration process to select a branching condition based on the change request to the original order, including invoking one or more business rules in the rule set as an inline JAVA programming language library, each business rule including a version number. - View Dependent Claims (5, 6, 15)
-
-
7. A non-transitory computer-readable medium having instructions stored thereon, when executed by a processor, cause the processor to implement a business rule in a distributed order orchestration system, the implementing comprising:
-
receiving an original order; creating a first instance of an executable orchestration process and executing the first instance, wherein executing the first instance comprises processing steps that process the original order according to a first process flow; loading a rule dictionary from a database, the rule dictionary comprising a library of one or more rule sets, each rule set including at least one business rule that controls the operation of the executable orchestration process based on runtime data; initiating a rule session based on the loaded rule dictionary; and during an execution of the first instance of the executable orchestration process; receiving runtime data including a change request to the original order, notifying the first instance of the executable orchestration process to stop or pause execution, creating a second process flow by modifying the first process flow without recoding and re-deployment of code; creating a second instance of the executable orchestration process and executing the second instance, wherein executing the second instance comprises processing the change request to the original order according to the second process flow, and applying a rule set of the rule dictionary to the second instance of the executable orchestration process to select a branching condition based on the change request to the original order, including invoking one or more business rules in the rule set as an inline JAVA programming language library, each business rule including a version number. - View Dependent Claims (8, 16)
-
-
9. A computer-implemented method for implementing a business rule in a distributed order orchestration system, the computer-implemented method comprising:
-
receiving an original order; creating, by a processor, a first instance of an executable orchestration process and executing the first instance, wherein executing the first instance comprises processing steps that process the original order according to a first process flow; loading a rule dictionary from a database, the rule dictionary comprising a library of one or more rule sets, each rule set including at least one business rule that controls the operation of the executable orchestration process based on runtime data; initiating a rule session based on the loaded rule dictionary; and during an execution of the first instance of the executable orchestration process; receiving runtime data including a change request to the original order, notifying the first instance of the executable orchestration process to stop or pause execution, creating, by the processor, a second process flow by modifying the first process flow without recoding and re-deployment of code; creating, by the processor, a second instance of the executable orchestration process and executing the second instance, wherein executing the second instance comprises processing the change request to the original order according to the second process flow, and applying a rule set of the rule dictionary to the second instance of the executable orchestration process to select a branching condition based on the change request to the original order, including invoking one or more business rules in the rule set as an inline JAVA programming language library, each business rule including a version number. - View Dependent Claims (10, 17)
-
-
11. A distributed orchestration order system, comprising:
-
a processor; a memory storing one or more modules, when executed by the processor; an order capture module configured to receive an original order; and an orchestration module, wherein the order capture module is further configured to create a business rule that controls the operation of an executable orchestration process based on runtime data, wherein, when a rule set does not already exist, the order capture module is further configured to create a rule set, the rule set comprising one or more business rules, wherein the order capture module is further configured to add the business rule to the rule set, wherein the order capture module is further configured to add the rule set to a rule dictionary of an executable orchestration process, the rule dictionary comprising a library of one or more rule sets, wherein the order capture module is further configured to store the rule dictionary in a process definition table in a database, wherein the orchestration module is configured to create a first instance of the executable orchestration process comprising steps that process the original order according to a first process flow, wherein the orchestration module is further configured to load a rule dictionary from the database, wherein the orchestration module is further configured to initiate a rule session based on the loaded rule dictionary, wherein, during an execution of the first instance of the executable orchestration process; the order capture module is further configured to receive runtime data including a change request, and the orchestration module is further configured to; notify the first instance of the executable orchestration process to stop or pause execution, create a second process flow by modifying the first process flow without recoding and re-deployment of code; create a second instance of the executable orchestration process comprising steps that process the change request to the original order according to the second process flow, and apply a rule set of the rule dictionary to the second instance of the executable orchestration process to select a branching condition based on the change request to the original order, including invoking one or more business rules in the rule set as an inline JAVA programming language library, each business rule including a version number. - View Dependent Claims (12, 13, 18)
-
Specification