May 20, 2009

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.0

Bottom Line
JBoss Drools 5.0 adds several new features, such as workflow, constraint programming, and event programming, all of which significantly boost its usefulness as a decision management toolkit. However, it lacks support for common mechanisms for enterprise integration, such as JCA, WS-*, or JMS, as well as a strategy for SOA, such as registering rules as services.

Red Hat's JBoss Drools 5.0 -- and its commercial counterpart, JBoss Enterprise BRMS 5.0 -- is a suite of applications that Red Hat refers to as a Business Logic integration Platform. It encompasses the traditional BRMS (business rule management system) functionality of Drools 4.0 and adds BPM (workflow), a constraint solver module, an improved Web-based interface for business users to manage rules, and support for event and temporal rule processing.

Developing an application suite of this breadth is a tall order. BPM (workflow) and BRMS are related but separate technologies, and despite the technical elegance of an integrated solution, a great deal of tooling surrounds each. It's not a trivial exercise to reproduce either toolset, much less pull them together. Other parts of the Drools suite, such as Solver, Fusion, and Guvnor (BRMS) make a great match, and I'm unaware of any other suites bringing these three technologies under one umbrella.

[ JBoss Drools was the InfoWorld Test Center's pick for a 2008 Best of Open Source Software Award. Discover the Best of Open Source Software Award winners in app dev, collaboration, enterprise apps, platforms and middleware, productivity apps, security, and storage. ]

Drools is no longer a simple rules engine, but an application suite. The original rules engine has been renamed Expert and still underpins much of the suite's functionality. Fusion is an enhancement to the rules engine allowing one to write rules about events that occur over time. Flow implements BPM capabilities. Guvnor is the new Web-based rule editor and testing application. Finally there is Solver, an optimization module. More details on each of these follow.

Expert
Expert, the rules engine core, received several improvements. First, shadow facts, a mechanism required to keep the engine's internal view of the world consistent with the view from the JVM, have been eliminated, reducing complexity and developer workload. (Previously, without shadow facts, if an object in the JVM were to modify a fact in working memory and fail to tell the rule engine, the rules depending on that fact would not be fired.) The ability to dynamically declare facts at runtime makes it easier to write rules and allows for the definition of Business Object Models via XML schemas (XSD).

Also new is the ability to efficiently serialize working memory sessions, important when managing long-running stateful sessions, such as those often seen in applications of Fusion (covered next). Domain-specific languages (DSLs) also see minor improvements.

These features extend the stable and proven 4.x core rules engine. The API has been refactored to support the remainder of the suite and to further isolate developers from the engine's internal details. The refactoring also cleans up a few inconsistencies and makes the API a bit more coherent. While extensive, the changes should not present a challenge to any developer familiar with Version 4.0, and backward compatibility is maintained. Another welcome improvement is the ability to have multiple runtimes in the Eclipse interface, allowing developers to maintain legacy 4.x projects, while simultaneously working with projects using 5.x runtime JARs.

Performance of the engine is slightly slower than with Version 4.0, likely a result of the rule compiler and API refactoring. This will probably improve in subsequent versions, and the differences in speed are minor.

The new Guvnor is a browser-based application that allows business users to author, update, and test changes to business rules. Scenarios (shown here) allow regression testing of proposed changes.

Read more about developer world in InfoWorld's Developer World Channel.

Close

On Twitter now

Business rule management systems

Powered by Twitter
additional resources
White Paper - How to Improve Delivery of Advanced Web Applications

White Paper

Virtual Workforce: The Key to Expanding The Business While Cutting Costs

Get the independent advice and expertise you need to support a virtual workforce.

Go inside:
The three-step approach to making a virtual workforce a reality.
The four flavors of client virtualization technologies.
The three key initiatives that solve IT challenges.
Download now »
White Paper: Successfully Secure Your Wireless LAN With Wi-Fi firewalls.

White Paper

Addressing Linux Threats Leveraging Fewer Resources

The increase in Linux popularity has increased the frequency and sophistication of malware attacks. Read this 2 page white paper now to learn how you can protect your Linux environment with real-time protection that is certified by all major Linux vendors.

Download now »
White Paper - The 2009 Handbook of Application Delivery

White Paper

The 2009 Handbook of Application Delivery

Ensuring acceptable application delivery will become even more difficult over the next few years. As a result, IT organizations need to ensure that the approach that they take to resolving the current application delivery challenges can scale to support the emerging challenges. This handbook elaborates on the key tasks associated with planning, optimization, management and control and provides decision criteria to help IT organizations choose appropriate solutions.

Download now »
White Paper - Is Your Backup System Outdated?

White Paper

Mid-range Storage Considerations

A common misconception is that mid-range storage requirements are dramatically different than that of a larger enterprise. Mid-range storage users may require less capacity, but they have similar functionality and management requirements. This ESG paper examines mid-range storage needs and reviews a new solution that adjusts size while retaining value, performance and functionality.

Download now »
jamet123 21-May-09 7:34am
Nice article and a thorough review as always. I hoped for a more ruthless focus on support for decision making and decision management rather than the distractions of process/workflow but the product remains impressive as a decisioning platform and will give the commercial vendors pause. You can see my thoughts in this post on the new release. I think we will see more companies embed the JBoss engine in applications (like Tavant) and in platforms (like Zementis and Intalio) and I think this is where the product will really have an impact - making rules more prevalent in packaged applications. JT CEO Decision Management Solutions jtonedm.com
pfricke 22-May-09 6:59am
JBoss Enterprise BRMS 5.0 rules may be wrapped with web services (requires some coding - will be added to tools in next release) can then be registered in SOA Platform 4.3 UDDI registry and used in an SOA including having access to the features mentioned in the SOA Platform (e.g., JCA, et al...). The Rules engine in SOA 4.3 is not supported by the BRMS tools. That will change in the next SOA Platform release when the JBoss Enterprise SOA Platform is updated with Rules 5.
jco 2-Dec-09 3:09pm
Steve: I checked with Mark Proctor (the #1 guru at Drools and one of the co-inventors) and he said that the engine is exactly the same as the one with 4.0.7 and 5.x so that ANY benchmarks should be the same. Any graphs should LOOK the same. Comments? SDG jco

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Developer World Newsletter

Receive a weekly roundup about the art and science of software development.

©1994-2010 Infoworld, Inc.