Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This pattern uses External rulesrule to call a web service that is defined in another project. The great thing of this pattern is that it is triggered by the rule engine and not the flow.

Image Removed

Image Removed

Note

Business rules

Implementation

This pattern

should be implemented

by using a Function within Blueriq. How to use a Function within Blueriq is described in MyBlueriq.

in Blueriq and not in code. Exceptions could be made because of performance reasons to implement business rules in code. Initially all business rules are implemented in Blueriq. Code is usually used for integration purposes.

Image Added

Image Added

Characteristics

 

In the table below the implementation charateristics by using a Function is shown.

 TypeScoreDescriptionDecision managementRule Engine(star)The rule engine can be usedTruth maintenance(star) Implicit vs. Explicit call(green star)This is an implicit call that is triggered by the rule engine each time when an input value changes.Implementation properties User set vs. System set(green star)

The values that are set by an external rule are system set.

Input and Output parameters vs. Complex model(red star)The implementation of an external rule has access to the complete profile. It is therefore important to document what values are needed by the external rule. You can set what values should trigger the external rule mechanism. Most likely are those identical to the input values. An external rule can be used as default on an attribute, but in general it could change the value of any attribute. There are no additional attributes required in your domain, keeping it clean.Autonomy(green star)Implementation of an external rule is seperated from the calling application.Simple Parameters vs. Complex InstancesSingleThe complete profile can be used as input, but the Action attributes of the External rules are most likely to be the input parameters.Internal vs. ExternalInternalThis type of decoupling is mainly for internal and external use. As the function is in a web service, any party could call it.Maintainability(star)This pattern does not clutter your domain with unnecessary attributes, which is an advantage. A disadvantage is that it is not clear to the business engineer what the external rule exactly does. That is all hidden away in the service. For example, you can not use the dependency function in studio to find which external rule might change its value if it is not placed as default value on the attribute.Reusability(green star) Part of Application vs. Separate Deployment(star)The decoupled function is partly in the model, and partly in code. You should make sure that the code is deployed together with the project.

an External Rule.

Include Page
Decoupling Pattern 6: External Rule Score [Internal]
Decoupling Pattern 6: External Rule Score [Internal]

 

 Out-of-the-box (star)A new external rule that calls a specific web service has to be created by a developer.