Index
A
- accumulate keyword / Accumulate keyword
- action / Rules basic structure
- Agenda / Rule execution life cycle
- Alpha Nodes
- about / Alpha Nodes
- sharing / Alpha Node sharing
- constraint JIT compilation / Constraint JIT compilation
- Apache Camel
- reference link / Knowledge as a Service, Camel integration, Creating our Kie endpoints
- Apache Camel framework
- integrating / Integrating the Apache Camel framework
- Apache Commons Logging
- URL / Drools logs
- Apache Mina
- reference link / Configuring Kie Server
- Apache Open Web Beans
- application
- Drools, integrating with / Integrating with the rest of an application
- Drools, embedding into / Embedding Drools into our application
B
- backward-chaining reasoning
- about / Queries and backward-chaining
- Beta Nodes
- about / Beta Nodes
- sharing / Beta Node sharing
- or between patterns / Or between patterns
- Bitronix / Infinispan implementation
- Boolean operations / Boolean and numeric operations
- business process example
- about / Simple business process example
- KieSession advanced configurations / Kie Session advanced configurations
- Business Process Management (BPM) / Other types of rule groups
- Business Rule Management Systems (BRMS) / Involving more people with Rules using a BRMS
C
- Camel integration
- about / Camel integration
- KIE endpoints, creating / Creating our Kie endpoints
- CDI integration
- about / CDI integration
- CEP-based Rules, declaring
- about / Declaring CEP-based Rules
- events, semantics / Semantics of events
- time-based-events, declaring / Declaring time-based-events in Drools
- temporal operators / Temporal operators
- CEP-based Scenarios
- about / Running CEP-based Scenarios
- stream processing, configuring / Stream processing configuration
- continuous versus discrete rule firing / Continuous versus Discrete rule firing
- session clock, testing / Testing with the session clock
- limitations / Drools CEP limitations
- channels
- about / Channels
- collect from objects / Collect from objects
- collection operations / Collection operations – contains and memberOf
- command pattern
- URL / Stateless Kie Sessions
- complex event
- complex event processing (CEP)
- about / What is complex event processing?
- events and complex events / What are events and complex events?
- CEP-based Rules, declaring / Declaring CEP-based Rules
- Complex Systems / Complex scenario, simple rules
- condition / Rules basic structure
- conditional
- named consequences / Conditional named consequences
- conditional elements / Advanced conditional elements
- consequence / Rules basic structure
- Context & Dependency Injection (CDI)
- Contexts and Dependency Injection (CDI) / CDI integration
- Contexts and Dependency Injection (CDI) global variables / Benefits of using globals
- customer classification decision tree example
- about / Customer classification decision tree example
- header / Header
- DataDictionary / DataDictionary
- model / Model
- CustomKieServerExtension Java class
- init/destroy method / Configuring Kie Server
- createContainer/disposeContainer method / Configuring Kie Server
D
- data
- in working memory, modifying / Modifying the data in the working memory
- data, in working memory
- insert keyword / The insert keyword
- data, in workin memory
- insert memory / The insert keyword
- modify and update keywords / The modify and update keywords
- delete/retract keywords / The delete/retract keywords
- Data Access Object / Adding external interactions with global variables
- Data Mining Group
- URL / PMML
- decision tables
- about / Decision tables, What is a decision table?
- structure / Decision tables structure
- RuleSet section / RuleSet section
- RuleTable section / RuleTable section
- scenario / Coming back to our scenario
- troubleshooting / Decision table troubleshooting
- enhanced decision tables / Enhanced decision tables
- Declarative Programming / Declarative approach
- declared types
- about / Declared types
- default exposed KIE Server endpoints
- delete/retract keywords / The delete/retract keywords
- dictionary file, DSL
- about / The Dictionary file
- constraints, adding to pattern / Adding constraints to patterns
- Domain Specific Languages
- about / Domain Specific Languages
- dictionary file / The Dictionary file
- rules file / Rules files
- troubleshooting / DSL troubleshooting
- simple scenario / A simple scenario
- don keyword / Adding traits with the don keyword
- DOT language
- URL / Phreak Inspector
- DRL constructs
- URL / The Rule language
- drools / Domain Specific Languages
- Drools
- nested accessors / Nested accessors
- inline casts / Inline casts
- null-safe operators / Null-safe operators
- bugs, reporting / Reporting a bug in Drools
- issues, URL / Reporting a bug in Drools
- unification / Unification
- positional arguments / Positional arguments
- backward reasoning / Backward reasoning in Drools
- Query Element Node / The Query Element Node
- persistence / Persistence and transactions
- architecture considerations / Architecture considerations
- asynchronous, versus synchronous design / Asynchronous versus Synchronous Design
- integrating, with appliaction / Integrating with the rest of an application
- embedding, into application / Embedding Drools into our application
- functionality, extending / Drools and beyond: extending our functionality
- Drools DSL / Domain Specific Languages
- Drools Eclipse plugin / Debugging the right-hand side of a rule
- Drools GitHub repository
- Drools project
- creating / Creating our first Drools project
- Drools Rule Language (DRL) / Using CDI to bootstrap the Rule Engine
- loosely coupled DRLs, creating / Create loosely coupled DRLs
- Drools runtime instances
E
- elements
- logical insertion / Logical insertion of elements
- deviations / Deviations to our deviations
- end template / Rule template structure
- Enterprise Integration Patterns (EIP) / Integrating the Apache Camel framework
- entry-point (EP) nodes / Introducing PHREAK
- Entry-point Node (EP) / Object Type Nodes
- environment
- setting up / Setting up our environment
- event-driven architecture
- about / Event-driven architecture
- split event sources, with entry points / Split event sources with entry points
- sliding windows / Sliding windows
- event-driven architecture (EDA) / Event-driven architecture
- Event Producer / Event-driven architecture
- Event Consumer / Event-driven architecture
- Event Channels / Event-driven architecture
- Event Processing Agents / Event-driven architecture
- event listeners
- about / Event Listeners
- KIE Bases / Event Listeners
- KIE Sessions / Event Listeners
- events, semantics
- about / Semantics of events
- punctual events / Semantics of events
- interval events / Semantics of events
- EXISTS keyword / EXISTS and FORALL keywords
- exists node / The Exists Node
- external interactions
- adding, with global variables / Adding external interactions with global variables
F
- FORALL keyword / EXISTS and FORALL keywords
- from clause / Working memory breakdown: the from clause
- from keyword / Rules not being triggered
G
- Git
- Git project
- globals
- about / Globals
- pattern condition, parameterizing / Globals as a way to parameterize the condition of a pattern
- new information, introducing in LHS / Globals as a way to introduce new information into a session in the LHS
- information, collecting from session / Globals as a way to collect information from a session
- interacting with external systems, in RHS / Globals as a way to interact with external systems in the RHS
- benefits / Benefits of using globals
- global variables
- external interactions, adding / Adding external interactions with global variables
- Graphviz
- URL / Phreak Inspector
H
- H2 database / JPA implementation
I
- Imperative programming
- versus Declarative implementation / Imperative versus Declarative implementation
- inferences / Rule execution chaining
- Infinispan
- URL / Infinispan implementation
- implementing / Infinispan implementation
- inlne casts / Inline casts
- insert keyword / The insert keyword
- integration patterns
- about / Drools and jBPM: integration patterns
- process engine, accesssing from rules / Accessing the process engine from our rules
- process instances, as facts / Process instances as facts
- BPMN2 Business Rule Tasks / BPMN2 Business Rule Tasks
J
- Java Message Service (JMS) queue / Event-driven architecture
- jBPM / Other types of rule groups
- jBPM6
- books, URL / jBPM – the process engine
- JMSClientExampleTest / Default exposed Kie Server endpoints
- JPA
- implementing / JPA implementation
- JProfiler
- URL / Drools CEP limitations
K
- kcontext / Domain Specific Languages
- kie*base component / Kie Spring Config example
- kie*batch tag / Kie Spring Config example
- kie*import tag / Kie Spring Config example
- kie*module component / Kie Spring Config example
- kie*releaseId tag / Kie Spring Config example
- kie*session component / Kie Spring Config example
- kie-api artifact / Working with rule templates
- KIE Base components
- about / Kie Base components
- functions / Functions
- custom operators / Custom operators
- custom accumulate functions / Custom accumulate functions
- KieBases / KieModule configurations (KieBases, KieSessions
- KIE Bases / Event Listeners
- KIE Camel
- about / Camel integration
- KieContainer / Understanding the Drools runtime instances
- about / KieModule
- KieContainer classpath
- KieHelper, preferring over / Prefer KieHelper over a KieContainer classpath
- KIE endpoints
- creating / Creating our Kie endpoints
- KIE Execution Server
- about / Kie Execution Server
- KieHelper
- preferring, over KieContainer classpath / Prefer KieHelper over a KieContainer classpath
- over KieContainer classpath / Prefer KieHelper over a KieContainer classpath
- KieModule
- about / Understanding the Drools runtime instances
- Parent / Understanding the Drools runtime instances
- A / Understanding the Drools runtime instances
- B / Understanding the Drools runtime instances
- and KieContainer / KieModule
- rules, loading from classpath / Loading rules from the classpath
- rules loading, Maven artifacts (Kie-CI) used / Loading rules using Maven artifacts (Kie-CI)
- configurations / KieModule configurations (KieBases, KieSessions
- KieModules
- about / KieModule
- KIE runtime components
- about / Kie runtime components
- globals / Globals
- channels / Channels
- queries / Queries
- event listeners / Event Listeners
- KieScanner
- about / KieScanner
- Artifacts version resolution / Artifacts version resolution
- unexpected issues and errors, dealing with / Dealing with unexpected issues and errors, Putting it all together
- KIE Server
- configuring / Configuring Kie Server
- default exposed KIE Server endpoints / Default exposed Kie Server endpoints
- KIE Server Controllers
- about / Kie Execution Server
- KIE Server Extensions
- about / Kie Execution Server
- KieServices (ks) / Loading rules from the classpath
- KieSession
- advanced configurations / Kie Session advanced configurations
- event listeners / Kie Session event listeners
- work items / Kie Session Work Items
- KieSessions / KieModule configurations (KieBases, KieSessions
- KIE Sessions / Event Listeners
- KIE Spring Config example / Kie Spring Config example
- KIE Workbench
- about / Kie Workbench
- KIE Workbench and Process Designer
- KJAR / Embedding Drools into our application
- kmodule.xml file
- Knime
- URL / PMML
- Knowledge Artifacts / Loading rules using Maven artifacts (Kie-CI)
- Knowledge as a Service / Knowledge as a Service
- Knowledge is Everything (KIE) / Understanding the Drools runtime instances
L
- left-hand side, troubleshooting
- about / Left-hand side troubleshooting
- compilation errors / Compilation errors
- runtime errors / Runtime errors
- untriggered rules / Rules not being triggered
- Log4j
- URL / Drools logs
- Logback
- URL / Drools logs
- loops
- controlling / Controlling loops in rules
- model properties, execution control / Model properties execution control
- property reactive beans / Property-reactive beans
M
- matches operators / Regex operations – matches
- Maven project
- Maven versions
- modify keywords / The modify and update keywords
N
- nested accessors / Nested accessors
- network, special nodes
- about / Special nodes in the network
- not node / The Not Node
- exists node / The Exists Node
- accumulate node / The Accumulate Node
- from node / The From Node
- no-loop attribute / Coming back to our scenario
- non matches operators / Regex operations – matches
- NOT keyword / NOT keyword
- not node / The Not Node
- null-safe operators / Null-safe operators
- numeric operations / Boolean and numeric operations
O
- objects
- in memory, decorating / Decorating our objects in memory
- Object Type Nodes (OTN) / Introducing PHREAK, Object Type Nodes
- operations
- about / Special Drools operations
- numeric operations / Boolean and numeric operations
- Boolean operations / Boolean and numeric operations
- regex operations / Regex operations – matches
- collection operations / Collection operations – contains and memberOf
- org.kie.remote*kie-remote-client / Default exposed Kie Server endpoints
P
- persisted data
- extending / Extending persisted data
- PHREAK / Rule engine algorithm
- about / Introducing PHREAK
- Object Type Nodes / Object Type Nodes
- Alpha Nodes / Alpha Nodes
- Beta Nodes / Beta Nodes
- improvements, over RETE / PHREAK improvements over RETE
- URL / Network segmentation
- Inspector / Phreak Inspector
- PHREAK, improvements over RETE
- about / PHREAK improvements over RETE
- delayed rule evaluation / Delayed rule evaluation
- set-oriented propagation / Set-oriented propagation
- network segmentation / Network segmentation
- phreak-inspector module / Phreak Inspector
- Predictive Model Markup Language (PMML)
- about / PMML
- in Drools / PMML in Drools
- customer classification decision tree example / Customer classification decision tree example
- troubleshooting / PMML troubleshooting
- limitations / PMML limitations
- process execution
- projects
- organizing / Organizing our projects
Q
- queries
- about / Queries
- on-demand queries / On-demand queries
- live / Live queries
- Query Element Node / The Query Element Node
R
- RabbitMQ
- reference link / Configuring Kie Server
- regex operations / Regex operations – matches
- REST API, KIE Server
- reference link / Default exposed Kie Server endpoints
- RESTClientExampleTest / Default exposed Kie Server endpoints
- RETE / Introducing PHREAK
- right-hand side, troubleshooting
- about / Right-hand side troubleshooting
- compilation errors / Compilation errors
- runtime errors / Runtime errors
- R language
- URL / PMML
- rule
- writing / Writing and executing our first rule
- executing / Writing and executing our first rule
- language / The Rule language
- loops, controlling / Controlling loops in rules
- rule, left-hand side
- debugging / Debugging the left-hand side of a rule
- troubleshooting / Left-hand side troubleshooting
- event listeners / Event listeners
- Drools logs / Drools logs
- rule, simpler versions / Create simpler versions of a rule
- rule, right-hand side
- about / Debugging the right-hand side of a rule
- troubleshooting / Right-hand side troubleshooting
- compilation errors / Compilation errors
- runtime errors / Runtime errors
- good practices / Right-hand side good practices
- generated Java classes, dumping / Dumping the generated Java classes
- rule atomicity / Atomicity of rules
- rule attributes
- about / Rule attributes
- example / Example – controlling which rules will fire, Example – splitting rule groups with agenda group
- rule groups, types / Other types of rule groups
- rule dates, management / Rule dates management
- rule dates
- management / Rule dates management
- Rule Engine
- bootstrapping, CDI used / Using CDI to bootstrap the Rule Engine
- rule engine
- about / Letting the rule engine do its job
- algorithm / Rule engine algorithm
- uses / When not to use a rule engine
- rule execution
- changing / Rule execution chaining
- life cycle / Rule execution life cycle
- rule execution, life cycle
- about / Rule execution life cycle
- collaboration, with rules / Collaboration with Rules
- people involvement with rules, BRMS used / Involving more people with Rules using a BRMS
- rule groups
- types / Other types of rule groups
- rule inheritance
- about / Rule inheritance
- rules
- about / What are rules?, Why do we use rules?
- basic structure / Rules basic structure
- Declarative Programming / Declarative approach
- independence / Rules independence
- execution chaining / Rule execution chaining
- atomicity of rules / Atomicity of rules
- ordering rules / Ordering of rules
- uses / When should we use rules?
- Complex Systems / Complex scenario, simple rules
- complex applications, examples / Complex scenario, simple rules
- ever-changing scenarios / Ever-changing scenarios
- eShop system, example / Example–eShop system
- deviations, handling / Handling deviations of our rules
- rules file, DSL
- about / Rules files
- rule templates
- about / Rule templates
- structure / Rule template structure
- template header / Rule template structure
- working with / Working with rule templates
- spreadsheet data source / Spreadsheet data source
- array data source / Array data source
- objects data source / Objects data source
- SQL result set data source / SQL result set data source
- Rule Terminal Node / Introducing PHREAK
- Rule Terminal Nodes (RTN) / Object Type Nodes
S
- shed keyword / Removing traits with the shed keyword
- single template section / Rule template structure
- SLF4J
- URL / Drools logs
- sliding windows, event-driven architecture
- length-based / Length-based sliding windows
- time-based / Time-based sliding windows
- declared / Declared sliding windows
- Spring Framework
- reference link / Knowledge as a Service, Spring integration
- about / Introducing Spring Framework
- Spring integration
- about / Spring integration
- KIE Spring Config example / Kie Spring Config example
- state
- persistence / How is state persisted?
- Stateful KIESession
- Stateless KIESession
- StatelessKieSessions / KieModule configurations (KieBases, KieSessions
T
- tags, for KIE Spring contexts configuration
- reference link / Kie Spring Config example
- template / Rule template structure
- temporal operators / Temporal operators
- URL / Temporal operators
- time-based-events
- declaring / Declaring time-based-events in Drools
- TRACE level / Drools logs
- transactions
- managing / Transaction management
U
- update keywords / The modify and update keywords
W
- Web Service / Adding external interactions with global variables
- WELD
- Weld
- reference link / CDI integration
- Wildfly App Server
- reference link / Configuring Kie Server
- WildFly AS
X
- XML commands, KIE Session
- reference link / Creating our Kie endpoints