Versions Compared

Key

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

 

 

 TypeScoreDescription
Knowledge characteristicsUser set or System setUser set

Any value set in code becomes user set, and is not overwritten by the rule engine.

Parameters or complex modelComplex model

The custom service has the complete profile available as input. There can be well defined output variables as service parameters. 

Enhanced by Blueriq Functionality(red star)There is a dependency to the custom service call and model validations on its parameters. There is no support on any business knowledge that is hard coded in the service.




Maintainability characteristics

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

        
Focus on Internal or External UseInternal

The custom code is only called by Blueriq

Low Implementation complexity(green star)You get a new service call which you can simply place in your flow.
Internals invisible (encapsulation)(green star)/(red star)Internals are not visible and/or accessible
of a web service
from Studio. All Studio internals are however fully visible from code.
Autonomous
(green star)
(red star)The business rules are executed
in a
separately,
and no
but side-effects are possible as there are no clear output parameters. In code you could theoretically change all profile values, but
we assume
a best-practice is that only well defined output parameters are changed. Even with this best practice, the score is low as there is no support from the platform for adhering to it. Therefore, an unwanted coupling between code and model becomes likely.
Highly Testable
(green star)
(star)Unit tests can be written in code. the difficulty lies in the hard link to the defined model. When the model changes, the code might break as it is hard-coded what attributes are needed.
Highly Reusable
(green star)
(red star)Once you have the external rule defined, then you can distribute the definition in a library and use it simply on any desired attribute.The domain needs however be very similar, as the code reads the values of certain attributes in a hard coded manner. When different attributes are needed for another application, then the code needs to be changed
As long as the custom code is available, using it is easy
.
Out of the Box(red star)
No custom
Custom code required.


Deployment characteristics 

Part of Application or Separate Deployment (=deployment)
Separate Deployment
Part of applicationThe code
has its own life-cycle and is deployed separately
is packed and published together with the model in practice.