Jump to content

Business rules approach

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Afl4act (talk | contribs) at 12:44, 24 August 2006 (correct typo). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Business rules are abstractions of the policies and practices of a business organization. The business rules approach is a development methodology where rules are in a form that is used by, but not embedded in business process management systems.

The Business Rules Approach formalizes an enterprise’s critical business rules in a language the manager and technologist understand. Business rules create an unambiguous statement of what a business does with information to decide a proposition. The formal specification becomes information for process and rules engines to run.

Advantages

The adoption of business rules adds another tier to systems that automate business processes. Compared to traditional systems, this approach has the following major advantages,

  • lowers the cost incurred in the modification of business logic
  • shortens development time
  • rules are externalized and easily shared among multiple applications
  • changes can be made faster and with less risk

Business rules represent a natural step in the application of computer technology aimed at enhancing productivity in the workplace. Automated business processes that have business logic embedded inside often take substantial time to change, and such changes can be prone to errors. And in a world where the life cycle of business models has greatly shortened, it has become increasingly critical to be able to adapt to changes in external environments promptly. These needs are addressed by a business rules approach.

Through the use of business rules, the agility of the business is enhanced. And the manageability of business processes also increases as rules becomes more accessible.

Technical Details

The programs designed specifically to run business rules are called rule engines. More complete systems that support the authoring, deployment and management of business rules are called business rules management systems (BRMSs).

Many commercial rule engines provide the Rete algorithm, or a proprietary algorithm that embodies many of the principles of Rete. However there are other execution algorithms such as the sequential algorithm (ILOG and Blaze Advisor terminology), algorithms for evaluating decision tables/trees as well as algorithms tuned for hierarchical XML. The Rete algorithm is a stateful pattern matching algorithm designed to minimize the evaluation of repetitive tests across many objects/attributes and many rules. There are different fields of usage which are best for Rete-based and non-Rete-based execution algorithms. For simple stateless applications, with minimal sharing of conditions across rules, a non-Rete-based execution algorithm (such as the sequential algorithm) may be preferable. For evaluating decision tables and trees an algorithm that exploits the hierarchical relationships between the rule conditions may perform better than a simple Rete or sequential algorithm tuned for discrete rules.

Business rules can be expressed in a way similar to conventional programming languages or in languages resembling natural ones. Haley Systems' HaleyAuthority and RuleBurst Limited's RuleBurst 8 actually use natural language understanding to allow users to write rules in English rather than code. In some commercial BRMS's such as Pegasystems' PegaRULES, ILOG's JRules, Fair Isaac's Blaze Advisor or Innovations' visual rules, rules can also be expressed in user-friendly rule forms such as decision tables and decision trees. Provided with a suitable interface to design or edit decision tables or trees, it is possible for business users to check or change rules directly, with minimal IT involvement.

When rules are expressed in a way similar to a natural language, it is necessary to first define a vocabulary to be used, which contains words and expressions that correspond to business objects and conditions and operations involving them. To make the rules executable by a rule engine, it is also necessary to implement the operations and conditions in a programming language. With a defined and implemented vocabulary, it is relatively easy to write rules in a BRMS. Changes can also be made quickly as long as they can be expressed in the existing vocabulary. If not, the vocabulary must be expanded accordingly.

Rules can also be modelled, with the business user taking the part of mapping their business logic and IT being responsible for integration of data as well as integration of the generated code into the target application. Business rules are also key to the Enterprise Decision Management approach to decision automation.

Increasingly, business rules are also viewed as a critical component of Business Process Management solutions, due to the need to ensure flexibility.

Relation to database management

As argued by Christopher J DATE, business rules translate into data integrity constraints when one thinks in terms of the relational model of database management. Thus, a truly RDBMS could be thought in terms of a declarative business rules engine with added data management capability. This is currently implemented in Rel and Alphora Dataphor.

However, business rules need not only be regarded as constraints. They can also be used to specify constructive business policies, such as "preferred clients get a discount of 10%". Used in this way, business rules are like SQL queries, rather than data integrity constraints. This solution direction is implemented in USoft by Ness.

Relation to Business Process Management

Some analysts believe the combination of business rules technology with Business Process Management offers an agile approach to workflow and enterprise integration. BPM and BR software support business goals by managing and running business processes and business rules in separate yet complementary ways. A business process is often a complex map of flow controls. It might have many subprocesses, decisions and while loops. Wherever a decision or while loop appears, business rules can evaluate the data provided by the process and control the basis for change in flows.

Often there are separate reasons for updates to processes or rules. New regulations or business strategies may affect the rules without changing core business processes. New applications or procedures might change the business process. In either case, a composite approach to rules and processes can be very flexible.

As more and more BPM vendors either add business rules engines to their BPM engines or OEM business rules management systems, business rules seems to be becoming a subset of BPM.

Business Rules Engine Providers

Here is a list of Rules Engines

Haley Systems is a visionary leader in business rules managment systems. Haley's inference engine is one of the fastest and most scalable business rules engine. Because this rules engine runs independently of any application, data is processed quickly and business rules are easily accessible.

Fair Issac Corp Blaze Advisor and Ilog SA JRules are the leading BRMS products. These are sophisticated, feature rich BRMS solutions with support for the complete business rules lifecycle, and easy to integrate scalable deployments.

RuleBurst 8 leads the market in business rule capture, employing Microsoft's Word, Visio and Excel environments for this purpose. In the public sector RuleBurst is often used to capture business rules directly from legislation.

Corticon is a novel business rules solution which provides powerful rules validation capabilities.

Microgen Aptitude is the next generation of business rule technology incorporating business-process automation, robust, scalable rules-based processing and exception processing capabilities including workflow. Microgen Aptitude helps organisations to gain control and visibility of their business processes allowing them to effect change quickly and with much reduced business risk.

QuickRules Java and .NET Rules Engine QuickRules Business Rules Management System (BRMS) helps enterprises to separate and externalize business rules from the application code. With an integrated development and deployment environment, the QuickRules BRMS provides the tools required to write, edit, and test business rules.

inrule .Net Rules Engine InRule provides technology for the authoring, management and verification of application decision logic that involves rules, calculations and dynamic user interfaces. InRule's declarative development approach captures business intent by allowing users to encode rules without the overhead of custom programming, which results in highly adaptive business processes. InRule's evolving "rules console" approach utilizes a rules catalog that provides visibility into core logic and facilitates sharing that logic across applications.

Versata Rules Engine Versata’s products are used to build applications, components and services for J2EE and SOA architectures using declarative business rules.

Jess Java Rules Engine Jess is a rule engine and scripting environment written entirely in Sun's JavaTM language by Ernest Friedman-Hill at Sandia National Laboratories in Livermore, CA. Using Jess, you can build Java software that has the capacity to "reason" using knowledge you supply in the form of declarative rules. Jess is small, light, and one of the fastest rule engines available. Its powerful scripting language gives you access to all of Java's APIs.

References

  • ROSS, Ronald G (2003). Principles of Business Rule Approach. Addison-Wesley. ISBN 0201788934.
  • VON HALLE, Barbara (2001). Business Rules Applied. Wiley. ISBN 0471412937.
  • MORGAN, Tony (2002). Business Rules and Information Systems: Aligning IT with Business Goals. Addison-Wesley. ISBN 0201743914.
  • DATE, Christopher J (2000 April 12). What Not How. Addison-Wesley. ISBN 0201708507. {{cite book}}: Check date values in: |year= (help)CS1 maint: year (link)
  • DEBEVOISE, Neilson T (2005 July 12). Business Process Management with a Business Rules Approach. Business Knowledge Architects. ISBN 0976904802. {{cite book}}: Check date values in: |year= (help)CS1 maint: year (link)
  • http://www.javarules.org
  • http://www.squidoo.com/businessrules/