Few people know more about business rules than Ron Ross, executive editor of BRCommunity, principal of Business Rule Solutions and co-chair of the annual Business Rules Forum Conference. He said when you talk to most companies about business rules, they will say they've been doing them for years. The problem comes from how they've been implemented.
At their most basic, business rules are criteria for making business decisions. Most companies have them, but they are not always well organized. A modern approach involves separating the rules from the code and plugging in an engine set up to interpret, edit and execute them. In this fashion, business users can more quickly edit rules to get the processes more in line with changing business needs.
"They must be taken out of procedural artifacts – the application code and process models," said Ross. "What's really key first and foremost, to be effective with business rules, is some convention for expressing the rules declaratively." This can take the form of a decision table or even English language sentences.
The idea is to keep all the business rules in one repository, written in a way that business users can quickly grasp and edit as needs change. In this way, business rules act as a coordinating force between process models and data models.
Ross said this is just a natural idea if you're thinking about SOA. From an architecture point of view, he said business rules should be treated as a service.
Business rules engines have a long history in enterprise computing, and some recent developments are worth noting. In January 2009, IBM completed the $340 million acquisition of ILOG, bringing its business rule management system (BRMS) into Websphere. In October of 2008, Oracle bought Haley, a business rules player that had been known for working well with Oracle's Siebel CRM software. Oracle owns two other rules engines, LogicalApps and RuleBurst. Back in October 2007, SAP purchased BRMS provider, YASU, enhancing its Net Weaver integration platform.
This, combined with some of the recent BPM-related acquisitions, has Ross encouraged that a tipping point grows closer.
"I think we've hit a big watershed with companies like IBM having both business rule engines and business process management systems," said Ross, "and thinking about how they can combine for more effective services."
When it comes to actually implementing business rules, Ross recommends a process called incremental design. Under this model, a business develops some initial rules and can route a particular amount of work to those rules. Over time, the business can develop more specific rules as more specific use cases become clear. In an incremental fashion, more and more workload is handed over to the BRMS for automation.