Drools 5.2 Released
June 24, 2011 by admin · Leave a Comment
Drools 5.2 has been released.
Drools 5 introduces the Business Logic integration Platform which provides a unified and integrated platform for Rules, Workflow and Event Processing. It’s been designed from the ground up so that each aspect is a first class citizen, with no compromises.
New and Noteworthy
Core
- MVELThe 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.
- ClassloaderThe 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 MaintenanceYou 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 AccumulatesThe accumulate CE now supports multiple functions.
- Parameterized constructors for declared typesGenerate 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 APIA fluent API was created to allow programmatic creation of rules as an alternative to the previously suggested method of template creation.
- Positional ArgumentsPatterns now support positional arguments on type declarations.
- Backward ChainingDrools now provides Prolog style derivation queries, as an experimental feature.
- Non Typesafe ClassesAnnotation @typesafe( ) has been added to type declarations allowing for the configuration of type-safe evaluation of constraints.
- Session ReportsAn 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 integrationCamel 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 GWTWe have removed GWT-Ext from Guvnor and now only use GWT.
- Embed Guvnor EditorsWe have added the ability to embed Guvnor Editor’s in external applications.
- Annotations come to Declarative ModelsThe ability to add annotations in Guvnor to declarative models has been added.
- Support for Complex Event Processing in the guided editorsThe 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 tableThe 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.
- Cell Merging
- Merged Decision Table
- Typed-columns
- Improved header
- Fixed header when scrolling
- Negation of Fact patterns
- Negation of rules
- Support for “otherwise”
- Enhanced Package’s ReportTemplates Rules and Decision Tables rules are now included in the package’s report.
- Spring Context EditorNow it is possible to create and mange Spring Context files inside Guvnor.
- Configuring Multiple Guvnor Instances In a JackrabbitWe 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 easierWe 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 EditorThe BRL Guided Editor has been removed due to lack of interest and it falling behind.
See here for details.
New and Noteworthy
Core
- MVELThe 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.
- ClassloaderThe 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 MaintenanceYou 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 AccumulatesThe accumulate CE now supports multiple functions.
- Parameterized constructors for declared typesGenerate 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 APIA fluent API was created to allow programmatic creation of rules as an alternative to the previously suggested method of template creation.
- Positional ArgumentsPatterns now support positional arguments on type declarations.
- Backward ChainingDrools now provides Prolog style derivation queries, as an experimental feature.
- Non Typesafe ClassesAnnotation @typesafe( ) has been added to type declarations allowing for the configuration of type-safe evaluation of constraints.
- Session ReportsAn 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 integrationCamel 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 GWTWe have removed GWT-Ext from Guvnor and now only use GWT.
- Embed Guvnor EditorsWe have added the ability to embed Guvnor Editor’s in external applications.
- Annotations come to Declarative ModelsThe ability to add annotations in Guvnor to declarative models has been added.
- Support for Complex Event Processing in the guided editorsThe 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 tableThe 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.
- Cell Merging
- Merged Decision Table
- Typed-columns
- Improved header
- Fixed header when scrolling
- Negation of Fact patterns
- Negation of rules
- Support for “otherwise”
- Enhanced Package’s ReportTemplates Rules and Decision Tables rules are now included in the package’s report.
- Spring Context EditorNow it is possible to create and mange Spring Context files inside Guvnor.
- Configuring Multiple Guvnor Instances In a JackrabbitWe 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 easierWe 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 EditorThe BRL Guided Editor has been removed due to lack of interest and it falling behind.
See here for details.