Chapter 1. Rules Declarative Nature
We developers have always had to deal with the complex problems in software development and they're not going to get any simpler in the future. Systems such as fraud detection software, shopping carts, activity monitors, credit and finance applications, and generally any type of systems that take isolated pieces of data and make a decision based on this information is a very common thing nowadays. Not only is there a necessity to correlate all this data, but also do it as fast as possible for more data each time, and be able to update the correlation mechanisms in a quick manner.
Great expectations spring from this sort of system, of which one of the most trending right now is the Internet of Things. As more and more devices and pieces of software interconnect, a great necessity arises for the systems that allow complex situations to be detected in a simple collaborative way by more and more people outside the development cycle, and be able to react quickly upon detection of these situations. Traditional programming has strived to adjust to this ever-changing pace of adaptation, through agile methodologies and continuous delivery. However, when it comes to the task of actually creating the software that has to detect complex situations and react to them by making a decision, the necessity for a new paradigm for development arises and that's where business rules and Drools come to our aid.
In this chapter, we will cover a detailed explanation of business rules:
- The definition and structure of business rules
- The importance of business rules to the development life cycle
- The uses of technologies such as Drools and its tooling for the developers and everyone in an organization