top of page
Search
Writer's pictureRyan Johnston

Business Rules and the 1%

I studied expert systems - now called business rules systems - in college, and it was love at first sight. The idea of being able to run a set of rules on a single set of data brought the geek in me to life! Technologies and technological approaches that appeal to geeks, however, aren't necessarily the best in the real world. So it is with many business rules systems.


Today's most popular open-source business rules system is Drools Expert, and it's gained its notoriety in part because of its implementation of an algorithm that allows it to execute a massive number of rules in a very efficient manner. This algorithm is called the Rete algorithm, and you can read up on it here. Unfortunately, Drools Expert isn't terribly user-friendly for non-technical users, as shown by this very simple example rule below:


Figure 1


On the other hand, the Decision Model and Notation (DMN) standard (link) has made business rules accessible to the masses in an easy-to-use, tabular format. Here's an example of a DMN decision table:


Figure 2


As with Drools Expert, Camunda's and Flowable's implementations of DMN are available via the Apache Software Foundation V2 license. Both also provide free (Apache-licensed) modeling tools that can be used via a web browser or - in the case of Camunda - via a desktop application as well.


The problem with DMN as currently implemented? It doesn't use an advanced algorithm and must run rules completely and one at a time. This can be prohibitively slow for very large sets of rules. And this brings us to our reference to the 1% in the title.


No, we're not wading into the world of politics :) ; we're referring to the percentage of business rules users who actually need to execute very large rule sets. First, let's define "very large"... A set of 100 or even 1000 rules isn't large from a computing resources point of view; instead, we're talking about companies that will need to execute multiple thousands of rules on single sets of data in each execution. And who will need to do that? Hedge funds? Maybe. Logistics companies? Maybe. In most cases, however, even those stereotypically data volume-intensive companies won't need the power that Drools Expert provides. This means that the user-friendliness and simplicity of DMN will be more suitable for the vast majority of businesses in the vast majority of cases.


Our recommendation? Avoid expensive, commercial business rules systems and use simple and free (or cost-effective) DMN engines. And if you discover that you do have a use case for the Rete algorithm as mentioned above, you can plug in Drools Expert for that use case alone, avoiding burdening your business users with the need to shoulder that complexity on a day-to-day basis. (And don't spend hundreds of thousands on annual support for a more complex and "capable" rules engine either!)


We think this is actually a great microcosm of some of the issues that have plagued the IT sector for some time. In the '90's, we were talking about expert systems/decision support systems; if you weren't implementing one, you were going to be left behind. Back in 2013, big data was all the rage: If you weren't implementing a big data solution, you weren't working on becoming a technology company, and your business would become extinct. There are many, many more examples. We often fail to realize that our innovations may only be required for the very fringes of the business sector. Most of the time, we should be innovating for the masses, i.e. ensuring that existing technologies are easy to use and easy to implement and that they allow our customers or employers to get to market faster. They don't necessarily have to change the game; they simply have to win the game.


For more information on business rules and how to choose the right solutions for your business, please contact us at info@summit58.co.

207 views1 comment

Recent Posts

See All

1 Comment


Matteo Mortari
Matteo Mortari
Jan 03, 2020

Hi, if I may clarify a passage in your article, Drools is not limited to DRL: Drools does indeed also provide a fully compliant DMN engine, with full runtime support for DMN models at Conformance level 3, meaning 100% of the features in the Standard; as more detailed at this link https://www.drools.org/learn/dmn.html Hope this clarifies.

Like
bottom of page