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

Organizing our projects


The more complex our rules become, the more important it is to have tests for them and keep them organized as much as possible. In this section, we will discuss how we organized our example projects for keeping our rules, their tests, and related classes in a structure that can be easily maintained.

We recommend this way of structuring the projects so that each of them keeps a very well-defined scope, set of dependencies, and they can be tested independently. You should keep all the application infrastructural code (user interfaces, system integration, services, and so on) in separate Maven modules as well, therefore, the infrastructure can be maintained in separate cycles from the business knowledge that tends to be updated more frequently by the business needs.

The example repository contains a high-level parent project that is composed by each individual chapter modules. Each individual chapter contains the following three main modules:

  • -kjar: This will contain our...