Database Reference
In-Depth Information
ation is on DB, thus making us aware of possible DB rule storages from various vendors.
Oracle from DB Version 10 g has a rule management package, DBMS_RLMGR , with rather
extensive functionality, although it doesn't mean that our Rule Engine realization will be
also on DB. The avoidance of a vendor's lock-in is not always the primary concern. The
main problem here is the visibility of defined rules, so we must provide a rule with a name
referencing from the Repository to the actual rule storage. The rule reference in the Ser-
vice Repository leads to the actual ruleset in RE storage and, therefore, is part of the
design-time Rules Centralization exercises.
In one possible scenario, Inventory Endpoint using the previously mentioned Message
Header's input parameters will recognize the decision table's name and route object to this
table for rule evaluation.
RE can be used to find XML EP by name during runtime if EP storage is file-based, but
that would not be our first choice.
Interestingly, the requirement to store rulers (rulesets) close to the RE can also be fulfilled
from another direction by moving RE toward the storage. Again, it rests on the realization
of your particular RE. However, depending on the actual complexity of your business
rules, it wouldn't be so difficult to implement a very lightweight, but effective, custom
rule engine if open source engines (Drools for JBoss) are not an option for some infra-
structural reasons. Detailed realization is the subject of a separate discussion, but the basic
idea is quite straightforward:
• Describe the supported rule types: let's say, XPath and Functional.
• XPath-based rules will evaluate the XML object using single Java,
getNodeValue() , or the XDK function, valueOf(xmlDoc,
xpathRule) , where the rule is the XPath expression, (xpathRule) .
• The Functional rule realization is based on the dependency injection, where a
rule's predefined function is executed dynamically for an object's data evaluation.
A returned value is compared with the data stored in the decision table.
Search WWH ::




Custom Search