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

Declaring CEP-based Rules


Previously, we've discussed how rules should attempt to be atomic and work together to achieve management of complex scenarios. This is very well aligned with CEP as each different rule can deal with one aspect of the aggregation, composition, or abstraction of other events. They can work together to achieve real-time resolution of very complex event situations. We will still need a few added features of Drools to be able to do so, as follows:

  • How to instruct Drools that an object is to be treated as an event

  • How to compare two events in time

In the next subsections, we will see how to achieve this using the DRL syntax.

Semantics of events

Before we get into the detail about how to define an event, we need to understand a few characteristics of the events. The first characteristic marks a difference between two main types of events—punctual and interval events—as shown in the following:

  • Punctual events: They are the events that occurred at a specific instance in time...