ODMRules node
Use the ODMRules node to execute a set of business rules. An ODMRules node can be used to execute rulesets that have XML parameters.
This topic contains the following sections:
Purpose
You can use the ODMRules node in a message flow to execute a set of business rules.
Rulesets define ruleset parameters, which are used to pass data back and forth from the ruleset and the calling application. When executing a ruleset, XPath expressions are used to map parts of the message tree to and from ruleset parameters before and after ruleset execution. You can use the ODMRules node in an application, library, integration service, or REST API.
An ODMRules node executes rules contained in a ruleset using an embedded rule engine. When you deploy a BAR file that contains an appropriately configured ODMRules node, the ruleset is accessed, ready for execution.
You attach an ODM Server policy to an ODMRules node to control how it accesses the ruleset. Depending on the configuration of the ODM Server policy, when the ODMRules node is reached during message flow execution, it either executes a ruleset that is held on a remote Operational Decision Manager Rule Execution Server, or a ruleset archive that was downloaded previously from the ODM Rule Execution Server and stored on the local file system.
The set of rules to be evaluated for messages being processed by the ODMRules node is defined by the Ruleset path property. For information about how to configure this property, see Configuring the ruleset path.
For more information about using ODM business rules with IBM® App Connect Enterprise, see Using Operational Decision Manager (ODM) business rules.
The ODMRules node is contained in the IBM ODM drawer of the palette, and is represented in the IBM App Connect Enterprise Toolkit by the following icon:

Terminals and properties
The ODMRules node terminals are described in the following table.
Terminal | Description |
---|---|
In | The input terminal that accepts a message for processing by the node. |
Out | The output terminal to which the message can be routed when processing completes successfully. |
Failure | The output terminal to which the message is routed if a failure is detected during processing. |
When you put an instance of the ODMRules node into a message flow, you can configure it. For more information, see Configuring a message flow node. The properties of the node are displayed in the Properties view. All mandatory properties for which you must enter a value (those properties that do not have a default value defined) are marked with an asterisk.
The following tables describe the node properties. The column headed M indicates whether the property is mandatory (marked with an asterisk on the panel if you must enter a value when no default is defined); the column headed C indicates whether the property is configurable (you can change the value when you add the message flow to the BAR file to deploy it).
The ODMRules node Description properties are described in the following table.
Property | M | C | Default | Description |
---|---|---|---|---|
Node name | No | No | The node type, ODMRules | The name of the node. |
Short description | No | No | A brief description of the node. | |
Long description | No | No | Text that describes the purpose of the node in the message flow. |
The ODMRules node Basic properties are described in the following table.
Property | M | C | Default | Description | mqsiapplybaroverride command property |
---|---|---|---|---|---|
Policy | Yes | Yes | The name of an ODM Server policy, specified in the form
{PolicyProject}:policyName . The policy can be used either to access the IBM
Operational Decision Manager Rule Execution Server that hosts the ruleset that is to be run by the
node, or to access a locally-stored ruleset archive that was previously downloaded from the ODM RES.
Use the Browse button to select a policy from existing policy projects in the
workspace. |
policyUrl | |
Ruleset path | Yes | Yes | The path to the ruleset, in the form
/RuleApp/RuleAppVersion/ruleset/rulesetVersion , where RuleAppVersion and
rulesetVersion either reference a specific version or specify that the latest
available version should be used. For example:
or or
When
it is first referenced, the If the ruleset is overridden at deployment time, the overridden ruleset must have the same signature as the one discovered during development time. For more information, see Configuring the ruleset path. |
rulesetPath | |
Parameters | Yes | No | A ruleset can contain one or more parameters. Most parameter values are
read-only, except for the Data location, for which you must specify an XPath
expression. The XPath expression specifies the location in the inbound message of the data for each
parameter; for example, $Root . To set the data location by using the XPath Expression Builder, select a parameter, then click the ellipsis (...) button next to the corresponding Data location cell in the table. When you add data location XPath expressions, avoid accessing parent and child nested fields in a message tree, because a change that you make to a nested structure can be overwritten by a change to the parent structure. The direction of the parameters can be |
Property | M | C | Default | Description |
---|---|---|---|---|
Events | No | No | None | Events that you define for the node are displayed on this tab. By default, no
monitoring events are defined on any node in a message flow. Use Add,
Edit, and Delete to create, change, or delete
monitoring events for the node; see Configuring monitoring event sources by using monitoring properties for details. You can enable and disable events that are shown here by selecting or clearing the Enabled check box. |