◷ Reading Time: 3 minutes
FlexRule is built with reusability in mind, it is part of the very code design decisions we made from the very beginning. Therefore everything you model (build) in FlexRule is reusable within and across projects.
Reusable Models
Logic documents can call each other in two ways:
- Direct referencing
- Call as a function
Refer to the table below for reusability and sharing rules and logic between different components.
The horizontal row is the callee, and the vertical row is the caller in the table below. For example, if you want to call a Validation rule inside a flow, you should choose Flow from vertical and Validation from horizontal. The cell would be your result (i.e., Validator).
Callee (horizontal) Caller (vertical) | DecisionGraph (DG) | Flow, Workflow (WF) | Natural Language (NL) | Procedure (Tree) | DecisionTable (DT) |
---|---|---|---|---|---|
DecisionGraph | Sub-Graph | Decision Node, Business Knowledge | Decision Node, Business Knowledge | Decision Node, Business Knowledge | Decision Node, Business Knowledge |
Flow, Workflow | DG Action | WF Action | NL Action | Action | DT Action |
Natural Language | * Function * Embedded Model | Function, Embedded Model | Linked NL | Function, Embedded Model | Function, Embedded Model |
Procedure | * Tree Call Node * Function * Embedded Model | * Tree Call Node * Function * Embedded Model | * Tree Call Node * Function * Embedded Model | Linked Tree | * Tree Call Node * Function * Embedded Model |
Decision Table | * Function * Embedded Model | * Function * Embedded Model | * Function * Embedded Model | * Function * Embedded Model | * Function * Embedded Model |
Reusable Terms and Formulas
In FlexRule, you can create a reusable library for your expressions and rule entry by using the following:
- Business Terminologies: Business glossary of terms allows you to provide values, options and expressions for both the Decision table and Natural language rules entry
- Reusable Expressions: Defining boxed expressions allows you to build reusable expressions
- Value expressions
- Formula expressions
Extending Functionality
The good news is that extending the functionality is very simple: