External rules

External rules enable you to implement business rules outside of InfoSphere® MDM so that you can plug in your own customized version of a rule. InfoSphere MDM includes sample code for a number of external rules.

As part of the InfoSphere MDM installation process, the external rules in the following external rule projects are configured to be invoked in InfoSphere MDM:
  • CommonExternalRules
  • DefaultExternalRules
  • CustomerEMExternalRules
Externalized classes such as external rules, extension classes, and external validations are divided into three categories:
  • Common rules
  • Domain rules
  • Common rules interacting with domain classes
For the third category of external rules, there are two versions of the implementation classes:
  • A common version class of each rule is found in the com.ibm.mdm.server.extrules.common project.
  • A domain version class of each rule is found in the com.ibm.mdm.server.extrules.default or com.ibm.mdm.server.extrules.em project.
The two versions of the implementation classes are paired, and in most cases, they have the same class names with different package names, meaning that they have different fully qualified class names.

For example, rule 28 is a rule for getting the Grouping Associated object. The domain version of the rule class is com.dwl.tcrm.externalrule.GroupingAssociatedDetail, and is found in the com.ibm.mdm.server.extrules.default project. The common version of the rule class is com.ibm.mdm.common.coreexternalrule.GroupingAssociatedDetail, and is found in the com.ibm.mdm.server.extrules.common project. By default, the InfoSphere MDM installation process configures the application to invoke the domain version of the rule class.

Source code for the external rules has been packaged in the following folders:
  • \Rules\com.ibm.mdm.server.extrules.common
  • \Rules\com.ibm.mdm.server.extrules.default
  • \Rules\com.ibm.mdm.server.extrules.em
Important: The source code of the classes provided in the \Rules folder should never be directly modified as part of any customization process. These rules are provided as samples only. If you must customize a rule, copy the code into a new custom class before implementing any customization.

For additional information, see External rules.



Last updated: 13 Sep 2017