InfoWorld has a special report on business rules. “What if, rather than spending hours drafting meticulous requirements documents, business analysts could design and implement software logic directly, without the intervention of developers? That’s the goal of rules engines, and they’re changing the way IT does business.” From the introduction:
A BRMS (business rules management system) can bridge the chasm between business and IT by giving control of the logic and even the code to business analysts. That heretical idea presupposes a fundamentally different approach to development, where developers isolate an applications business logic from its data validation logic usually a GUI of some kind and from its flow control. The business logic then gets its own container, the BRMS, in which business analysts code business rules in a simple, English-like programming language.
Business analysts typically have a much more distant relationship with enterprise applications than they do with, say, a spreadsheet model on the desktop. If people on the business side want a new app built or want changes made to an existing one, they submit a request to the IT department, which probably hasnt the foggiest idea what theyre talking about. So begins an endless round of meetings between business and IT where the ambiguities get ironed out.
At some point, developers start writing the code, either building business rules into software components running on an app server or implementing them in stored database procedures. The development team then tests the code and hands it back to business analysts for verification at which point its rejected because the results are nothing like what the business analysts envisioned. A few months and a few code rewrites later, the business side finally gets something it can live with.
With a BRMS, business analysts both determine and write the business logic. All thats necessary is that they know how to write a rule in English. A business rule typically goes like this: IF certain events occur or conditions exist THEN certain events should happen or ELSE other events should happen. Each IF-THEN-ELSE statement is a business rule. Each rule is declarative in nature and may interact with other rules. A BRMS allows business analysts to see, understand, code, and maintain those rules without help (well, sometimes with a little help) from IT.
A BRMS chews on the rules until it produces a solution. It continues to loop through the rules over and over again until there are no more rules that can possibly be executed. The whole idea is that changing data drives the way rules execute and that interacting rules reduce the need for human intervention. Related sets of rules may govern loan approvals, insurance policies, shipping carrier selection, and so on.