The need to build more and more complex systems is increasing. We're trying to automate all kinds of business processes and implement complex business decisions (for example, insurance-claim adjudication, subscriber enrollment, retail-pricing, promotion, banking-mortgage application, and fraud detection). However, these processes and decisions may not be represented well using traditional programming languages, such as Java or C#. Instead, we should use a specialized technology, such as the Drools platform.
In this chapter we'll look at why there is a need for a platform such as Drools, what advantages and disadvantages it brings, and when or not to use it. We'll briefly look at its history and what modules it consists of.