New Book Review: "Instant Drools Starter"
New book review for Instant Drools Starter, by Jeremy Ary, Packt Publishing, 2013, reposted here:
Since it had been several years since I last used a rules engine to any significant extent on a work project, and introductory Drools community documentation seemed to be lacking, I had thought it might make sense to pick up a text on Drools, but it was quickly apparent that very few books have been written on the product and of the ones available in the marketplace the one that is the object of this review is only one of two that has been recently written. Since this book was marketed as a starter text, I also purchased the second of these two, "Drools Developer's Cookbook", from the same publisher which seems to have the corner on the market right now with respect to Drools.
My initial proof of concept utilized the first half of this book, which is a very brief 30-pages. The java code and DRL (Drools Rule Language) file and accompanying JUnit tests work just fine, and the introductory explanation of the rules dialect called MVEL (MVFLEX Expression Language) was adequate to get going as well. The simple Maven pom.xml worked as well, but the instructions to install the Drools Eclipse plugin were not complete, and installation of the plugin itself was not worth the effort in my opinion so the focus that the book places on it is a bit distracting (especially because the initial release of Eclipse Juno that I had was problematic for this plugin, so I was compelled to install the second release alongside the first). Especially because I immediately needed to research how to make use of DRT (Drools Rule Template) files so that I would not need to be dependent on static files, and the plugin does not support this feature of Drools.
The second half of this book is comprises a "Top 5 features you need to know about" section that includes discussion on "reading and writing Drools Rule Language syntax", "working with facts", "testing your rules", "debugging the rule evaluation process", and "the five core modules that make up Drools". For readers new to Drools, be aware that this last discussion provides a brief 2-page description of the five core modules of Drools (jBPM, Drools Expert, Drools Fusion, Drools Guvnor, and Drools Planner, which has been renamed Drools OptaPlanner since this book has been published), but this text only covers Drools Expert. For most readers, Drools Expert is the module in which they will be interested, but I was also initially interested in Drools Guvnor until I realized that handing over the capability of managing rules to business users who have sparse technical skills will probably not play out so well.
As a new or virtually new Drools Expert user, also be aware that it is has undergone a number of changes with regard to the API over time, and continues to be reworked by the development team. While this text does not explicitly state which version of Drools is presented, "Drools Developer's Cookbook" published last year covers Drools 5.2.0.Final. While I plan to adopt Drools 5.5.0.Final for my work project, since it is the most recent stable version of the product, a few beta versions of Drools 6.0.0 have been released that reportedly exhibit some degree of refactoring and which may or may not enable continued use of this particular text, although as with most open source communities, the development team will likely seek mimimal disruption.