Jump To Close Expand all Collapse all Table of contents Developing decision services in Red Hat Decision Manager Preface Making open source more inclusive I. Designing a decision service using DMN models Expand section "I. Designing a decision service using DMN models" Collapse section "I. Designing a decision service using DMN models" 1. Decision-authoring assets in Red Hat Decision Manager 2. Red Hat Decision Manager BPMN and DMN modelers Expand section "2. Red Hat Decision Manager BPMN and DMN modelers" Collapse section "2. Red Hat Decision Manager BPMN and DMN modelers" 2.1. Installing the Red Hat Decision Manager VSCode extension bundle 2.2. Configuring the Red Hat Decision Manager standalone editors 3. Creating and executing DMN and BPMN models using Maven 4. Decision Model and Notation (DMN) Expand section "4. Decision Model and Notation (DMN)" Collapse section "4. Decision Model and Notation (DMN)" 4.1. DMN conformance levels 4.2. DMN decision requirements diagram (DRD) components 4.3. Rule expressions in FEEL Expand section "4.3. Rule expressions in FEEL" Collapse section "4.3. Rule expressions in FEEL" 4.3.1. Data types in FEEL 4.3.2. Built-in functions in FEEL Expand section "4.3.2. Built-in functions in FEEL" Collapse section "4.3.2. Built-in functions in FEEL" 4.3.2.1. Conversion functions 4.3.2.2. Boolean functions 4.3.2.3. String functions 4.3.2.4. List functions 4.3.2.5. Numeric functions 4.3.2.6. Date and time functions 4.3.2.7. Range functions 4.3.2.8. Temporal functions 4.3.2.9. Sort functions 4.3.2.10. Context functions 4.3.3. Variable and function names in FEEL 4.4. DMN decision logic in boxed expressions Expand section "4.4. DMN decision logic in boxed expressions" Collapse section "4.4. DMN decision logic in boxed expressions" 4.4.1. DMN decision tables Expand section "4.4.1. DMN decision tables" Collapse section "4.4.1. DMN decision tables" 4.4.1.1. Hit policies in DMN decision tables 4.4.2. Boxed literal expressions 4.4.3. Boxed context expressions 4.4.4. Boxed relation expressions 4.4.5. Boxed function expressions 4.4.6. Boxed invocation expressions 4.4.7. Boxed list expressions 4.5. DMN model example 5. DMN support in Red Hat Decision Manager Expand section "5. DMN support in Red Hat Decision Manager" Collapse section "5. DMN support in Red Hat Decision Manager" 5.1. Configurable DMN properties in Red Hat Decision Manager 5.2. Configurable DMN validation in Red Hat Decision Manager 6. Creating and editing DMN models in Business Central Expand section "6. Creating and editing DMN models in Business Central" Collapse section "6. Creating and editing DMN models in Business Central" 6.1. Defining DMN decision logic in boxed expressions in Business Central 6.2. Creating custom data types for DMN boxed expressions in Business Central 6.3. Included models in DMN files in Business Central Expand section "6.3. Included models in DMN files in Business Central" Collapse section "6.3. Included models in DMN files in Business Central" 6.3.1. Including other DMN models within a DMN file in Business Central 6.3.2. Including PMML models within a DMN file in Business Central 6.4. Creating DMN models with multiple diagrams in Business Central 6.5. DMN model documentation in Business Central 6.6. DMN designer navigation and properties in Business Central 7. DMN model execution Expand section "7. DMN model execution" Collapse section "7. DMN model execution" 7.1. Embedding a DMN call directly in a Java application 7.2. Executing a DMN service using the KIE Server Java client API 7.3. Executing a DMN service using the KIE Server REST API 8. Additional resources II. Designing a decision service using PMML models Expand section "II. Designing a decision service using PMML models" Collapse section "II. Designing a decision service using PMML models" 9. Decision-authoring assets in Red Hat Decision Manager 10. Predictive Model Markup Language (PMML) Expand section "10. Predictive Model Markup Language (PMML)" Collapse section "10. Predictive Model Markup Language (PMML)" 10.1. PMML conformance levels 11. PMML model examples 12. PMML support in Red Hat Decision Manager Expand section "12. PMML support in Red Hat Decision Manager" Collapse section "12. PMML support in Red Hat Decision Manager" 12.1. PMML naming conventions in Red Hat Decision Manager 12.2. PMML extensions in Red Hat Decision Manager 13. PMML model execution Expand section "13. PMML model execution" Collapse section "13. PMML model execution" 13.1. Embedding a PMML call directly in a Java application Expand section "13.1. Embedding a PMML call directly in a Java application" Collapse section "13.1. Embedding a PMML call directly in a Java application" 13.1.1. PMML execution helper class 13.2. Executing a PMML model using KIE Server 14. Additional resources III. Designing a decision service using DRL rules Expand section "III. Designing a decision service using DRL rules" Collapse section "III. Designing a decision service using DRL rules" 15. Decision-authoring assets in Red Hat Decision Manager 16. DRL (Drools Rule Language) rules Expand section "16. DRL (Drools Rule Language) rules" Collapse section "16. DRL (Drools Rule Language) rules" 16.1. Packages in DRL 16.2. Import statements in DRL 16.3. Functions in DRL 16.4. Queries in DRL 16.5. Type declarations and metadata in DRL Expand section "16.5. Type declarations and metadata in DRL" Collapse section "16.5. Type declarations and metadata in DRL" 16.5.1. Type declarations without metadata in DRL 16.5.2. Enumerative type declarations in DRL 16.5.3. Extended type declarations in DRL 16.5.4. Type declarations with metadata in DRL 16.5.5. Metadata tags for fact type and attribute declarations in DRL 16.5.6. Property-change settings and listeners for fact types 16.5.7. Access to DRL declared types in application code 16.6. Global variables in DRL 16.7. Rule attributes in DRL Expand section "16.7. Rule attributes in DRL" Collapse section "16.7. Rule attributes in DRL" 16.7.1. Timer and calendar rule attributes in DRL 16.8. Rule conditions in DRL (WHEN) Expand section "16.8. Rule conditions in DRL (WHEN)" Collapse section "16.8. Rule conditions in DRL (WHEN)" 16.8.1. Patterns and constraints 16.8.2. Bound variables in patterns and constraints 16.8.3. Nested constraints and inline casts 16.8.4. Date literal in constraints 16.8.5. Supported operators in DRL pattern constraints 16.8.6. Operator precedence in DRL pattern constraints 16.8.7. Supported rule condition elements in DRL (keywords) 16.8.8. OOPath syntax with graphs of objects in DRL rule conditions 16.9. Rule actions in DRL (THEN) Expand section "16.9. Rule actions in DRL (THEN)" Collapse section "16.9. Rule actions in DRL (THEN)" 16.9.1. Supported rule action methods in DRL 16.9.2. Other rule action methods from drools and kcontext variables 16.9.3. Advanced rule actions with conditional and named consequences 16.10. Comments in DRL files 16.11. Error messages for DRL troubleshooting 16.12. Rule units in DRL rule sets Expand section "16.12. Rule units in DRL rule sets" Collapse section "16.12. Rule units in DRL rule sets" 16.12.1. Data sources for rule units 16.12.2. Rule unit execution control 16.12.3. Rule unit identity conflicts 17. Data objects Expand section "17. Data objects" Collapse section "17. Data objects" 17.1. Creating data objects 18. Creating DRL rules in Business Central Expand section "18. Creating DRL rules in Business Central" Collapse section "18. Creating DRL rules in Business Central" 18.1. Adding WHEN conditions in DRL rules 18.2. Adding THEN actions in DRL rules 19. Executing rules 20. Other methods for creating and executing DRL rules Expand section "20. Other methods for creating and executing DRL rules" Collapse section "20. Other methods for creating and executing DRL rules" 20.1. Creating and executing DRL rules in Red Hat CodeReady Studio 20.2. Creating and executing DRL rules using Java 20.3. Creating and executing DRL rules using Maven 21. Example decisions in Red Hat Decision Manager for an IDE Expand section "21. Example decisions in Red Hat Decision Manager for an IDE" Collapse section "21. Example decisions in Red Hat Decision Manager for an IDE" 21.1. Importing and executing Red Hat Decision Manager example decisions in an IDE 21.2. Hello World example decisions (basic rules and debugging) 21.3. State example decisions (forward chaining and conflict resolution) 21.4. Fibonacci example decisions (recursion and conflict resolution) 21.5. Pricing example decisions (decision tables) 21.6. Pet Store example decisions (agenda groups, global variables, callbacks, and GUI integration) 21.7. Honest Politician example decisions (truth maintenance and salience) 21.8. Sudoku example decisions (complex pattern matching, callbacks, and GUI integration) 21.9. Conway’s Game of Life example decisions (ruleflow groups and GUI integration) 21.10. House of Doom example decisions (backward chaining and recursion) 22. Performance tuning considerations with DRL 23. Next steps IV. Designing a decision service using guided decision tables Expand section "IV. Designing a decision service using guided decision tables" Collapse section "IV. Designing a decision service using guided decision tables" 24. Decision-authoring assets in Red Hat Decision Manager 25. Guided decision tables 26. Data objects Expand section "26. Data objects" Collapse section "26. Data objects" 26.1. Creating data objects 27. Creating guided decision tables 28. Hit policies for guided decision tables Expand section "28. Hit policies for guided decision tables" Collapse section "28. Hit policies for guided decision tables" 28.1. Hit policy examples: Decision table for discounts on movie tickets Expand section "28.1. Hit policy examples: Decision table for discounts on movie tickets" Collapse section "28.1. Hit policy examples: Decision table for discounts on movie tickets" 28.1.1. Types of guided decision tables 29. Adding columns to guided decision tables 30. Types of columns in guided decision tables Expand section "30. Types of columns in guided decision tables" Collapse section "30. Types of columns in guided decision tables" 30.1. "Add a Condition" Expand section "30.1. "Add a Condition"" Collapse section "30.1. "Add a Condition"" 30.1.1. Inserting an any other value in condition column cells 30.2. "Add a Condition BRL fragment" 30.3. "Add a Metadata column" 30.4. "Add an Action BRL fragment" 30.5. "Add an Attribute column" 30.6. "Delete an existing fact" 30.7. "Execute a Work Item" 30.8. "Set the value of a field" 30.9. "Set the value of a field with a Work Item result" 31. Viewing Rule Name column in guided decision tables 32. Editing or deleting columns in guided decision tables 33. Adding rows and defining rules in guided decision tables 34. Defining enumerations for drop-down lists in rule assets Expand section "34. Defining enumerations for drop-down lists in rule assets" Collapse section "34. Defining enumerations for drop-down lists in rule assets" 34.1. Advanced enumeration options for rule assets 35. Real-time verification and validation of guided decision tables Expand section "35. Real-time verification and validation of guided decision tables" Collapse section "35. Real-time verification and validation of guided decision tables" 35.1. Types of problems in guided decision tables 35.2. Types of notifications 35.3. Disabling verification and validation of guided decision tables 36. Converting a guided decision table to a spreadsheet decision table 37. Executing rules 38. Next steps V. Designing a decision service using spreadsheet decision tables Expand section "V. Designing a decision service using spreadsheet decision tables" Collapse section "V. Designing a decision service using spreadsheet decision tables" 39. Decision-authoring assets in Red Hat Decision Manager 40. Spreadsheet decision tables 41. Data objects Expand section "41. Data objects" Collapse section "41. Data objects" 41.1. Creating data objects 42. Decision table use case 43. Defining spreadsheet decision tables Expand section "43. Defining spreadsheet decision tables" Collapse section "43. Defining spreadsheet decision tables" 43.1. RuleSet definitions 43.2. RuleTable definitions 43.3. Additional rule attributes for RuleSet or RuleTable definitions 44. Uploading spreadsheet decision tables to Business Central 45. Converting an uploaded spreadsheet decision table to a guided decision table in Business Central 46. Executing rules 47. Next steps VI. Designing a decision service using guided rules Expand section "VI. Designing a decision service using guided rules" Collapse section "VI. Designing a decision service using guided rules" 48. Decision-authoring assets in Red Hat Decision Manager 49. Guided rules 50. Data objects Expand section "50. Data objects" Collapse section "50. Data objects" 50.1. Creating data objects 51. Creating guided rules Expand section "51. Creating guided rules" Collapse section "51. Creating guided rules" 51.1. Adding WHEN conditions in guided rules 51.2. Adding THEN actions in guided rules 51.3. Defining enumerations for drop-down lists in rule assets Expand section "51.3. Defining enumerations for drop-down lists in rule assets" Collapse section "51.3. Defining enumerations for drop-down lists in rule assets" 51.3.1. Advanced enumeration options for rule assets 51.4. Adding other rule options Expand section "51.4. Adding other rule options" Collapse section "51.4. Adding other rule options" 51.4.1. Rule attributes 52. Executing rules 53. Next steps VII. Designing a decision service using guided rule templates Expand section "VII. Designing a decision service using guided rule templates" Collapse section "VII. Designing a decision service using guided rule templates" 54. Decision-authoring assets in Red Hat Decision Manager 55. Guided rule templates 56. Data objects Expand section "56. Data objects" Collapse section "56. Data objects" 56.1. Creating data objects 57. Creating guided rule templates Expand section "57. Creating guided rule templates" Collapse section "57. Creating guided rule templates" 57.1. Adding WHEN conditions in guided rule templates 57.2. Adding THEN actions in guided rule templates 57.3. Defining enumerations for drop-down lists in rule assets Expand section "57.3. Defining enumerations for drop-down lists in rule assets" Collapse section "57.3. Defining enumerations for drop-down lists in rule assets" 57.3.1. Advanced enumeration options for rule assets 57.4. Adding other rule options Expand section "57.4. Adding other rule options" Collapse section "57.4. Adding other rule options" 57.4.1. Rule attributes 58. Defining data tables for guided rule templates 59. Executing rules 60. Next steps VIII. Testing a decision service using test scenarios Expand section "VIII. Testing a decision service using test scenarios" Collapse section "VIII. Testing a decision service using test scenarios" 61. Test scenarios 62. Data objects Expand section "62. Data objects" Collapse section "62. Data objects" 62.1. Creating data objects 63. Test scenarios designer in Business Central Expand section "63. Test scenarios designer in Business Central" Collapse section "63. Test scenarios designer in Business Central" 63.1. Importing data objects 63.2. Importing a test scenario 63.3. Saving a test scenario 63.4. Copying a test scenario 63.5. Downloading a test scenario 63.6. Switching between versions of a test scenario 63.7. View or hide the alerts panel 63.8. Contextual menu options 63.9. Global settings for test scenarios Expand section "63.9. Global settings for test scenarios" Collapse section "63.9. Global settings for test scenarios" 63.9.1. Configuring global settings for rule-based test scenarios 63.9.2. Configuring global settings for DMN-based test scenarios 64. Test scenario template Expand section "64. Test scenario template" Collapse section "64. Test scenario template" 64.1. Creating a test scenario template for rule-based test scenarios 64.2. Using aliases in rule-based test scenarios 65. Test template for DMN-based test scenarios Expand section "65. Test template for DMN-based test scenarios" Collapse section "65. Test template for DMN-based test scenarios" 65.1. Creating a test scenario template for DMN-based test scenarios 66. Defining a test scenario 67. Background instance in test scenarios Expand section "67. Background instance in test scenarios" Collapse section "67. Background instance in test scenarios" 67.1. Adding a background data in rule-based test scenarios 67.2. Adding a background data in DMN-based test scenarios 68. Using list and map collections in test scenarios 69. Expression syntax in test scenarios Expand section "69. Expression syntax in test scenarios" Collapse section "69. Expression syntax in test scenarios" 69.1. Expression syntax in rule-based test scenarios 69.2. Expression syntax in DMN-based test scenarios 70. Running the test scenarios 71. Running a test scenario locally 72. Exporting and importing test scenario spreadsheets Expand section "72. Exporting and importing test scenario spreadsheets" Collapse section "72. Exporting and importing test scenario spreadsheets" 72.1. Exporting a test scenario spreadsheet 72.2. Importing a test scenario spreadsheet 73. Coverage reports for test scenarios Expand section "73. Coverage reports for test scenarios" Collapse section "73. Coverage reports for test scenarios" 73.1. Generating coverage reports for rule-based test scenarios 73.2. Generating coverage reports for DMN-based test scenarios 74. Executing a test scenario using the KIE Server REST API 75. Creating test scenario using the sample Mortgages project 76. Test scenarios (legacy) designer in Business Central Expand section "76. Test scenarios (legacy) designer in Business Central" Collapse section "76. Test scenarios (legacy) designer in Business Central" 76.1. Creating and running a test scenario (legacy) Expand section "76.1. Creating and running a test scenario (legacy)" Collapse section "76.1. Creating and running a test scenario (legacy)" 76.1.1. Adding GIVEN facts in test scenarios (legacy) 76.1.2. Adding EXPECT results in test scenarios (legacy) 77. Feature comparison of legacy and new test scenario designer 78. Next steps IX. Decision engine in Red Hat Decision Manager Expand section "IX. Decision engine in Red Hat Decision Manager" Collapse section "IX. Decision engine in Red Hat Decision Manager" 79. Decision engine in Red Hat Decision Manager 80. KIE sessions Expand section "80. KIE sessions" Collapse section "80. KIE sessions" 80.1. Stateless KIE sessions Expand section "80.1. Stateless KIE sessions" Collapse section "80.1. Stateless KIE sessions" 80.1.1. Global variables in stateless KIE sessions 80.2. Stateful KIE sessions 80.3. KIE session pools 81. Inference and truth maintenance in the decision engine Expand section "81. Inference and truth maintenance in the decision engine" Collapse section "81. Inference and truth maintenance in the decision engine" 81.1. Fact equality modes in the decision engine 82. Execution control in the decision engine Expand section "82. Execution control in the decision engine" Collapse section "82. Execution control in the decision engine" 82.1. Salience for rules 82.2. Agenda groups for rules 82.3. Activation groups for rules 82.4. Rule execution modes and thread safety in the decision engine 82.5. Fact propagation modes in the decision engine 82.6. Agenda evaluation filters 82.7. Rule units in DRL rule sets Expand section "82.7. Rule units in DRL rule sets" Collapse section "82.7. Rule units in DRL rule sets" 82.7.1. Data sources for rule units 82.7.2. Rule unit execution control 82.7.3. Rule unit identity conflicts 83. Phreak rule algorithm in the decision engine Expand section "83. Phreak rule algorithm in the decision engine" Collapse section "83. Phreak rule algorithm in the decision engine" 83.1. Rule evaluation in Phreak Expand section "83.1. Rule evaluation in Phreak" Collapse section "83.1. Rule evaluation in Phreak" 83.1.1. Rule evaluation with forward and backward chaining 83.2. Rule base configuration 83.3. Sequential mode in Phreak 84. Complex event processing (CEP) Expand section "84. Complex event processing (CEP)" Collapse section "84. Complex event processing (CEP)" 84.1. Events in complex event processing 84.2. Declaring facts as events 84.3. Metadata tags for events 84.4. Event processing modes in the decision engine Expand section "84.4. Event processing modes in the decision engine" Collapse section "84.4. Event processing modes in the decision engine" 84.4.1. Negative patterns in decision engine stream mode 84.5. Property-change settings and listeners for fact types 84.6. Temporal operators for events 84.7. Session clock implementations in the decision engine 84.8. Event streams and entry points Expand section "84.8. Event streams and entry points" Collapse section "84.8. Event streams and entry points" 84.8.1. Declaring entry points for rule data 84.9. Sliding windows of time or length Expand section "84.9. Sliding windows of time or length" Collapse section "84.9. Sliding windows of time or length" 84.9.1. Declaring sliding windows for rule data 84.10. Memory management for events 85. Decision engine queries and live queries 86. Decision engine event listeners and debug logging Expand section "86. Decision engine event listeners and debug logging" Collapse section "86. Decision engine event listeners and debug logging" 86.1. Configuring a logging utility in the decision engine 87. Example decisions in Red Hat Decision Manager for an IDE Expand section "87. Example decisions in Red Hat Decision Manager for an IDE" Collapse section "87. Example decisions in Red Hat Decision Manager for an IDE" 87.1. Importing and executing Red Hat Decision Manager example decisions in an IDE 87.2. Hello World example decisions (basic rules and debugging) 87.3. State example decisions (forward chaining and conflict resolution) 87.4. Fibonacci example decisions (recursion and conflict resolution) 87.5. Pricing example decisions (decision tables) 87.6. Pet Store example decisions (agenda groups, global variables, callbacks, and GUI integration) 87.7. Honest Politician example decisions (truth maintenance and salience) 87.8. Sudoku example decisions (complex pattern matching, callbacks, and GUI integration) 87.9. Conway’s Game of Life example decisions (ruleflow groups and GUI integration) 87.10. House of Doom example decisions (backward chaining and recursion) 88. Performance tuning considerations with the decision engine 89. Additional resources X. Integrating machine learning with Red Hat Decision Manager Expand section "X. Integrating machine learning with Red Hat Decision Manager" Collapse section "X. Integrating machine learning with Red Hat Decision Manager" 90. Pragmatic AI 91. Credit card fraud dispute use case Expand section "91. Credit card fraud dispute use case" Collapse section "91. Credit card fraud dispute use case" 91.1. Using a PMML model with a DMN model to resolve credit card transaction disputes 91.2. Credit card transaction dispute exercise PMML file 92. Additional resources A. Versioning information B. Contact information Settings Close Language: 日本語 English Language: 日本語 English Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF Language and Page Formatting Options Language: 日本語 English Language: 日本語 English Format: Multi-page Single-page PDF Format: Multi-page Single-page PDF 第92章 Additional resources Getting started with case management Getting started with decision services Designing a decision service using DMN models Getting started with Red Hat Business Optimizer Predictions 2019: Expect A Pragmatic Vision Of AI Previous Next