What you might not expect is that Business Rules and Rule Engines were key to one of the presentations on the day. In case you missed How to combine (jBPM) Workflow and (Drools) Business Rules - here's the summary (with the slideset 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 ...
Maybe it's co-incidence but, Tom Baeyens is now using strangely Rules-y like examples over on his workflow blog .
In this case Tom talks about task assignment; You may have a step such as 'Signoff Loan' in your workflow - but who does this task? Often these rules are complicated (e.g. loans less than 10,000 Dollars go to a junior officer, loans over 10 Million go to a bank president etc.). Business Rules allow you to keep these workflow task assignments in (almost) plain English.

Sorry to spam you here, but where can I find complete syntax for writing a rules file?
ReplyDeleteThe documentation online is limited to operators, but doesn't shed light on as to how one can make data accessible to a rule file?
Can I add an arraylist to working memory and manipulate it in a rules file? I haven't been able to find answers to questions like that.
Any guidance would be appreciated!
Analyst - best place to start is in the JBoss rules documentation over at http://www.jboss.org/drools
ReplyDeletePaul
Paul
ReplyDeleteThanks for the post. Yours was one of several that prompted me to write a post on why decision management matters to process management.
JT
James Taylor
Author, with Neil Raden, of Smart (Enough) Systems
Smart (enough) Systems LLC