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

Stateless and stateful Kie Sessions


As we already know, Kie Sessions come in two different flavors: stateless and stateful. Most of the examples we covered so far involved only stateful Kie Sessions; and there is a good reason why, stateful Kie Sessions are, by far, the most powerful type of sessions supported by Drools.

Before we can decide which kind of session we want to use for a particular situation, we need to understand the differences and similarities between these two type of sessions. In order to do so, we are going to start with the most simple type of session: the stateless Kie Session.

Stateless Kie Sessions

From a development perspective, the type of session we want to use for a particular scenario is not determined by the rules—or any other asset type—we want to use. The type of session is determined either when we define it in the kmodule.xml file or when we programmatically instantiate it in our code. In most of the cases, the same set of assets (.drl files, decision tables...