Columns

New Business Rules to Live By

The need to comply with increasingly complex regulations, while struggling to maintain an enterprise’s momentum and agility, is pushing businesses to look harder at an old challenge: finding better ways to automate repetitive software processes, while allowing for variations.

Business rules management technologies, which separate the logic behind a business decision from the mechanics of carrying it out, simplify development and promise business users greater ability to manage changes to business processes.

BRE on the cheap

"Maintaining a single view of products, customers, locations and financial accounts is a significant challenge," says Henry Morris, group VP and GM for IDC's application strategies research.

For small shops on tight budgets,or developers interested in exploring business rules development and management, there are products available that don’t rate as full enterprise BREs. Jess (www.jessrules.com) is a pure Java rules engine and scripting environment written by Ernest Friedman-Hill, a scientist at Sandia National Laboratories. By all accounts, it is well supported by Friedman-Hill and a worldwide user base. Jess isn’t a feature-laden, enterprise BRE like the products from ILOG, Fair Isaac, CA, Haley and the like, although it offers some sophisticated features and is based on Charles Forgy’s Rete algorithm, just like the big players are. For those looking for a price-is-right option for a small business, or a way to dabble in business rules programming without making a big commitment, Jess may be the way to go. There are other small-scale options as well. One resource is www.javarules.org, which is devoted to building business rules apps or rules-based systems using the Java programming language.

Linda L. Briggs

A business rules engine gives the IT side specialized languages that allow developers to write simple logical statements about the business. “It turns out to be a lot less code because an engine interprets those statements,” essentially filling in the blanks, explains John Rymer, an analyst at Forrester Research. Instead of describing exactly how each request should be processed, as in Java, developers write statements. The BRE then decides which statements are relevant to each particular case. It’s still development work, but using a different development method and language.

The BRE market has matured over the past several years, and more companies are starting to take a serious look at enterprise-level BREs. Rising Sun That was the case with Sun Microsystems, which in 2004, began to consider replacing its numerous homegrown BRE systems with a commercial product. Sun’s componentized infrastructure (generally XML-based and Webservices oriented) was a major factor in their choice of Fair Isaac Blaze Advisor, says Rex Martin, lead architect for the BRE implementation. It is a Java-based rules management system, which Sun is using to evaluate a variety of complex, customerfacing implementations. Sun first used the BRE as part of risk analysis in its services area, where software analyzes a customer system to determine if a problem exists.

Today Sun uses Blaze Advisor to build rules services that range from simple to extremely complex. One simple set of services is a rule set built around a recommended set of software patches, says Martin. With the rule set, the patch set is self-aware and can maintain itself without human interaction.

A more complex set of services is a series of rules that draws on data from multiple data sources, such as patches, contracts and Sun’s customer account management system. With Blaze Advisor, Martin says, Sun can aggregate all the data, pull it forward, represent it to the rules service and provide a succinct view of a particular problem or customer. All that can be done without exposing each data source to developers or carrying the data sources forward to the customer in the service itself.

No choice but to go with BRE

It’s not well known, but Microsoft offers a BRE as part of BizTalk Server 2004. It’s called the Microsoft Business Rule Engine. This tool is designed for developers—not business users— but shops working in .NET should keep an eye on what Microsoft is up to.

According to Forrester analyst John Rymer, the Rete algorithm-based product offers strong rules reuse and change management features, but lacks such features as rule modeling tools, integration with Visual Studio .NET—or any tools for nonprogrammers. Microsoft is keeping mum about its plans for BRE.

Except for Oracle, which Rymer says will shortly announce its BRE, to be called Oracle Rules, none of the other major platform vendors except Microsoft offer a rules product as part of their stack. Those vendors include IBM, SAP and BEA. Oracle Rules, which the company has just begun to promote, is a basic rule environment for Java developers, much as Microsoft’s is a basic rule environment for .NET.

Will some of the other biggest software companies move to build—or more likely, acquire—a BRE? As rule engines become increasingly important to business, Rymer says, "I don’t see that they have a choice."

Linda L. Briggs

In some instances, the Blaze BRE’s ease-of-use has allowed Sun to use non-developers—knowledge engineers, as Sun calls them—for rules creation and maintenance. Initially, Sun planned to have developers write code as needed within the product’s IDE. However, the Fair Isaac consultants built the core rules service of the Blaze IDE. “We were able to [use] our knowledge engineers and get them working in the IDE to code rules, without having to get down into all the underlying layers,” Martin explains.

New focus on business rules
The BRE landscape is relatively small and fragmented. Along with Fair Isaac and ILOG, other companies that offer full-featured, enterprise BREs include Computer Associates, Pegasystems, Haley Systems, Yasu and Corticon. But doubledigit growth in 2005, along with several recent key acquisitions by bigger players, point to a growing market, with more mergers and acquisitions likely.

Competitive issues such as agility and regulatory compliance are fueling the market’s growth. “[Sarbanes-Oxley] is the tip of the iceberg,” Rymer says. A bigger issue is: When policies are embedded in apps as logic, any change—such as a new requirement or added compliance policy—means changes must be made anywhere that policy occurs. Changes like that are required often, so software maintenance becomes more costly, as does tracking changes to ensure they’ve been made correctly throughout the system.

Not only are software costs rising, but the risk of errors increases, a problem that top management must avoid more than ever because of SOX mandates. “If you can describe policies in one place and apply those policies to multiple applications,” Rymer says, “you’ve got a much better chance of consistent application of policies across groups. It’s huge, having [policies] all in one central location.”

New rules require a new mindset

Integrating a BRE into the development process can mean significant changes in the development approach and mindset. That’s a lesson developers learned at Catalyst International, a supply chain integration firm. Before the company used ILOG JRules, changes to the system involved a typical process: system design parameters were linked to jump statements and to pieces of code, and when design changes were required, a software engineer made them, notes VP of product management, Noah Dixon.

Moving to JRules introduced significant changes. "Now, [developers] bring up the rules editor, they manipulate the different rule sets—it’s a completely different approach," Dixon explains.

The change hasn’t been easy. "When you’re using a rules engine like this, you’re developing software in different ways," he says. "I’m not going to sugar-coat this…The way we did things before had to change. There was a transition [period]."

The programming techniques and code aren’t any different, Dixon says. The real impact of using a BRE is on system design. Developers must focus on making sure the software exposes the right information to the rules set, and that it is stated in a way that can be understood by a user. "So, instead of system parameters like we used to have before," he says, "what we do is we make available statements and conditions and results, and then the user can choose which they want to do."

"If you’re going to use the rule engine for something, change the way you’re looking at the critical points in your application,” he advises. “Write down in English what it is you want to do, and forget about code to start. What’s the process? Because those points where you need to flex [are] where you want to integrate your rules engine. You want to make the steps from one flex point to another flex point as straightforward as possible…Make sure you have the data, and include lots of user-defined fields so people can just plunk ’em in."

Linda L. Briggs

Chris Robison, director of the agency technology group at UICI, a company that sells insurance products to the self-employed and to other markets, agrees with Rymer. Independent agents in the field meet with customers and use UICI’s salesforce automation software to prepare quotes on the spot. Since rolling out Haley BRMS, Robison says he now has “all the business rules for all of our products in one repository. And anyone can read that repository. That’s the biggest advantage.”

An equally important feature in Haley, Robison says, is it enables users to write business rules in plain English—albeit with strict syntax rules. To UICI, that capability offered the enticing potential of eventually having business people manage rules. The company considered other BRE products, Robison says, but because they were table-driven, “we knew it would always [require] a specialized skill set to manage the rules.” Instead, a product redesign this spring will eventually put the business side fully in charge of rules sometime later this year.

Good idea, painful process
Creating new rules may be getting easier with some of these products, but a big challenge at UICI and elsewhere involves gathering the business rules from multiple apps and documentation throughout the org.

“It can be a painful process,” Forrester’s Rymer says. “One issue is that a lot of businesses haven’t recorded what their policies are. It’s similar to issues we’ve seen with business process management. It’s a wonderful idea, but what if 90 percent of customers can’t describe their processes? Or if, when they do, they find that they’re broken?”

The process of collecting rules and policies from all over a company can be daunting. Sources might include printed and described accounting rules, rules embedded in running apps—including COBOL code on mainframes, printed compliance rules from the government, various banking regulations and on and on.

“That can be a problem with both BRE and BPM,” Rymer says. “What if your back-end data is a total mess, and you can’t really expose it? You’ll have to do some work first to pull it into shape.”

At UICI, Robison faced that challenge. “From the business rules side,” he says, “there was no single repository of business rules. Some were hard-coded in the legacy application, some were hard-coded in other applications that fed us data.”

Gathering rules, rather than entering them into the system, proved to be the bigger challenge. With Haley set up and the nomenclature established, “it’s as simple as typing a sentence,” Robison says. For example, “This health plan may not be sold to a person over the age of 60” or “If the deductible of the base plan is less than $2,000, then the rider on that base plan is not allowed.”

“If you set up the language right, it’s that simple,” Robison says. “Haley knows your dictionary, and there’s really no room for error.” As you write a rule, it tells you what word should come next from a list of words it’s expecting, he explains. Business rules also enable a different approach to programming.

With Haley BRMS, Robinson says, “You no longer have to make sure that you’ve coded a relationship between one object and another object.” With a car, for example, he explains, “You just need to pass four wheels objects into the car object, and it would know from that point on that those wheels are attached to the car, but you didn’t have to code that in your application.”

English-like coding
Robison’s comments highlight a challenge some software shops face when a company adopts a business rules engine: it changes how they program. The use of a rules engine at Catalyst International, a company that provides integrated supply chain solutions to Fortune 50 companies, has altered how developers there look at problems.

Catalyst has integrated ILOG JRules, a Java-based business rules management system, into several of its supply chain management products. In doing so, it’s created products that allow non-technical users at customer sites to make fairly complex changes to software processes.

Using a rules engine, according to product management VP, Noah Dixon, has changed the way he and his developers look at problems. “Instead of saying, ‘We’ve got to do this to a piece of code,’ we say, ‘What is it you want to say? Put it down into words…Then we can say, ‘Oh. [Just] expose that data and you’re done.’”

One Catalyst product uses ILOG as part of supply chain management software for slotting. Slotting means deciding where products should be placed in a warehouse for maximum efficiency, based on factors including demand, consumption trends, dimensions and weight. That sort of app can be complex, Dixon says, with giant customers managing tens of thousands of stores and products. In addition, there are huge variations in business rules from site to site—and daily changes in rules.

A typical Catalyst customer isn’t from IT, Dixon says, but someone focused on the facility’s operation—“definitely not a software engineer.” To provide a sufficiently flexible solution for users, Dixon says, his team of developers “positioned every crucial point in the decision-making process at an integration point with the [JRules] engine,” making each decision point available to business users as an English-like choice offered through drop-down menus. Users can select a statement and input parameters as needed.

By allowing business users to make the changes they need directly to the software, Catalyst has reduced dev costs. Dixon says the company is looking at additional apps for implementing JRules.

Rules without programmers' help
Managing a complex sales campaign is a task for BREs that is well suited for business people, removing developers from at least part of the process.

Java developers at electronic marketing firm BDR have used the BRE engine in JBoss Enterprise Middleware System to create tools that allow marketing departments to manage complex sales campaign lifecycles, according to John Clegg, product manager of eMessagePlus at myBDR.com.

The open-source pedigree behind the BRE called Drools was a key reason it was selected for building an integrated marketing tool for sales managers at BDR. Drools, a Rete-based engine written in Java, became part of JBoss last fall.

At BDR, a sales campaign is a series of messages delivered to select customers based on time or events. As customers respond, the program needs to make decisions throughout about what step to take next--when to stop delivering information to a group of customers, for example, based on an action taken, or when to send more information.

Using JBoss, Clegg's team of seven Java developers built a tool to allow business users to use rules to evaluate customer reactions and take a given action-- to extend the sales cycle, for example--without involving programmers.

Giving that sort of power to users, even savvy ones, presents challenges. "If you give non-technical users the ability to use declarations to change business logic within an application," Clegg says, "you have to be [careful] that you're not going to cause performance issues." To address that, Clegg put the rules engine behind a restrictive graphical user interface that allows the campaign managers to observe actions and use various drop-down menus to make decisions, but within limits.

The specialized languages in BREs can reduce the amount of code required, as well as make the maintenance of business processes easier. Eventually, users may be able to write and maintain business rules in ways beyond the examples here, but for for the time being, that's still what Forrester's Rymer calls "the new frontier." He contends that now most of the issues with BREs lie not with the tools and technology available, but with the readiness of organizations to adapt to building applications in new ways.