Rule engine for .NET overview

Rule Designer includes a .NET version of the rule engine so that you can deploy Rule Designer rules to a .NET environment as a ruleset DLL. Some limitations apply, including no XML binding.

You can map rulesets that are written using Rule Designer and stored in a ruleset archive and deploy them to a business rule application that embeds the rule engine for .NET.

Limitations

The following limitations are applicable to this release of the rule engine for .NET.

Table 1. Limitations of the rule engine for .NET
Facility Limitation
XML binding Not supported.
Update refresh The refresh modifier, optionally used in Rule Designer with the update instruction, is not directly supported. See Update refresh.

Update refresh

The refresh modifier, optionally used in Rule Designer with the update instruction, is not directly supported in the rule engine for .NET. The refresh modifier is provided in Rule Designer to break the refraction principle while an object is updated. In the rule engine for .NET, the refresh modifier is replaced by the Boolean com.ibm.rules.engine.repeatable rule property which indicates whether a rule is repeatable.

In the Rule Designer Java™ engine, the purpose of an update refresh instruction is to force the post of the rules depending on that modification in the agenda. In the rule engine for .NET, you must use the repeatable property to mark the sets of rules that you want to be repeatable. As soon as an update instruction modifies an object leading to rules that are identified as repeatable, a rule instance is posted to the agenda without the refraction principle being applied.

The Rule Designer update refresh instruction is translated to .NET as a simple update instruction and you must use the com.ibm.rules.engine.repeatable property to identify manually the rules that must be repeated.

If the ruleset contains update refresh instructions and no rule is tagged as repeatable, the GBREM0032E error is raised to remind you to tag the repeatable rules. If you have used the update refresh instruction by mistake, you must change them to update instructions.