About |  Contact |  Wiki |  LinkedIn |
 Articles and Whitepapers |

Paul Browne Photo
 

Archive for the 'drools' Category

Collective Intelligence in Action

Monday, June 30th, 2008

Don’t you hate it when you spend months (or years) working on a pet project / book / mad take over the world idea, then somebody comes out with something even better?

Yep, it’s just happened to me. Years working on the idea of the ‘Wisdom of Crowds’ (even prior to web 2.0 in the shape of Red-Piranha). Month’s working on a Masters Dissertation on applying Web 2 techniques to the Finance industry (pdf link). And somebody comes out and does it even better.

Not just better. But much much better.  The sort of better as in ‘If I had this earlier, I’d have just copied it and changed the words around a bit’. The book is available from Manning as ‘Collective Intelligence in Action‘. A free, first chapter (Understanding Collective Intelligence) is available here (pdf).

Collective Intelligence in Action

So what’s it about? We’ve all heard about the Wisdom of Crowds idea. But what if you need to actually implement it on your website? This book shows you how to (using both concepts and practical code, as well as the theory behind all of it that I was missing). It includes

  • Intelligent, learning search, using Lucene.
  • Extracting data from blogs using web-crawling.
  • Executing Real time feedback on facebook-like sites.
  • Scalable data-mining techniques to manage the torrent of information
  • Making personalised recommendations based on all of the information.

Disclaimer:Manning provided me with a free review copy of the book - but no strings attached. And , maybe if I’m nice enough to the Author (Satnam), I can persuade him to talk about making millions using JBoss Drools and Complex Event processing in the book.

How to combine Workflow and Business Rules - in 5 easy steps

Sunday, June 15th, 2008

Tom has a good post on the jBPM (JBoss workflow) community day held at the Guinness brewery in Dublin. Warning - slides may contain pictures of people drinking beer.

Drools jPBM Business rules presentation

How to combine (jBPM) Workflow and (Drools) Business Rules - here’s the summary. Slideset is available on this blogpost.

  • Workflow (e.g. JBoss jBPM) is great - it allows you to take spaghetti code and draw it as a workflow diagram (flowchart) so that it can be reviewed by the business (the nice people who pay our wages). You then attach standard (Java) actions to these steps.
  • Only problem is when you come to a decision node (the one circled in red below): How do you decide to go left or right (in the workflow)? Normally this is coded in Java - good for us, but hidden from those nice business people (which means that this is more room for errors-in-translation).
  • Business Rules allow you to keep those decision making rules in Plain English: When something is true , then do this. That’s it. The rule engine does most of the hard work.
  • Integrating Workflow and Rules is easy. Use JBoss Seam (link) or do it by hand (link). And it works on non-JBoss web / app servers such as Websphere, Oracle Application Server, Tomcat and Weblogic.
  • Repeat x6 : Use workflow and rules. Use workflow and rules …

Simple Workflow

In a maybe related development, Tom Baeyens is now using strangely Rules-y like examples over on his workflow blog ….

Business Users Creating Rules - BRMS Guide Preview (JBoss Drools)

Tuesday, February 19th, 2008

Just looking for the Drools BRMS - Business Rules Management System Guide? - click here (pdf)

The aim of JBoss Drools (or any other Business Rules Engine) is to get knowledge out of business user’s heads and into a format where it can be copied , edited and peer reviewed , then run 24/7. Ideally, business users should be able to write these rules directly (a) to save time and (b) to reduce errors caused by a 3rd party having to to ‘translate’ these rules into code..

Drools Brms Screenshot

Drools BRMS (Business Rules Management System) is such a tool. Easily deployed into almost any Java Web or App server, it allows users to write and validate business rules that you can then pull into your Enterprise Java Application.

Because it uses the Google Web Toolkit (GWT) , even though it is a web application (i.e. zero install on client machines) it behaves and performs as fast as a desktop one. And unlike some other (Commercial) Rules Engines, it’s free to Download and use (under the Apache licence) from the JBoss site.

And now there is a guide available online. Shortly to be integrated into the existing JBoss Drools documentation a preview of the JBoss Drools BRMS guide (pdf) is now available.

More Information

How to fix the CAO Website (aka scalable systems using Drools and JMS messaging)

Monday, January 14th, 2008

Just looking for the whitepaper on Scalable , Multiple Deployments of JBoss Drools? Click here

If you’re 17 or 18, and about to finish 2nd level school, chances are that you want to apply to a 3rd Level College or University. Here in Ireland you get 100 points for each ‘A’ grade in your final school exams (Leaving certificate), 85 points for a ‘B’ grade and so on. You can then use these points to ‘bid’ for your preferred course, with Medical and Legal courses ‘costing’ the most. Think of it as EBay for education, managed by the CAO (Central Applications Office).

Cao Logo

Of course, this being a Business Rules post, things are not quite as simple as that. Many courses such as Art and Drama require that you submit a portfolio of work. A lot of courses with strong people skills (e.g. Psychology) require an interview. And from this year, high demand medical courses have additional exams scores (testing for common sense and a personality!). These rules tend to be modified slightly from year to year. All these rules make the process more complex to administer, given that tens of thousands of people apply annually.

17 year olds being 17 year olds, all these applications hit the website in a 2-3 days ’spike’ before the February 1st deadline. A 2nd spike hits the system in mid August when the actual exam results are published and college places are distributed.

Given that we’re dealing with people’s futures here how would you build the system (a) to process the rules clearly and correctly and (b) to guarantee that every application will processed , no matter how big the spike in workload is?. The current system has legacy issues, and has a history of falling over at critical moments (see stories here and here).

Problem A - how to run the course rules clearly and accurately - is a known issue, and can easily be solved using JBoss Drools.

Problem B - how to ensure the website / system is always available can also be solved quite easily : Use JMS to ‘Queue’ requests. At busy times in some call centres, instead waiting ‘musak’ you may get the message ‘ please leave your details and we’ll call you back when you get the head of the queue. BT Ireland do this for their broadband support, and they call you back in the same order that you were waiting. This guarantees that even under large spikes all requests will be handled (eventually), but with no guarantee of when. This is better than the alternative of ‘I’ll hang around online until I get the complete reply’; if the web site falls over; no guarantee when or even if you’ll get a response.

So, how do you put all of these together, perhaps with multiple versions of JBoss Drools (for extra scalability). By complete co-incidence (!) a whitepaper on how to build scalable websites using Drools and JMS messaging is here.