You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

This decoupling pattern places the business function into a separate module which is included in the project as a library. This library can be internal or external. The library includes a flow that decides on a certain question. The result is indicated by the two exits of the flow. As the domain is included in the parent module, the complete profile is shared.

 

Characteristics

TypeDescription
Implicit vs. Explicit callThis is an explicit call. The rule engine does not trigger the function.
User set vs. System set

Can be both. If the flow only uses the rule engine, then all used attributes are system-set.

Input and Output parameters vs. Complex ModelThere are no input parameters, as the complete profile is shared. This means that (part of) the domain of the function should be filled by the application module. You therefore have a complex model, as everything from the function is part of your model.
Simple Parameters vs. Complex InstancesAnything can be used by the function as input, also multiton instances.
Internal vs. ExternalThis type of decoupling is only for internal use.
Automated vs. User InteractionAny user action required can be included in the sub-flow.
Complexity of the Decoupling pattern vs GainThe use of such a sub-flow is straightforward, and not complex.
Out-of-the-box vs. Custom CodeNo custom code required.
Part of Application vs. Separate DeploymentThe decoupled function is part in the model.
MaintainabilityAs the function is included as library, any part of it can be used inside the application module. This means that any change in the library can break the application module. This is noticed late, when a new version of the (external) library is imported into the project.
  • No labels