Summary

With this pattern, a business function is modelled and distributed in a library. It is available as function call in your flow. The module does not need to be connected to any other module.

Implementation

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

 TypeScoreDescription
Knowledge characteristicsUser set or System setUser

Any output of a function call in a flow is made user set and the rule engine can not overwrite it.

Parameters or complex modelParameters

The function call support simple in- and output parameters.

Enhanced by Blueriq Functionality(blue star)(blue star)In- and output parameters are validated and dependencies can be shown.




Maintainability characteristics

It should be possible to quickly make changes to business rules independent of other functionality.

        
Focus on Internal or External UseInternal

Although a function can be exposed as web service, the focus is on internal use.

Low Implementation complexity(blue star)(blue star)(blue star)Functions are easy and lightweight. The only significant complexity gain is due to an additional module in your project, which does not need to be connected in any manner.
Internals invisible (encapsulation)(blue star)(blue star)(blue star)The internals can be viewed if wanted, but when using a function there is no need to do so. You only see the in- and outputs of a function and there is no mental load on the Business Engineer with the internals.
Autonomous(blue star)(blue star)(blue star)The business rules are executed in an own separate profile and do not mingle with the profile of the calling application.
Highly Testable(blue star)(blue star)(blue star)These functions can be unit tested in studio, as well as automated as regression tests that call it as web service.
Highly Reusable(blue star)(blue star)(blue star)You import a function into a project as library, and are ready to use it.
Out of the Box(blue star)(blue star)(blue star)No custom code is needed. 


Deployment characteristics 

Part of Application or Separate Deployment (=deployment)Part of the ApplicationA function is distributed as library, and that model becomes part of the application.

 

 

  • No labels