First look: JBoss Drools grows up, and out
Red Hat's open source rule engine turns full-goose enterprise BRMS, and decision management suite, in Version 5.0Follow @infoworld
Solver is a constraint optimization module for solving large planning problems. Its main competitor in the open source arena is CPSolver. Planning problems are typical in such areas as supply chain management and scheduling. Solver is unique in its use of the rules engine for expressing constraints. One consequence of this is the efficiency and expressiveness in which constraints can be defined. Constraints -- both hard and soft -- are defined as rules and executed accordingly.
Optimization problems are primarily found in operational research domains, a complex and highly technical topic that can't be covered here except to say that Solver implements what is known as local search, seeking out optimal solutions by assigning variables close to a previous guess. Heuristic techniques are sometimes required to prevent the search from getting stuck on a local minimum, maximum, or plateau. Solver excels in the adding and editing of constraints, using easily understood rules, so the definition of the search domain is greatly simplified.
[ IBM/Ilog's JRules 6.5 brought rules to SOA. See the InfoWorld Test Center review. | Fair Isaac's Blaze Advisor 6.5 nabbed InfoWorld's 2008 Technology of the Year Award for Best Business Rule Management System. See the Test Center review. ]
The integration of optimization, analytics, and business rules is an interesting trend in enterprises with high transaction volumes or a high degree of customer interaction, such as retail banking or telecommunications. I've only scratched the surface of Solver; a complete discussion of its applications could be the subject of an entire article itself, but I look forward to the next few versions of this module and its further integration in the core rules engine.
Further baking required
JBoss Drools 5.0 adds a significant number of new capabilities over Version 4.0, but while the breadth of the product offering is considerably enhanced, the product suite still lacks depth in key areas required for enterprise-scale deployments.
The rule execution server is rudimentary and does not support key open standards in Web services required for SOA implementations, such as those for reliable messaging, security, or transactions. The server also lacks support for monitoring (such as JMX), scalability, or integration (such as JCA).
The story isn't much better for the workflow component. Although the idea of a unified platform for events, rules, and processes is technically elegant and appealing, it may be ahead of its time. Partly as a result of some of the advanced capabilities being trailed in this version, where no standards exist, the workflow component supports neither BPMN nor BPEL, two common standards in BPM today.
Overall, JBoss Drools 5.0 (and JBoss Enterprise BRMS) brings a number of new capabilities under the product's umbrella, but the cake isn't quite done. This may be expected for such a large, ambitious project. For the moment, organizations with strong Java capabilities and a commitment to developing and supporting their own applications will find a stable, mature rules engine from Drools 4.0, and a new BRMS with many useful new tools.
If you're currently running Drools 4.0, then 5.0 will likely work out of the box, and is a recommended upgrade. For organizations with Java skills and a willingness to roll your own integration and reliability layers, Drools provides a great platform on which to start. If that's not your organization, then IBM/Ilog's JRules and Fair Isaac's Blaze Advisor are still top choices.
|Pros||Integrated technology stack for decision-making: CEP, rules, and constraint programming under a single umbrella. Active and supportive user community. Access to core developers, bug lists, and status of code issues. Low cost of entry and potentially high ROI.|
|Cons||Lacks support for key Web services standards. Lacks critical components for reliable, scalable, and secure execution of business rules in an enterprise environment.|
|Cost||JBoss Drools 5.0 is available as free open source under the Apache License 2.0. JBoss Enterprise BRMS 5.0 subscriptions, which include Drools, Guvnor, Web 2.0 rule authoring interfaces for business analysts, and maintenance and support, start at $20,000 per year for a four-socket deployment.|
|Platforms||All Java 1.5+ platforms|