Business rules approach
Encyclopedia
Business rule
s 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 does not have to be embedded in, business process 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 becomes information for process and rules engines to run.
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 enhances Business Agility
. And the manageability of business processes also increases as rules becomes more accessible.
s).
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. In some commercial BRMS's 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.
The approach of separating the vocabulary from the logic makes it possible for business rules to be modeled, 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.
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.
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 rule
A Business rule is a statement that defines or constrains some aspect of the business and always resolves to either true or false. Business rules are intended to assert business structure or to control or influence the behavior of the business. Business rules describe the operations, definitions...
s 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 does not have to be embedded in, business process 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 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 enhances Business Agility
Business agility
Business agility is the ability of a business to adapt rapidly and cost efficiently in response to changes in the business environment. Business agility can be maintained by maintaining and adapting goods and services to meet customer demands, adjusting to the changes in a business environment and...
. 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 (BRMSBRMS
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...
s).
Many commercial rule engines provide the Rete algorithm
Rete algorithm
The Rete algorithm is an efficient pattern matching algorithm for implementing production rule systems. The Rete algorithm was designed by Dr Charles L. Forgy of Carnegie Mellon University, first published in a working paper in 1974, and later elaborated in his 1979 Ph.D. thesis and a 1982 paper...
, or a proprietary algorithm
Algorithm
In mathematics and computer science, an algorithm is an effective method expressed as a finite list of well-defined instructions for calculating a function. Algorithms are used for calculation, data processing, and automated reasoning...
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
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
. The Rete algorithm
Rete algorithm
The Rete algorithm is an efficient pattern matching algorithm for implementing production rule systems. The Rete algorithm was designed by Dr Charles L. Forgy of Carnegie Mellon University, first published in a working paper in 1974, and later elaborated in his 1979 Ph.D. thesis and a 1982 paper...
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. In some commercial BRMS's 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
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
. 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.
The approach of separating the vocabulary from the logic makes it possible for business rules to be modeled, 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
Enterprise Decision Management
Enterprise decision management, commonly abbreviated "EDM", entails all aspects of managing automated decision design and deployment that an organization uses to manage its interactions with customers, employees and suppliers...
approach to decision automation.
Increasingly, business rules are also viewed as a critical component of Business Process Management
Business process management
Business process management is a holistic management approach focused on aligning all aspects of an organization with the wants and needs of clients. It promotes business effectiveness and efficiency while striving for innovation, flexibility, and integration with technology. BPM attempts to...
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 declarativeDeclarative programming
In computer science, declarative programming is a programming paradigm that expresses the logic of a computation without describing its control flow. Many languages applying this style attempt to minimize or eliminate side effects by describing what the program should accomplish, rather than...
business rules engine
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 , company policy , or other sources...
with added data management
Data management
Data management comprises all the disciplines related to managing data as a valuable resource.- Overview :The official definition provided by DAMA International, the professional organization for those in the data management profession, is: "Data Resource Management is the development and execution...
capability. This is currently implemented in Rel
Rel (DBMS)
Rel is an open source true relational database management system that implements a significant portion of Chris Date and Hugh Darwen's Tutorial D query language.Primarily intended for teaching purposes, Rel is written in the Java programming language....
and Alphora Dataphor
Dataphor
Dataphor is an open-source truly relational database management system and its accompanying user interface technologies, which together are designed to provide highly declarative software application development...
.
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.
Relation to Business Process Management
Some analysts believe the combination of business rules technology with Business Process ManagementBusiness process management
Business process management is a holistic management approach focused on aligning all aspects of an organization with the wants and needs of clients. It promotes business effectiveness and efficiency while striving for innovation, flexibility, and integration with technology. BPM attempts to...
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.