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

Create loosely coupled DRLs


The same principles that apply to a good system design apply to the resources in a KIE Base and even to the KIE Bases themselves: create tightly-integrated, loosely-coupled assets.

Regarding the Drools Rule Language (DRL) resources (and any other resource that will eventually be converted into DRL, such as Decision Tables, Rule Templates, DSL, and so on), it is always a good idea to keep them separated by some criteria. The criteria could be the input of the rules (that is, all the rules about Customers), the topic of the rules (that is, risk evaluation rules, customer scoring rules, and so on), or any other criteria that makes sense in our current implementation.

If the rules belong to independent modules of our system or even if these modules are not tightly related, it is also considered a good practice to create separate knowledge bases for them. Having separated knowledge bases not only makes our modules easier to test, but it will also render our system more...