Business rules approach
   HOME

TheInfoList



OR:

Business rule A business rule defines or constrains some aspect of business. It may be expressed to specify an action to be taken when certain conditions are true or may be phrased so it can only resolve to either true or false. Business rules are intended to ass ...
s are abstractions of the policies and practices of a business organization. In computer software development, the business rules approach is a development methodology where rules are in a form that is used by, but does not have to be embedded in,
business process A business process, business method or business function is a collection of related, structured activities or tasks by people or equipment in which a specific sequence produces a service or product (serves a particular business goal) for a parti ...
management systems. The business rules approach formalizes an enterprise's critical business rules in a language that managers and technologists understand. Business rules create an unambiguous statement of what a business does with information to decide a proposition. The
formal specification In computer science, formal specifications are mathematically based techniques whose purpose are to help with the implementation of systems and software. They are used to describe a system, to analyze its behavior, and to aid in its design by verif ...
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. Business rules enhance
business agility Business agility refers to rapid, continuous, and systematic evolutionary adaptation and entrepreneurial innovation directed at gaining and maintaining competitive advantage. Business agility can be sustained by maintaining and adapting the goods an ...
. And the manageability of business processes also increases as rules become more accessible.


Technical details

The programs designed specifically to run business rules are called
rule engine A business rules engine is a software system that executes one or more business rules in a runtime production environment. The rules might come from legal regulation ("An employee can be fired for any reason or no reason but not for an illegal rea ...
s. More complete systems that support the writing, deployment and management of business rules are called business rules management systems (
BRMS A BRMS or business rule management system is a software system used to define, deploy, execute, monitor and maintain the variety and complexity of decision logic that is used by operational systems within an organization or enterprise. This logic, a ...
s). Many commercial rule engines provide the
Rete algorithm The Rete algorithm ( , , rarely , ) is a pattern matching algorithm for implementing rule-based systems. The algorithm was developed to efficiently apply many rules or patterns to many objects, or facts, in a knowledge base. It is used to deter ...
, a proprietary
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algorithms are used as specificat ...
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, and algorithms tuned for hierarchical
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
. The Rete algorithm is a stateful pattern matching algorithm designed to minimize the evaluation of repetitive tests across many objects/attributes and many rules. Different fields of usage 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 conventional programming languages or natural languages. In some commercial BRMSs 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 natural language, it is necessary to first define a vocabulary that contains words and expressions corresponding to business objects and conditions and the 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 A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
. 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. Separating the vocabulary from the logic makes it possible for business rules to be modeled, with the business user mapping their business logic and with IT integrating data and the generated code into the target application. Business rules are also key to the
enterprise decision management Decision management, also known as enterprise decision management (EDM) or business decision management (BDM) entails all aspects of designing, building and managing the automated decision-making systems that an organization uses to manage its inter ...
approach to decision automation. Increasingly, business rules are also viewed as a critical component of
business process management Business process management (BPM) is the discipline in which people use various methods to discover, model, analyze, measure, improve, optimize, and automate business processes. Any combination of methods used to manage a company's business pro ...
solutions because of the need to ensure flexibility.


Relation to database management

As argued by
Christopher J. Date Chris Date (born 1941) is an independent author, lecturer, researcher, and consultant, specializing in relational database theory. Biography Chris Date attended High Wycombe Royal Grammar School (U.K.) from 1951 to 1958 and received his BA i ...
, business rules translate into
data integrity constraint In the pursuit of knowledge, data (; ) is a collection of discrete values that convey information, describing quantity, quality, fact, statistics, other basic units of meaning, or simply sequences of symbols that may be further interpreted. ...
s when one thinks in terms of the
relational model of database management The relational model (RM) is an approach to managing data using a structure and language consistent with first-order predicate logic, first described in 1969 by English computer scientist Edgar F. Codd, where all data is represented in terms of t ...
. Thus, a true
RDBMS A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relation ...
could be thought of in terms of a declarative
business rules engine A business rules engine is a software system that executes one or more business rules in a runtime production environment. The rules might come from legal regulation ("An employee can be fired for any reason or no reason but not for an illegal rea ...
with added
data management Data management comprises all disciplines related to handling data as a valuable resource. Concept The concept of data management arose in the 1980s as technology moved from sequential processing (first punched cards, then magnetic tape) to r ...
capability. 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.


Relation to business process management

Some analysts believe the combination of business rules technology with
business process management Business process management (BPM) is the discipline in which people use various methods to discover, model, analyze, measure, improve, optimize, and automate business processes. Any combination of methods used to manage a company's business pro ...
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.


See also

Business Rules Engine Providers


References

* * * * * {{cite book , author = DATE, Christopher J , title = What Not How , publisher = Addison-Wesley , date = April 12, 2000 , isbn = 0-201-70850-7 Business software