Clash of the Java rule titans
July 17, 2006— We're all familiar with the conventional relationship between the business department and IT: The business department needs a new application or they need to change an existing application. They approach IT and ask how long it will take and how much it will cost. If within budget, IT gathers what it calls requirements and, after approval of the requirements, begins coding. Then comes the testing, changes, finger-pointing, backroom dealing, and more finger-pointing. In technical terms, IT has responsibility for both the validation of the application (Did we build the right system?) and the verification requirements (Did we build it properly?).
A BRMS (business rule management system) isolates the pure business logic of a project from the control logic and presentation code and puts it into a rule base space. Effectively, a BRMS moves verification back to the business department where it belongs. Using a BRMS, the business user, not the IT department, writes the rules, changes the rules, and deletes the rules. The IT department is responsible for the construction of the system so that it is fast, scalable, and easily maintainable.
Fair Isaac's Blaze Advisor and ILOG's JRules are the longtime leaders in enterprise BRMS. JRules has always played catch-up to Blaze Advisor on rule building and management, but has led Blaze in speed. Now, as each reach version 6, JRules has some advantages in rule management and Blaze Advisor has turned on the after-burners, surpassing JRules in performance. I have finally compared these two solutions head-to-head, ringing all the bells and blowing all the whistles. I also ran the Waltz DB benchmarks on both rule engines for speed comparisons.
In interpreting benchmark results, remember one thing: They are general in nature and stress the engine in ways that your company may or may not need to, especially if the rules in your application are not especially interactive. What does a BRMS do for the bottom line? Last November at the annual Business Rules Forum, I heard customer after customer regale audiences with how they had saved incredible amounts of time and money by using a BRMS. How much? Some reduced the time required to make changes from months to days or hours or minutes. Some now make changes within minutes, test within an hour or two, and put them into production the same day.
Fair Isaac Blaze Advisor 6.1
Blaze Advisor 6.0 and 6.1 are virtually the same except for one thing: speed. Unlike previous versions, Blaze Advisor 6.1 uses the Rete III algorithm that Fair Isaac obtained when it purchased RulesPower Technology last year. The speed increase, compared to previous incarnations of Blaze Advisor, is phenomenal. For example, Blaze 6.1 completed the Waltz DB 16 benchmark on my Windows XP machine (2.2 GHz and 1MB of RAM) in 3.5 seconds, putting Blaze far ahead of JRules (88 seconds), but still a few steps behind OPSJ from Production Systems Technologies (1.6 seconds), still the fastest thing on the planet Earth. Take a gander at my benchmark results (http://www.infoworld.com/4286).
Blaze Advisor uses a form of backward chaining that uses a "when needed" flag on a rule as well as a "when changed" flag on attributes, helping to speed the processing of certain common problems such as configurations and resource management. In addition, Fair Isaac has built-in score models for insurance applications, loan applications, and other financial problems. The rules can use either developer-centric dot notation or they can use regular English (or French or whatever language). As in JRules, however, these regular expressions must be added by the programmer during the development process. Blaze Advisor has always been one of the most friendly of the BRMS tools to business users, providing pleasant graphical development environments and understandable rule flow charts, decision tables, rule trees, and object models.
Reporting remains one of the best things about Blaze Advisor. Built-in reports will tell you anything about any object, rule, agenda stack, rule node, or anything else. You can report cross references between rules and objects, making it easy to see which objects are used by the rules, which rules use a specific object, and so on. Because Blaze Advisor uses standard tags, you can document author, version, exceptions, and virtually anything else you want to keep track of.
Blaze Advisor remains one of the better rule-management systems for the enterprise, combining a full-featured rule repository, business-friendly rule building, and reporting on almost anything that can be thought of by either the business user or the developer. Version 6.1, thanks to the incorporation of Rete III, now moves Blaze into the front of the pack in performance. GUI and language implementation could be better, considering the asking price. Fair Isaac should also make Blaze Advisor's developer tools available as Eclipse plug-ins.
ILOG JRules 6.0
JRules 6.0 brings to the table a lot more "goodies" than earlier versions. For one, the BR Studio (formerly a downloadable freebie) is now part of the suite and works with Eclipse
3.0, IBM Rational Application Developer, and IBM Rational Software Architect. The Rule Team Server now allows rule administrators to assign various levels of responsibility, and control access to the rules themselves, based on user roles. The JRules Repository has been divided into two sets of rule repositories (one for business users and one for developers) that are kept in synchronization by the Rule Execution Server.
Permission levels are granular to such an extent that they can support multiple projects across large groups of developers and business users. You can set permissions for each individual by 11 different roles (such as modeler, programmer, knowledge engineer, or business analyst), with the permissions associated with each role being further subdivided into five or seven more levels.
The other really cool rule management feature is the separate repositories for the business analysts and developers. The developer repository is basically a "checked-out" version of the business analyst one. The two sides can be synchronized at any given time, but there is a date/time problem: By default JRules teams located in different time zones will see the rules execute in the time zone where the rules are located rather than the time zone of the user. An update, version 6.0.1, adds a feature that allows the use of either time zone.
On the down side, ILOG made a number of changes that make the tool far less easier to use for both the experienced programmer and the experienced AI geek. No longer are PDF manuals included in the release (they are online, but require an ILOG ID and password), and the formerly user-friendly documentation has taken a sharp turn for the worse. Finding the information you need can be nightmarishly difficult. Considering that version 6.0 is by far the most complex and difficult-to-understand implementation that ILOG has ever delivered, now was not the time to hobble the documentation.
Further, JRules no longer provides a way for developers and engineers to access the rules and the standard ILOG Rule Language "irl" files in the same tool. Developers can generate and access "irl" files when using the Eclipse-based BR Studio, but the rules are accessible only through the JRules GUI—a fine tool for business users but painful for geeks. Developers and engineers need a way to work with the rules and the "irl" files in the same place.
Blaze Advisor and JRules continue to lead the BRMS pack in features suitable for enterprises, and both should be on the consideration list for most enterprise deployments. If you need great reporting templates, maximum speed, and lots and lots of factory support, Blaze Advisor is probably the answer. If rule building and rule management are more important than runtime performance—if you need different views of the rules for different classes of users, or you want to customize the rule-building GUI and language for your business or industry—then JRules may be the better choice. The pricing of the JRules starter pack, which includes unlimited use of BR Studio across the company, is also quite favorable.
|Company:||Fair Isaac: http://www.fairisaac.com/fairisaac|
|Product:||Fair Isaac Blaze Advisor 6.1|
|Cost:||0,000 for one developer and one run-time license; projects normally total 00,000 plus|
|Platforms:||Any operating system that supports Java (Mac OS X not officially supported)|
|Bottom Line:||Major enhancements over earlier versions include richer reporting and increased speed, the inclusion of the Rete III algorithm enabling it to surpass old rival JRules in performance benchmarks. Blaze still provides a wealth of tools for implementation, extensive debugging, and strong factory support. GUI and rule language should be next targets for improvement.|
|Verbal Score:||Very Good|
|Product:||ILOG JRules 6.0|
|Cost:||Starts at 0K for the Starter Pack up to 00,000 or more depending on whether the customer is applying the BRMS to a single application, multiple SOA-based applications, or the entire enterprise|
|Platforms:||Any operating system that supports Java (Mac OS X not officially supported)|
|Bottom Line:||JRules 6 brings better performance, stronger reporting, and extra-fine levels of control over rule access and modification. JRules maintains its edge in friendly tools for developers and business users, but slips on ease of implementation and documentation compared to the polished version 5. Despite the speed boost, JRules now lags behind Blaze Advisor in performance.|
This story, "Clash of the Java rule titans" was originally published by InfoWorld.