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.
Type | Score | Description | |
---|---|---|---|
Knowledge characteristics | User set or System set | User | Any output of a function call in a flow is made user set and the rule engine can not overwrite it. |
Parameters or complex model | Parameters | The function call support simple in- and output parameters. | |
Enhanced by Blueriq Functionality | 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 Use | Internal | Although a function can be exposed as web service, the focus is on internal use. |
Low Implementation complexity | 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) | 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 | The business rules are executed in an own separate profile and do not mingle with the profile of the calling application. | ||
Highly Testable | These functions can be unit tested in studio, as well as automated as regression tests that call it as web service. | ||
Highly Reusable | You import a function into a project as library, and are ready to use it. | ||
Out of the Box | No custom code is needed. | ||
Deployment characteristics | Part of Application or Separate Deployment (=deployment) | Part of the Application | A function is distributed as library, and that model becomes part of the application. |
Overview
Content Tools
1 Comment
Bastiaan du Pau
Link this to How to decouple models using functions ?