The Role of a Rules Engine:
Some industries, especially eCommerce, are plagued by rapidly flowing data sets, such as customers, and business rules that need to be updated on a continuous basis. If these business rules infrequent updates, the optimal solution is to code the business rules directly into the software at the cost of software engineers making and testing these chagines. But, if these business rules need frequent updates, the cost and time delay associated with the software changes become burdensome. This is a business problem solved by the Rules Engine, and hence is found at the core of every BRMS. Rules Engines execute Business Rules that are defined outside of the software in a format that is rapidly modifiable. With Rules Engines, changing the content of these usually-human-readable business rules specifications instantly alters the business rules applied by the engine without the need for software engineers to update the code.
EWA Systems' BRMS uses the HyperRETE™ algorithm in its Rules Engine. The HyperRETE™ algorithm greatly outperforms the RETE and RETE III algorithms that compete with it. The following sections compare these algorithms:
RETE:
The original RETE engine was the industry's first approach at an algorithm with which to handle dynamic business rules.
RETE III:
The RETE algorithm was quickly improved into what has been called the RETE III algorithm, as interest in BRMS increased. This evolution brought the RETE algorithm to near linear performance with the number of rules and data acted upon the system. This RETE III algorithm, or its close relative, is at the heart of near every BRMS on the market today. Compared to the original RETE algorithm, the RETE III algorithm typically is 300% faster. The RETE II algorithm was state-of-the-art in 2002, but has since been surpassed by the HyperRETE™ algorithm.
HyperRETE™:
At the heart of the EWA Systems' Rules Engine is the EWA Systems' Proprietary HyperRETE™ execution engine. The HyperRETE™ engine achieves a performance that only grows proportional to the logorithm of the number of rules and data acted upon by the system. Organizations that maintain large business rules sets where performance is critical, the reason why one would use a rules engine in the first place, have benchmarked the HyperRETE™ Rules Engine at more than three hundred times faster than the RETE III algorithm. The HyperRETE™ Rules Engine has been even been benchmarked with rulesets with over 400 million rules, a true test of enterprise scability. These conditions would cripple any other BRMS.
This extreme performance boost is achieved by dynamic, intelligent selection of a RETE-like algorithms optimized to accelerate your performance to its maximum. This intelligent selection is guided by a real-time in-depth analysis of your data, your rules, and their interrelationships. This analysis is also used in EWA Systems' Business Rules Editor in order to allow the user to query what effects or potential conflicts may result due to a business rule change.
The HyperRETE™ Rules Engine is implemented as a callable service, available through .NET as a Web Service, or through a Java API. The HyperRETE™ Rules Engine is Java Rules Compliant. The HyperRETE™ Rules Engine is an extremely light-weight rules engine, taking only 150Kb of source code.
The HyperRETE™ Rules Engine was developed by EWA Systems, and has even been called the "state-of-the-art" by the founders of the business rules industry at a SDForumn Panel Discussion at Xerox PARC discussing the past, present and future of the industry.