Enterprise Integration Zone is brought to you in partnership with:

Mitch Pronschinske is the Lead Research Analyst at DZone. Researching and compiling content for DZone's research guides is his primary job. He likes to make his own ringtones, watches cartoons/anime, enjoys card and board games, and plays the accordion. Mitch is a DZone Zone Leader and has posted 2577 posts at DZone. You can read more from them at their website. View Full User Profile

Drools 5.1 Expands Spring Support, Adds CXF, Camel, and JMX Monitoring

09.07.2010
| 16809 views |
  • submit to reddit
JBoss recently released the next version of their business logic integration platform, which is now split into five sub projects.  The main focus for Drools 5.1 has been to provide better consumability for users with declarative services based on Spring, Apache Camel, and Apache CXF.  Project developers have also impvoed the BPMN 2 implementation and added an improved Rete algorithm for reduced memory consumption and better scalability.  

Drools provides a unified, integrated platform for Workflow, Rules, and Event Processing.  Each aspect of the platform is designed as a first class citizen.  The five sub projects include:

  • Drools Guvnor (BRMS/BPMS)
  • Drools Expert (rule engine)
  • Drools Flow (process/workflow)
  • Drools Fusion (event processing/temporal reasoning)
  • Drools Planner

Drools Intro Video

What's New?

Since Drools 5.0, you've been able to configure a KnowledgeBase with an XML change-set instead of programatically.  In the 5.1 API the change-set namespace is versioned, meaning the 1.0.0 xsd should be referenced.  

The core additions to Drools 5.1 include JMX monitoring, expanded Spring support, Camel support, CXF support, a Session Inspection and Reporting Framework, and Knowledge Agent Incremental Change Support.  

For Spring, the XSD can be found in the drools-spring jar.  "http://drools.org/schema/drools-spring" is the namespace:
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:drools="http://drools.org/schema/drools-spring"

xmlns:camel="http://camel.apache.org/schema/spring"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd

http://drools.org/schema/drools-spring http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-spring-1.0.0.xsd

http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">

<drools:resource id="resource1" type="DRL" source="classpath:org/drools/container/spring/testSpring.drl"/>



<drools:kbase id="kbase1">

<drools:resources>

<drools:resource type="DRL" source="classpath:org/drools/container/spring/testSpring.drl"/>

<drools:resource ref="resource1"/>

<drools:resource source="classpath:org/drools/container/spring/IntegrationExampleTest.xls" type="DTABLE">

<drools:decisiontable-conf input-type="XLS" worksheet-name="Tables_2" />

</drools:resource>

</drools:resources>



<drools:configuration>

<drools:mbeans enabled="true" />

<drools:event-processing-mode mode="STREAM" />

</drools:configuration>

</drools:kbase>

</beans>


Drools Expert includes a differential update which has reduced memory consumption and increased scalability.  Exit points have been replaced by channels and live queries are now supported.  

Implementation of the BPMN 2.0 specification has expanded in Drools Flow as well as throughout the entire Drools tool chain.  Drools Flow also includes a new web-based management console, pluggable variable persistence, improved process instance migration, and an installer that simplifies installation of Drools Guvnor, the Eclipse plugin, and the GWT console.

Drools Guvnor now has a cleaner appearance and adds several new features:

  • Discussions
  • Inbox for monitoring changes
  • Bulk Importer
  • Built in Selector
  • Rule Templates



  • Fact Constraints
  • Guided editor improvements
  • Working Sets




For the full rundown of Drools 5.1's many new features, check out this section of the Drools Docs.