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.
You may still be better off sticking with Win7 or Win8.1, given the wide range of ongoing Win10...
Now that we're down to the wire, many upgraders report that the installer hangs. If this happens to...
Microsoft and Intel are in a standoff when it comes to Bluetooth bugs in the Windows Update speed-up...
Well-tended Python framework offers wide selection of robust algorithms, but no deep learning
Microsoft is building new analytics tools to help companies better manage small and virtual teams
The first rule of help desk: Chill out when the heated support calls come in. The solutions will roll...
The challenger to Git and Subversion emphasizes patches over commits and snapshots for distributed...