Using Operational Decision Manager (ODM) business rules
You can configure message flows in IBM® App Connect Enterprise to execute Operational Decision Manager (ODM) business rules, by using either an ODMRules node or a JavaCompute node.
Business rules are policies, constraints, or required operations that apply to a specific set of business conditions or dependencies. For example, a bank could use a business rule to decide whether a credit check is required for a customer opening a new account; the rule could stipulate that a credit check is required for new customers, but not for existing ones.
When working with IBM Operational Decision Manager, business rules are organized in rulesets and RuleApps. A ruleset is a decision-making program that can be processed by a rule engine to yield a decision, based on input and output parameters. The decision-making logic is implemented as rules, decision tables, and ruleflows. A RuleApp is a deployable management unit for ODM Rule Execution Servers and can contain one or more rulesets.
You can use an ODMRules node in a message flow to execute a set of ODM business rules contained in a ruleset. An ODMRules node can be used to execute rulesets that have XML parameters. You must attach an ODM Server policy to an ODMRules node to control how it accesses a remote ODM Rule Execution Server; for more information, see ODM Server policy (ODMServer).
Alternatively, you can use a JavaCompute node to execute ODM business rules. A JavaCompute can be used to execute rulesets that have either Java or XML parameters. You must attach an ODM Server policy to a JavaCompute node to control how it accesses a remote ODM Rule Execution Server; for more information, see ODM Server policy (ODMServer). You can also use the Process via Operational Decision Manager ruleset wizard to create template Java code that connects to an Operational Decision Manager (ODM) Server.
Rulesets that are used by an integration server can be updated either automatically or manually when they are changed in the ODM Rule Execution Server (RES). You can update the rulesets automatically by configuring properties in an ODMServer policy, as described in Configuring automatic ruleset updates, or manually by using the administration REST API, as described in Configuring manual ruleset updates. This update mechanism applies to rulesets that are loaded from the ODM Rule Execution Server and to rulesets that have been downloaded to the local file system.
When a ruleset is loaded for the first time (whether through an ODMRules node or a JavaCompute node), it must be compiled by the ruleset engine before it can be used. This compilation can take several seconds, particularly for rulesets that contain XML parameters. By default, this compilation takes place when the first message attempts to execute the ruleset, but you can choose to compile the ruleset when it is loaded during flow startup, by setting the Ruleset load strategy property in the ODMServer policy. For more information, see ODM Server policy (ODMServer).
For more information about using ODM business rules, see the following topics:
- Executing ODM business rules by using an ODMRules node
- Configuring the ruleset path
- Using a local ruleset archive
- Executing ODM business rules by using a JavaCompute node
- Creating ODM classes by using the Process via Operational Decision Manager ruleset wizard
- Discovering and applying ruleset updates