What are the top five challenges when implementing an Enterprise level Rule Engine? [closed]

StackOverflow https://stackoverflow.com/questions/7396222

  •  29-10-2019
  •  | 
  •  

Question

I have compiled the list as per my knowledge but would like to enrich & prioritize it using this community inputs. I understand having a centralized rule repository itself is debatable but we can have separate question for it.

  1. Business user adaptability to use the platform for writing rules [Definition, classification, deciding on rules that might go on a rule repository ]
  2. Ease of Rules invocation and consumption from different Application
  3. Rules portability - [RIF (Rule Interchange Format) importance?]
  4. Rules maintenance – BRMS [Business Rule Management System]
  5. Rule engine performance – [How much , How fast and how reliably]
Was it helpful?

Solution

Here is my take based on 12-year-long experience with 3 rule engines (ordered by importance):

  1. Ability to create, edit and deploy rules without any IT involvement after the system was installed and tested. Ability to version, approve, test and debug my rules is nice to have but not critical as long as engine comes with normal API, so I can build that functionality myself, the way I need it. I'm not sure about "the platform", just give me a decent UI for rule authoring and editing, preferably web-based UI.
  2. Rule execution performance should be EXCELLENT. Cannot emphasize enough: slow engines almost always lead to lost profits. In my life, the engine must be capable of evaluating a 50-80 conditions rule set (with no external calls) under 2 milliseconds each (about 1.5 millisecond on average is good, 0.5 milliseconds is great). It must be thread-safe, all rule evaluations must be completely independent from each other and the engine itself (other than the rule caching).
  3. Rules should be presented in XML format so it can be saved anywhere. I don't care what kind of format it is as long as it works and stays consistent between engine versions. I doubt that there is a huge need out there for "sharing" rules between different organizations. I definitely don't expect to share my rules with anyone :) Rule repositories can be total evil simply because I may need to move my rules from one storage to another (say, in case of merger, or asquisition of the entire system by others with other types of storages). It should be fine as long as the brand of engine stays the same. Rules are just logical sets. It should be completely irrelevant where they are stored at the moment. If the engine cannot just load a rule in an expected format from anywhere then I don't need such engine.
  4. Ability to create, NAME and save small rules and later combine them in rule sets by their names would be a huge plus.

All other features of rule engines that I can think of at the moment are irrelevant to me and to what I do. Hope this helps.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top