My favorites | Sign in
Logo
                
Search
for
Updated Jul 10, 2009 by paul.m.browne
BookFeedback  

Book Feedback

This page contains reader feedback to the book 'JBoss Drools Business Rules'. Specific technical issues can be found at the Issues List

General

  • A new requirement, that did not make it into this book, is to set up the Drools rule engine.

Paul: All good comments, will include in the next version!

  • There's a chapter I like very much. It makes very clear that testing rules is an important part of the development phase and introduces three different ways to achieve full coverage of all written rules. The inquisitive reader might also have a look at the QA Analyzer, a quite new and powerful feature available in Guvnor.

Paul: Thanks - I'm a bit of a testing fanatic, having been burnt badly by not having tests. Good to see somebody else agrees!

  • One chapter is definitely intended for Java developers - about deploying Drools applications in real world scenarios. The business people will still be able to follow, since the author keeps things easy and doesn't go to deep into details, however I would love to read more about this topic.

Paul: Packt are publishing an Advanced Drools Book soon - also by an Irish Based developer (Michal Bali). I would hope that it gives more technical detail

  • The last two chapters about rule engine concepts and the newest features are a must-read for all those people who have read the Drools docs, but still need a different point of view to fully understand how Drools works. This topic is very important in my opinion, since it lets you write your rules more effectively.
  • What I didn't like was the use of IE and Excel. Same results could be achieved with open source software, too. But that's a minor one ;)

Paul: I would tend to use Firefox / OpenOffice myself, but the business readers of the book use Excel and Internet explorer, hence why the screenshots use those

  • All in all, definitely a guide for non technical users, but also for developers, who have given the Drools docs a (second and third) try and still require a helping hand to sort it out how this Drools thing works and how to use it properly.

Paul - Thanks!

Critical

Paul: I am currently working at book samples online via the Google App Engine (that's what the Red Piranha project is about!). That may resolve some of the issues below, but I hope to provide 'interim' fixes.

Paul: Packt have two good articles from Michal Bali at http://www.packtpub.com/article/drools-jboss-rules-5.0-flow-part1 and http://www.packtpub.com/article/drools-jboss-rules-5.0-flow-part2_

page 61, section 2

I've re-read the section and you're correct - when I wrote this it was meant as a general comment that you can search for rules - I will update the text

page 108, section 2

Paul: Good point - Never is a very strong statement, and it's really meant to illustrate the difficulty in getting that rule to fire (even if it is possible)

page 260, section 1

Paul : OK

major

Paul : Will pick up on these typo's in a future version of the book

page 100: bad screenshot (it's a copy of the screen shot from page 108) - this screen shot is then referred to on page 102.

page 104, note: What exactly is this working memory? ... I don't see the term working memory mentioned before ,so either it should be changed to: What exactly is a working memory? ... Or this note is in a wrong place or some text about the working memory has been deleted/moved.

page 141, 2nd example (collect) This won't compile, besides the typo in OoomplaLoompaDate this is rule has a wrong syntax, you cannot use collect this way. Here's a working one:

rule 'collect rule'

when
$numberofShipmentsOnDay : java.util.ArrayList() from collect (
ChocolateShipment (
shipmentDate == (new OoompaLoompaDate(1,1,2009))
)
)
then
log.info("Boxes shipped today:"+$numberofShipmentsOnDay);
end

Minor

page 21, section 6: The mailing lists ... that your pleas for assistance ... 'pleas' - should be 'plea'

page 57, bullet 5.: If you have any problems ... then run the Run the command ... 'Run the' should be removed

page 106, section 2: This is no: ... should be: There is no: ...

page 119, last section ... way of wiring the same ... typo, should be 'writing'

page 122, section 6: ... from that example (sales.java), ... typo, should be uppercase s: '(Sales.java)', ...

page 123: $mySales : Sales(name == "acme corp" name == "beta corp") missing '||', should be: $mySales : Sales(name == "acme corp" || name == "beta corp")

page 128, note: When should be lowercase w: when

page 191, section 1: ... more Drools-like language $patent : Patient() typo in patient, should be ... more Drools-like language $patient : Patient()

page 226, section 1: Change the director typo, should be: Change the directory

page 232, section 8 and page 236, section 2: typo in RuleRunner.Java, should be RuleRunner.java (lowercase 'J')


Comment by Steven.Milstein, Sep 02, 2009

While the book is great at providing step-by-step instructions, I look forward to having access to the updated sample code, supporting tools and hopefully access to the subsequent editions (eBook) for licensed users.

Comment by mickeybr.brown, Sep 04, 2009

I find that fact that this book is supposed to be geared towards business (non-technical) users unbelievable. I'm an application architect with Java and eclipse experience, and I have been entirely unsuccessful trying to get through chapter 2 to setup what is needed. It looks like the project zip files have changed from one file to many, and the instructions in the book (or on this site) are not adequate to fix many of the problems I have faced. I will move on to a Drools book for developers, because at least I might have enough information to figure out the problems.

Comment by paul.m.browne, Sep 07, 2009

Thanks for the feedback - am working at resolving using online samples (in Google App Engine) for the next version of the book,

Comment by chafey, Sep 07, 2009

I managed to install JBoss AS 5.1, Drools 5.0, Guvnor 5.0, Eclipse 3.5 and the developer version of JBoss tools. I am on chapter 3 and running into several problems: 1) I imported chapter 3 samples it into guvnor, but if I get the following errors when I try to run a test scenario:

insuranceProcess? unable to parse xml marginalAge? Unable to build expression for 'consequence': expected '(' but encountered: e ' Reject Policy with explanation ' No accidents allowed if in marginal age group '
'
approval - safe driver, any policy type? Unable to build expression for 'consequence': expected '(' but encountered: t ' Approve Policy with the reason ' Safe and mature '
It built fine under maven. Does this sample need to be updated or did I do something wrong?

2) The guvnor ui seems to have changed a bit since the book was written leading to confusion for newbies. The book refers to "Rules" in the left hand tab but that functionality seems to be under "Knowledge Bases". The Book has "Packages" and "Deployment", but drools 5.0 just has "Package Snapshots" - not sure how they are related. These problems make it hard to follow the text and erodes my confidence in what I am learning.

I am going to keep moving forward with this book but am very disappointed to find this many issues with such a recent book. It would be great to get some updates so I can make use of this investment.

Comment by lmulc...@nyx.net, Oct 06, 2009

Small typo, p. 226, jetty:runwar should be jetty:run-war

Comment by lmulc...@nyx.net, Oct 06, 2009

I found the 'Maven for Packaging' section (p. 225-227) too vague to follow, even after working through the complete 'Using Spring MVC' tutorial (including 'Persistence' and 'Services') at http://www.appfuse.org/display/APF/Using+Spring+MVC.

Comment by lmulc...@nyx.net, Oct 06, 2009

In the example for chapter 11, one of the dependencies in the pom.xml file is

<dependency> <!-- TODO remove this dependency and change MANIFEST.MF to use xpp3_min.jar (non-optional dep of xstream) -->
<groupId>xpp3</groupId> <artifactId>xpp3</artifactId> <version>1.1.3.4.o</version> <scope>runtime</scope>
</dependency>

I could not get Maven to download this. I surfed to http://repo1.maven.org/maven2/xpp3/xpp3/ and discovered there is no directory there called '1.1.3.4.o' but there is a directory called '1.1.3.4.O' (that's an upper case letter 'O', not a zero). I tried changing the version element in the pom.xml to '1.1.3.4.O' and after that 'mvn install' was able to install the plug-in.


Sign in to add a comment
Hosted by Google Code