I'm writing a presentation about rule engine technology, specifically JBoss Drools.
What are some of the 'myths' about rule engines.
One I can think of is that it allows business users to control the rule engine, I believe it is possible, but it requires control and education - and not all business users are able to do it.
Do you agree/disagree? Does anybody else have any thoughts?
Happy to release my final 'findings' under Creative Commons...
A rules engine is a good fit for logic that changes often and is highly complex, involving numerous levels of logic. Rules engines are typically part of a Business Rules Management System (BRMS) that provide extensive capabilities to manage the complexity.
The inputs to a rule engine are a rule execution set and some data objects.
I don't know about myths, but I agree that having business people maintain rules is not a slam dunk.
I think expecting business folks to have the patience and anal retentive attention to detail required to do IT's job is a fantasy. It's been in play ever since 3G languages (graphical approaches to programming) have been offered as a way to get secretaries to write code so the programmers could all be fired.
I'd point out that as the size of the rule set increases, the possibility of ensuring that it's correct and self-consistent goes down. If your rules set has thousands of rules it'll be hard to test.
Speaking of which, combinatorial explosion of combinations will make it hard to test a rules engine.
Rules engines are terrific technology, but be careful.
Actually, having used drools heavily, I disagree with you on your point about users having the ability to do stuff easily, I think it's relatively trivial to provide users with a simple interface to generate powerful rules dynamically.
One I would definitely add to the list is:
Myth: Rules engines are slow!
Not so, again, I've pushed even thousands of events per second through drools quite easily.
Another which I absolutely loathed was:
Myth: It's too heavy weight and complex to use.
Nonsense, the syntax is trivial and with a few lines of java, you can do some really funky stuff! Sorry if this appears to be a rant, had months of this crap at a previous employer as I wad trying to introduce this tech!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With