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

Persistence and transactions


Drools is usually used in situations where persisting its contents is somewhat impractical. Either we want to execute rules as quickly as possible, and don't want the overhead of having to persist on a database, or we want to keep as much information as possible from the session in memory, so we can reuse it rapidly. The situation with jBPM is a bit different, because we are going to need to use the Kie Session to keep track of the immediate (automatic) steps of a process; then we might have long wait periods while a task is completed or until a signal is received. This scenario implies a sizable need to release resources when not being used; for that, the Kie Session provides persistence mechanisms.

In the following sub sections, we're going to see how Drools and jBPM provide a series of storing mechanisms to release resources from memory and place them into persistence. We will explore:

  • Different persistence configurations we can use

  • How transactions are managed...