Red Hat's open source rule engine turns full-goose enterprise BRMS, and decision management suite, in Version 5.0
Fusion is an extension to the rules engine that allows writing about events that occur over time. Take this rule, for example:
StockTick( symbol == "IBM" ) over window:time( 60s )
It filters the working memory for any StockTicks for IBM over the last 60 seconds, which would be difficult to write using traditional rules engines due to a lack of infrastructure for accessing clocks and expiring facts when they no longer match rules. Thus, they quickly run out of memory when trying to process such a rule.
This type of reasoning is often referred to as Complex Event Processing (CEP), although there is more to processing and correlating events than time components. CEP is a relatively new branch of applied artificial intelligence, and it's one of the most exciting new features in Drools 5.0. Unlike some competing commercial products in this space, which lack commonly used operators such as "not" and "exists," Fusion fully implements all first-order logic operators. Sadly, support for persistence of working memory, a requirement for long-running time windows and high availability, did not make it into Drools 5.0.
A significant percentage of the work in Drools 5.0 went into the enhancements to the simple rule flow for orchestrating rules found in Version 4.0. The Flow module, an integrated environment for both rules and processes, is in many ways the central component of the suite, where rules, events, and process orchestration are unified.
The idea of an integrated environment to manage rules, processes, and business events is an appealing one. Good decision models use all three, and there are several more or less accepted standards for modeling and executing business processes. Unfortunately, Flow does not adhere to any of them -- neither BPMN for process modeling, nor BPEL for execution on existing process engines. This is partly because the ideas developed in this version can't be adequately expressed in existing standards and partly due to the size of the task. There is some support for WS-HT (human tasks) semantics, but none for the Web services endpoints, so integration again becomes an issue.
Guvnor is a business-friendly front end for managing the business rules of an organization. This version is a nearly complete overhaul of the old BRMS component of Drools 4.0. It includes a deployment manager, fine-grained access control (with integration to LDAP repositories), integration with the Eclipse developer rule environment (via an Eclipse plug-in), WebDAV, and the ability to automatically run regression tests over rules, Web-based decision tables, and more. Guvnor makes use of the Apache Jackrabbit repository, so high availability and version control are possible through this JCR-170 storage mechanism.
Although feature complete, the user interface has clearly not received the spit and polish that commercial vendors have. It has the look and feel given to many applications by engineers, with usability taking a backseat to functionality. Decision tables, which lack the ability to span cells, could also stand some improvement. Generally, though, this module is a good foundation to build a customized rule management interface aimed at business users.
This weekend's Windows 10 upgrade has users angry, and it's unclear if the ploy will continue
Here’s the best of the best for Windows 10. Sometimes good things come in free packages
Speaking at the O'Reilly Fluent conference, Eich also endorsed the Service Workers mobile app...
The new upgrade introduces small improvements across the board, but nothing to sway Windows 7 stalwarts...
These tiny Windows systems can be hidden away yet offer complete computing power
After long suffering from stagnant development, the IronPython project for running Python on .Net is...
Windows 7 and 8.1 customers have another new version of GWX, now with a countdown clock