However, working with traditional business rule management systems still requires comprehensive enterprise application development experience. This blog post shows how recent technological advancements bridge the gap between domain experts and business rules developers by empowering business users to adjust, test, and re-deploy business logic without getting programmers involved.
Consider Business Requirements at the Start
Implementing and maintaining business logic in IT systems is often challenging. During short-sightedly executed IT projects, development teams hard-wire business logic and intertwine it with other parts of the application. And even if the business rules are clearly separated from other program logic, translating business specifications into technical requirements for enterprise application development teams is error-prone. In many cases, the actual business requirements only make it into the system after the initial roll-out caused chaos and possibly substantial financial damage.
Consider, for example, a legacy system that is automatically determining car insurance premiums. An audit revealed that the system is infringing on compliance regulations because it determines higher premiums for specific minorities. Unfortunately, the list of compliance violations is long. A first meeting with the responsible engineering manager reveals that changing some variables won't be enough. Instead, the engineers will need to dig into thousands of lines of hard-wired program logic.
We want to avoid similar complications the next time we need to change the system's business logic. To achieve this, it’s common practice to separate business rules from the rest of an application’s program logic by employing a business rules management system, for example, Red Hat's JBoss BRMS. Rules engines allow us to execute rules we have defined in a special-purpose language:
When we have a rules engine integrated into our application, our business rules are well-structured and separated from the rest of our program logic. We know exactly where to look when our business logic needs an update. Typically, business rules are also easier to read then logic that is implemented in general-purpose programing languages like Java.
Still, the code snippet above looks scary and incomprehensible to many. Coding the rules requires extensive enterprise application development experience, which is not in the skill range of the typical domain expert or business analyst.
Empowering domain experts
To empower business users, modern decision management systems, such as Signavio Process Manager with a decision management extension, allow creating complex business decisions as diagrams and decision logic tables using a graphical modeling language like DMN (Decision Model and Notation). DMN is an intuitive language for people who are already used to working with spreadsheets and business process diagrams.
Hint: To get started with DMN, read our white paper An Introduction to Business Decision Management.
Instead of a long program file with business rules, we now define our business logic in a diagram like this:
To check if the decision logic fulfills the requirements, we can create a set of test cases directly in our graphical user interface.
Once we have defined the test cases, we ensure all tests pass and deploy the decision logic to our application - without touching any program code.
Open standards for platform independent business rules management
Because they rely on open standards, modern decision management solutions mitigate another problem of business rules management: with traditional business rules management systems, a common problem is vendor lock-in. Business rule languages are typically proprietary, which means only one specific system can execute the rules you have designed. This makes it hard to migrate from neglected or overpriced technology.
Decision Model and Notation (DMN) recently emerged as an open, vendor-independent and widely adopted standard. For example, the popular business rule technology Drools (also part of Red Hat JBoss BRMS) now supports DMN 1.1. So does the low-code workflow execution platform Signavio Process Governance. You can read a more technical discussion about recent advancements in platform-independent rules execution technology in Thierry Biard's blog post DMN 1.1 XML: from modeling to automation with Drools 7.0.
When implementing IT systems, managing business logic that is likely to change in the future as dedicated business rules helps avoid skyrocketing costs and inability to adjust to changing requirements in the future. Still, working with a traditional business rule management systems requires the technical expertise of experienced enterprise software developers. Accordingly, business requirements cannot be changed without getting a development team involved.
The latest developments within decision and business rule management technologies close the gap between developer-centered rules engines and business user-friendly decision management solutions. This empowers domain experts to change, test and deploy business rules without getting programmers involved.