Thursday, June 23, 2011

Drools 5.2 released

We're pleased to announce the release of Drools (Expert, Fusion, Planner, Guvnor) 5.2.0.Final.

This is quite an exciting release as Drools has now become a hybrid chaining engine, capable of executing both the reactive forward chaining rules and now prolog style backward chaining rules for derivation queries. We've added a lot more depth and maturity to the business rules authoring with top notch decision tables and rule templates

At the same time jBPM5.1 has also been release, with full details here:

We've closed a huge number of issues in JIRA:
Drools 286
Guvnor 270



New and Noteworthy

Core

  • MVEL
  • The MVEL dialect has been improved. All variable lookups have been moved to new indexed factories, which should allow faster execution, as well as being simpler code. The build process for MVEL has been reviewed to streamline it to avoid wasteless object creation so that the build time is faster. The ParserConfiguration is now shared which will make each MVEL compilation unit faster to initalise. Configurable type-safety has also been added.

  • Classloader
  • The Classloader has been improved to use a CompositeClassLoader instead of the previous hierarchical "parent" classloader to better support use of Drools within OSGi containers.
See here for details.

Drools Expert and Fusion

  • Lazy Truth Maintenance
  • You no longer need to enable or disable truth maintenance, via the kbase configuration. It is now handled automatically and turned on only when needed.

  • Multi-function Accumulates
  • The accumulate CE now supports multiple functions.

  • Parameterized constructors for declared types
  • Generate constructors with parameters for declared types.

  • Type Declaration 'extends'
  • Type declarations now support 'extends' keyword for inheritance.

  • Free Form expressions in Constraints (New Parser)
  • The parser has been rewritten. We had reached the limitations of what we could achieve in pure ANTLR and moved to a hybrid parser, that adds flexibility to the language. The main benefit with the new parser is that the language now supports free form expressions for constraints and 'from' statements.

  • Rule API
  • A fluent API was created to allow programmatic creation of rules as an alternative to the previously suggested method of template creation.

  • Positional Arguments
  • Patterns now support positional arguments on type declarations.

  • Backward Chaining
  • Drools now provides Prolog style derivation queries, as an experimental feature.

  • Non Typesafe Classes
  • Annotation @typesafe( ) has been added to type declarations allowing for the configuration of type-safe evaluation of constraints.

  • Session Reports
  • An experimental framework to inspect a session and generate a report, either based on a predefined template or with a user created template, has been added.

  • Improved Camel integration
  • Camel integration using the Drools EndPoint was improved with the creation of both DroolsConsumer and DroolsProducer components.
See here for details.

Guvnor

  • Guvnor Look & Feel; moving closer to native GWT
  • We have removed GWT-Ext from Guvnor and now only use GWT.

  • Embed Guvnor Editors
  • We have added the ability to embed Guvnor Editor's in external applications.

  • Annotations come to Declarative Models
  • The ability to add annotations in Guvnor to declarative models has been added.

  • Support for Complex Event Processing in the guided editors
  • The guided editors have been enhanced to allow full use of Drools Fusion's Complex Event Processing operators, sliding windows and entry-points.

  • New guided decision table
  • The existing Guided Decision Table has been replaced to provide a foundation on which to build our future guided Decision Table toolset. The initial release largely provides an equivalent feature-set to the obsolete Guided Decision Table with a few improvements, as listed below.
    1. Cell Merging
    2. Merged Decision Table
    3. Typed-columns
    4. Improved header
    5. Fixed header when scrolling
    6. Negation of Fact patterns
    7. Negation of rules
    8. Support for "otherwise"

  • Enhanced Package's Report
  • Templates Rules and Decision Tables rules are now included in the package's report.

  • Spring Context Editor
  • Now it is possible to create and mange Spring Context files inside Guvnor.

  • Configuring Multiple Guvnor Instances In a Jackrabbit
  • We added a new task in drools-ant which helps with configuring multiple Guvnor instances to be able to share their Jackrabbit content.

  • Configuring Guvnor to use an external RDBMS made easier
  • We added a new section under the "Administration" tab called "Repository Configuration" which helps generate the repository.xml configuration file for a number of databases.
See here for details.

Eclipse

  • Removal of BRL Guided Editor
  • The BRL Guided Editor has been removed due to lack of interest and it falling behind.
See here for details.

Thank you

We would like to thank all the drools community members who helped made this release possible.
The Drools team

7 comments:

  1. This comment has been removed by a blog administrator.

    ReplyDelete
  2. A great team with it's great members with great effort using great technologies made great stuff!!!

    I'm so happy to use these stuff!!!

    Great job guys!!!

    www.TheBigJavaBlog.com

    ReplyDelete
  3. Hey Tihomir ... so do you think we can get Seam 3 support before 2013?

    ReplyDelete
  4. The Drools team never ceases to amaze me. Keep up the great work.

    ReplyDelete
  5. Seems it is a great release.
    On download seems no download available for sources for 5.2. If we need to debug, we will be helpless.

    ReplyDelete
  6. @Anonymous: the sources are in the download zip (as stated above the download table). But the best place to get the sources is from the source code link on the website that links to github.com/droolsjbpm.

    Also the sources are deployed to the maven repository (jboss and central) so your IDE will probably automatically hook up the sources if you use maven (and maybe ivy, gradle, buildr too but definitely not with ANT only).

    ReplyDelete