Think

Mostly on Rulebase Benchmarks, Politics, Religion and other "stuff" that you can't discuss in the workplace

Drools, BRMS and Revolutions

Greetings, Programs:

If your are a member of the Dallas Rules Group (DRG) and you don’t subscribe already to the Drools RSS feed at http://feeds.athico.com/DroolsRSS, maybe you might should since most of “All Things DRG” are Drools-centric. Of particular interest is the “latest and greatest” early editions of version 5 from the Drools Team for two reasons:

(1) The Drools Team is beginning the late-September release of Drools 5 that will include a BRMS implementation. Admittedly, their initial implementation might be just a bit behind that of ILOG or Fair Isaac BUT, and this is the important part, it includes basic BRMS functionality AND (wait for it…. wait… here it comes…..) DROOLS IS FREE.

(2) The Drools team lives on the globe. Literally. Mark Proctor (their fearless leader) is in London. Edson Terelli is in Canada. Mic Neale is in Australia. And the others are scattered around the globe. BUT they work together to produce a product that is making giant leaps and bounds from that “freeware” tag into what used to be the exclusive domain of $20K or $50K starter BRMS tools.

Here’s another thing: More and more companies are using shareware or freeware products such as Linux, Open Office, Java, Eclipse, Net Beans, JBoss to run those $500K (final installed price) BRMS packages. Now they’re going to have another really good package to add in there; Drools. The line between commercial BRMS vendors and freeware vendors is becoming more and more blurred and, with the next year or two, should disappear altogether.

Remember when JBoss was free and big companies would not use it because it did not have “support” from a “real” vendor? So they paid through the nose for BEA (formerly Tuxedo) Web Logic (now owned by Oracle) or IBM Web Sphere. And all of the software ran on either Sun Solaris or IBM AIX. But then “A Funny Thing Happened On the Way to the Forum” – small companies, then bigger companies and bigger companies started using Linux, that Unix work-a-like for Linus Torvalds. Totally unexpected. Fast forward three years and now major companies are not only using Linux, they are beginning to use JBoss. But they continue to use ILOG, Fair Isaac, Pega, Corticon, Visual Rules, etc. BECAUSE the OPSJ, Drools, CLIPS and Jess folks just could not produce a “real” BRMS product.

So, fast forward three more years – companies at that time were beginning to use Jess and Drools in places where they never did before BECAUSE Jess and Drools were using the Eclipse interface and debugging tools and Ant and all of that other stuff that their geeky programmers loved so much and used anyway – until they got caught and reprimanded. (They used it even after that because they could not get that vaunted “tech support” from the commercial vendors.)

Today we, the BRMS and rulebase programmers, rule engineers and knowledge engineers, stand on the cusp of an historical incident much like the Rete Algorithm gave us almost 30 years ago in 1979: A FREE BRMS !!! It’s coming! The first editions are here! That “pre-alpha” part where there are more problems than features. But judging on the history of the Drools Team, those problems will go away. If you are a BRMS consultant, get ready and be prepared. Meaning you had better download Drools and begin getting used to their syntax rather than that of the big commercial vendors.

My prediction is that within the next three years those dinosaurs of the BRMS world will be rapidly slipping into the tar pits of obscurity and we will have copy-cat BRMS freebies. They won’t be as well done as Drools, but we will begin to see more and more BRMS products (note that I did NOT say more and more rulebased products) that are, for the most part, free. Maybe the Drools logo now should be a giant purple dinosaur surrounded by a large red circle with a bar through it. Meaning, STOP THE DINOSAURS. 🙂

SDG
Yaakov

Advertisements

July 4, 2008 - Posted by | Rule Stuff | , , , , , , , , , , , , , , ,

12 Comments »

  1. Drools has made a lot of progress, but my comparison of what JRules offers in their studio versus the rest of the industry, JRules is still 3-5 years ahead of everyone else. From what I can see, iLog is pushing ahead and they have the excellent leadership of Daniel Selman.

    Eventually, open source offering will match commercial tools, but I don’t think that will happen in 3 years. Maybe 7 or 8 would be my guess. There’s still a lot missing from current tools, like pluggable rule validation framework, the ability to run multiple versions of the same rule in a single rule engine instance, compiling rules to optimized decision tree when it’s applicable, visualize the rule in a dependency graph, bayesian filter, kalman filter, complete temporal logic support, simulation framework and a distributed RETE.

    There’s probably enough left for at least another 30-40 years. Even though rules have been around since the 80’s, I think how people use them is still at the toddler/child stage. That’s excluding the remaining old timers that have been doing this stuff for 15+ years.

    I hope that changes and more people dedicate themselves to the study and practice of business rules. So far, I see people using blaze, jrules, corticon, pega, ms bre, workflow engines and drools, but very few go beyond the surface. The hype around business rules peaked around 2006/2007 and now CEP seems to be the hot item. Lately, I’ve seen end users move towards BPM, because it’s simpler than business rules.

    From my experience, a BRMS framework with a UI designer is what end users want. None of the current products offer that. One thing many customers want is the ability to embed the BRMS within their own applications, which still isn’t available today from any of the offerings. I hope the industry gets to that point in another 20 years.

    peter

    Comment by peter lin | July 4, 2008 | Reply

  2. […] The JavaRules blog has done an interesting take on the rise of the Open Source BRMS, titled “Drools, BRMS and Revolutions”. […]

    Pingback by PR Monitor » Blog Archive » The Rise of the Open Source BRMS | July 5, 2008 | Reply

  3. Peter:

    I learned a long time ago that when a sentence has a “but” in it that you can forget everything before the “but” because it’s just fluff to hide the real meaning after the “but”. So, to answer your comment in a logical fashion, have you published your comparisons? If so, would you provide our readers with a link to them? Thanks.

    I, too, have been doing some comparisons of various tool vendors but I haven’t made the public except through InfoWorld articles. However, the ability to run multiple versions of a single rule in a single rule engine instance is something that I’m not sure is needed – at least, this is the first time that I’ve heard about it being needed.

    Decision Trees normally have rules that support them and usually can be compiled.

    Fair Isaac has a dependency chart (not sure about the graph part) for rules in one of their reports.

    I’m not sure how many times that I’ve been asked for Bayesian Filters, Kalman Filters, Complete Temporal Logic Support, Simulation Framework and Distributed Rete by business folks. Oh, right. None. (BTW, it’s Rete, not RETE.) 🙂

    Actually, rulebased systems have been around since the 60’s – I’ll put some early papers by Alan Newell and Herbert Simon on my site later this week – but the commercial applications only began to get cranked up in the 70’s and early 80’s so I guess you were pretty close on that one. But to say that they will continue for the next 30 to 40 years? I’m not sure why you say that but I hope you’re right. True, everyone predicted that COBOL would die out by 2010 but it’s still going strong. Personally, I look for a marriage of Neural Nets and Rulebased Systems to form a true AI KnowledgeBased System – something that Doug Lenat has been working at since about 1984 – or was it ’89? Regardless, he has predicted that Cyc won’t be finished until 2025.

    Regarding your point about a BRMS with a UI designer – that’s what Visual Rules (that does NOT use a Rete engine) has done. They have used Eclipse and allow anyone to redesign the interface to meet their own needs. I’m sure that others will follow suit before long.

    Finally, embedded BRMS – Oracle has embedded Jess. I personally know of several companies that have embedded either JRules or Blaze Advisor. I’m sure that Mark Proctor could provide a name or two of companies who have embedded Drools in their applications.

    So! As always, enjoyed your comments. 🙂 Keep those cards and letters coming. Proverbs 27:17 says that, “As iron sharpens iron, so one man sharpens another.” Monologues are for comedians, dialogues are for learning.

    SDG
    Yaakov

    Comment by yaakov2 | July 5, 2008 | Reply

  4. Actually, on my blog I point out in detail the things that are missing or need major improvement. the sad part is it’s not organized at all and is spread across dozens of entries. I’m too lazy to write a 10 page paper comparing the features in detail.

    The multiple rule versions is a common requirement I’ve seen in health insurance, where an application needs to run different version based on the data. For example, if a claim was started on 10/05/07 with rule version 3, but the current version is 5, the application needs to use version 3. As far as I know, Blaze does not support this feature. Likewise, JRules does not support it either. JRulse recommends you look up with ruleset to use, but that is prohibitly slow and not practical. If I have 50 rulesets with 8 versions each, it means the ruleserver has to potentially manage 400 rule engine instances, or dynamically load it each time. For an application that doesn’t have much load, it’s probably ok. For an application with high availability requirements, it isn’t going to be practical.

    I’ve tried the rule dependency chart in blaze and I’m not impressed. What blaze provides doesn’t have the granularity I’m thinking of. I want to see the dependency down to the conditions, functions and actions. I asked a FI consultant onsite at the last project I was on and his answer was no. Is that possible? and was the consultant wrong?

    I know that said tabet has used filters with knowledgebase systems in the past, so it is needed by some people. I don’t have any studies to show the percentage, but I do know there is a need for it. One area in particular that could benefit from it is data mining. Many people do it manually today using simple business rules or decision trees, but it would be more efficient using kalman or bayesian filters.

    In terms of distributed Rete, I’ve seen a need for it in the past on 2 different projects. The reason said and I worked on it is because we saw a need for it. It just wasn’t feasible with JESS or JRules.

    On embedding, what I meant is embedding the BRMS in an existing application. By that I mean say I have an internal application for managing the call center. Say I want to embed a the BRMS so that business users can write rules, test them and management deployment. Today, with blaze and JRules, you have to install it as a separate application. This means users have to use 2 or more applications to write, test and deploy the rules. Embedding the rule engine is easy and all of them support it. Embedding the BRMS application isn’t a feature that comes out of the box.

    I’ve looked at visual rules in the past, but I wasn’t aware they had a BRMS UI designer. I know pega has a nice UI designer for the PRPC product. Since PRPC is a fully integrated product, the UI designer handles the BRMS and application at the same time. The downside with Pega is the terrible rule engine underneath it. The way Pega is designed, it won’t scale with increasing loads or concurrent users.

    In the past, I wrote custom rule editors to make the user experience more friendly. Rather than use multiple tools, the users could write the rule within the same application, test it canned data or real data and manage the deployment. We call it “what if” rule testing. Basically a compliance officer could write a rule, take an existing account and rule it. The application then returns a report with full details and explanation of what went right/wrong.

    As much as BRMS has improved over the years, my experience has been that current tooling only solves half the problem. The other half often ends up being quite challenging and difficult. In that area, I think BRMS could improve to make it much easier.

    peter

    Comment by peter lin | July 7, 2008 | Reply

  5. ooops, just noticed how many typos are in my comment. please excuse the aweful typos and errors 🙂

    peter

    Comment by peter lin | July 7, 2008 | Reply

  6. Nice article! I know some developers who are dying for the new Drools BRMS. Hopefully Guvnor will not fail their expectations 🙂

    Comment by Anton | July 7, 2008 | Reply

  7. […] Drools, BRMS and Revolutions « JavaRules The Drools Team is beginning the late-September release of Drools 5 that will include a BRMS implementation. Admittedly, their initial implementation might be just a bit behind that of ILOG or Fair Isaac BUT, and this is the important part, it includes ba (tags: yaakov2.wordpress.com 2008 mes6 dia7 at_tecp Drools blog_post BRMS crítica) […]

    Pingback by rascunho » Blog Archive » links for 2008-07-07 | July 7, 2008 | Reply

  8. James, Peter,

    Interesting discussion. I agree with Peter that although we have come a long way since the raw expert system shell of the ’80s but there is still a long way to go, and probably a few forks in the road ahead. There is no shortage of customer requirements or ideas for cool new innovations!

    In my opinion the major challenge for BRMS is enabling diverse groups of people that interact with application logic to deal with change in a structured and coordinated way. BHAG! It so happens that a rule engine is a great tool to help with that problem. Of course the challenge of integrating the design time and runtime into the tools end-users want to use is constant and evolving. In the time I’ve been at ILOG I’ve seen the focus be on everything from Swing applications, to the Eclipse IDE, Eclipse RCP apps, Portals and portlets, Web Services and SOA, AJAX mashups, MS Office and .NET rich clients. There will doubtless be more as we see the distinction between the desktop and the web get more blurred.

    We’ve got some great stuff in the pipeline, both for the design and runtime aspects of the BRMS, so we plan to keep raising the bar for BRMS products. Personally I’m really interested to see how the various products in the market evolve, based on a fairly diverse set of requirements and a complex competitive landscape.

    Dan

    Comment by Daniel Selman | July 9, 2008 | Reply

  9. Daniel et al:

    Sorry that I have not responded to my blinking lights and computer whirring noises recently but I cruising the net with an older G4 that I normally use only for testing, research, etc. Now – on to comments about comments. 🙂

    Peter – I tried to answer most of your questions but apparently you still have some. If you know Don Tallo at Fair Isaac, you might drop him a line or two about your problems with Blaze Advisor. I’ve known Don for a really long time and he’s always been (to my knowledge) straight up about the product’s shortcomings and benefits. Also, he would be the person that I would ask if I had a question since most of the Professional Services folks are NOT really AI guys, they’re Java programmers who have learned how to “get around” in Blaze Advisor better than most of the customers. Don is a true “AI Guy” who started the hard way and move up the corporate until he got to the point of being a manager and sacrificing 20+ IQ points or staying technical. Much to the loss of our industry, he chose money over fame and lost his points. But he had plenty to spare and is still the “go to” guy for Blaze Advisor technical questions. Even though he does not surf blogs such as this, he might respond to an email. His well-known company email address is dontallo@fairisaac.com – tell him that I sent you.

    Daniel et al – the point of the whole discussion was that Drools and other “free” software is following a well-known trail to the Money Tree. First, have a good product that performs as well, or almost as well, as the commercial products. Then put on the “window dressing” that is needed for a commercial product in the name of “being helpful.” Once all of the bugs are worked out, go commercial, close off the open source stuff, give the inventors and hard workers a pat on the back as you show them to the door and slam it shut behind them. After that, the product becomes a “hidden source” just like all of the others who have gone down that path.

    Only Linus Torvalds had the intestinal fortitude to resist the allure of the dollar. He owned it and he wouldn’t sell it. He did license the engine to commercial companies such as Red Hat and Novell. Unfortunately, Mark Proctor, one of the high holy priests of Drools, is NOT a sufficient stockholder in Red Hat to keep them from doing things the “commercial way” once he has finished the product to the commercial level. When it happens, remember me, this page and my prophecy .

    The funny thing is that neither Mark Proctor, Michael Neale nor Edson Terilli have commented on the blog.

    Daniel: BTW, my name is Yaakov Kohen. Translated into English Yaakov is James or Jacob; either is correct. In German it is still Yakov in pronouncing but usually spelled Jacob. Translated into French it is sometimes Jacque. But for this page, it is Yaakov. I’m looking forward to seeing all of you at the Dallas Rule Group conference, October [Technical] Rules Fest. Thanks for all of the comments,

    SDG
    Yaakov

    Comment by yaakov2 | July 18, 2008 | Reply

  10. I just noticed the response to my comment. I actually spoke to other FI consultants and got confirmation, blaze does not support multiple versions of the same rule within a single rule engine instance. Instead, you have to deploy multiple rulesets, which isn’t practical for the project i was working on. Loading n versions of each ruleset would have meant several hundred rulesets and a lot of work arounds.

    Instead, we looked at the rules and designed a home grown solution that fit the requirements. the rules were rather simple, but the tricky part was allowing multiple versions of rules without having to load 500 rulesets and dynamically looking up the rule service. I actually spoke to mark and michael about this. don’t know if they plan to support this type of functionality or not.

    Comment by peter lin | August 11, 2008 | Reply

  11. I agree that the key missing element here is an embeddable BRMS. How many times have developers around the globe written one-off rule authoring UIs for various applications? I’ve written a few. Granted, I don’t have a clue as to how I could have easily abstracted them into a framework that would have served all masters. In fact, I’m beginning a project to write another one now…

    Comment by Fred Gracely | September 22, 2008 | Reply

  12. Hey Peter, I work extensively with JRules and have had several occasions where I’ve supported multiple versions of the same rule within a single rule engine through “effective date/expiration date” metadata on the rules.

    Raj

    Comment by Raj Rao | December 9, 2008 | Reply


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: