Fair Isaac is probably best known for its credit scoring applications and the FICO consumer credit rating system. The technology it uses to help determining credit scoring goes into its Blaze Advisor rules engine, recently upgraded to version 6.1.
Like JBoss Rules, Blaze Advisor uses Rete-based algorithms to handle rules, and it claims that Advisor 6.1's Rete III solution engine (acquired with RulesPower) is 100 times faster than its previous Rete I engine when dealing with complex rule sets. This is good, as if you're dealing with large data sets slow computation times can be a problem, especially if a quick decision needs to be made as part of a workflow. This new approach can help improve customer experiences – reducing call centre hold times or increasing ecommerce throughput.
Blaze Advisor gives you two ways of building rules – first, using a natural language approach (intended for business users) and, second, with a dotted notation for developers. Fair Isaac's SRL (Structured Rule Language) uses a simplified English grammar to convert policies into rules, though other common rule development features are available – including decision tables and scorecards. Once a rule has been implemented, it can be modified on the fly using a web interface. This means business users can change rules on running systems without requiring developer assistance.
The same web UI can also be used to test rules before they're deployed, and a full debugger is also available. Updated rules can be scheduled, or installed on the fly. Business users can be provided with reusable templates that help manage the changes they can make – making sure that all your rules are consistent, and reducing the risk of error. A visual editor can be used to help design rule flows, and rule sets can be used to collect together steps for reuse.
Developers can use Blaze Advisor with Java and COM, and it comes with deployment tools that can deliver rules as web services, enterprise Java Beans, COM+ and .NET. It's an approach that should simplify integration with existing applications, and development of new business tools. A decision containing many rules can be used as a component in any application. Blaze Advisor also comes with tools to help manage your rules, and a rule repository that can be used to hold and share rules, using XML data. Alternatively, rules can be stored in databases or on a LDAP directory.
The XML format used is compatible with Blaze Advisor's SRL, and existing rule sets can be converted to and from XML. As rules engines can easily become critical business systems, Blaze Advisor is able to use its repository to handle access controls. The same approach is used for audit – critically important if you're deploying a rules engine in financial systems. You can also tag rule steps with metadata, to help organise and document your rules – and use the built-in query engine to find specific rule entities.
Fair Isaac supports JSR 94, and is part of the JSR process, so you can use Blaze Advisor with J2EE 1.2 and higher. You can also use JDBC or web services to integrate with existing applications. Blaze Advisor's rules server can also be deployed with .NET systems, and is able to work with relational databases, XML files, and message queues (among many other information sources), using them as rule inputs. Outputs can be returned by the same mechanisms.
Fair Isaac describes the Blaze Advisor as an Enterprise Decision Management (EDM) tool, and its overall EDM vision is extremely interesting. It's a future where rules engines and machine learning come together, giving us systems that generate business rules on the fly – and in real-time. It's not the only company looking at the automated, model-driven rules engine of tomorrow – but it seems to be the closest to delivering it.
The world of business rules is a complex one, with many products vying for your attention. Businesses that want to develop applications which need to work extremely fast and with large rule sets should consider Fair Isaac's Blaze Advisor. It has benefited from the work needed to run the FICO credit scoring platform, and has the speed and volume needed to handle complex rule sets.
Most businesses won't need that much power, and ILOG's JRules is more than suitable for their needs. It too handles large rule sets and high user volumes and, while Blaze Advisor has the edge on speed, JRules is easier to use. Rule development and rule management tools are mixed to great effect, and both traditional developers and business analysts will be able to develop and manage rules relatively easily.
JBoss Rules is really for smaller problems, and for developers that want to be much more hands on. You'll get a lot of experience working with JBoss Rules, and you'll be able to build your solutions into your applications. ®
I really liked this, but comnig from a C++ background where we're not privileged to have such infrastructure software I would have liked more of a theoretical background into the rules, along with some references ... This is exactly a problem I'm facing at work today so for once an hour that I've spent on the net is justified!)
Rules in open vocabulary executable English over SQL
As a follow up to this most informative article on rules, folks may be interested in some emerging technology for rules in open vocabulary executable English over SQL.
The technology works as a kind of Wiki for writing and running applications in a form similar to syllogisms.
It's live, online at www.reengineeringllc.com , and shared use is free.
There's nothing to download, just point a browser to the site to view, run and change the business intelligence and other examples provided, and to write and run your own examples.
The underlying engine gives the rules a highly declarative meaning. For example, changing the order of the rules does not change what they do.
From the rules, the engine can automatically generate and run SQL that would be too complex to write reliably by hand. The engine can also explain the results of running the generated SQL, in hypertexted English, at the business level.