Book Image

Mastering JBoss Drools 6

By : Mariano De Maio, Mauricio Salatino, Esteban Aliverti
Book Image

Mastering JBoss Drools 6

By: Mariano De Maio, Mauricio Salatino, Esteban Aliverti

Overview of this book

Mastering JBoss Drools 6 will provide you with the knowledge to develop applications involving complex scenarios. You will learn how to use KIE modules to create and execute Business Rules, and how the PHREAK algorithm internally works to drive the Rule Engine decisions. This book will also cover the relationship between Drools and jBPM, which allows you to enrich your applications by using Business Processes. You will be briefly introduced to the concept of complex event processing (Drools CEP) where you will learn how to aggregate and correlate your data based on temporal conditions. You will also learn how to define rules using domain-specific languages, such as spreadsheets, database entries, PMML, and more. Towards the end, this book will take you through the integration of Drools with the Spring and Camel frameworks for more complex applications.
Table of Contents (18 chapters)
Mastering JBoss Drools 6
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

Debugging the left-hand side of a rule


From all the different components of a KIE Base (rules, functions, globals, and so on), the most difficult one to debug/troubleshoot is the left-hand side of a rule.

Unlike the right-hand side of a rule, the left-hand side translation to Java is not straightforward. As we will see in the next chapter, a first glance of this was already introduced in Chapter 1, Rules Declarative Nature—the left-hand side of all the rules in a KIE Base is compiled into a network of nodes (which is also known as the PHREAK network). Inside this network, the relation between a pattern, or even conditions inside a pattern, and the individual rule that it belongs to can't be determined most of the time. A single pattern or condition in the PHREAK network could potentially be related to multiple rules.

While this network of nodes dramatically improves the evaluation time of our rules, it also makes potential errors more obscure and difficult to troubleshoot. The following sections...