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

Chapter 8. Rules' Testing and Troubleshooting

One of the most difficult aspects of working with Drools is probably dealing with errors or unexpected behavior of a rule. The problem is even harder if we are talking about a knowledge base (KB) composed of multiple rules. Add interaction with external systems to the equation and see how the complexity grows even further.

The declarative nature of Drools also presents some unique challenges when testing our code. Unlike classes and functions, rules can't be directly invoked. If we want to test a single rule, we need to recreate the necessary state of the session required by the left-hand side of this rule. The problem is that the same state could also trigger other rules in the same knowledge base. This is the reason why, usually, when testing a knowledge base, we test complete scenarios that may involve multiple rules.

In Drools, there is no magic bullet that allows us to easily test and debug our rules; instead, what we have is a set of good...