Business rules approach

Last updated

Business rules 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 management systems.

Contents

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,

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. 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 engines. More complete systems that support the writing, deployment and management of business rules are called business rules management systems (BRMSs).

Many commercial rule engines provide the Rete algorithm, 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, and 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. 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. 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 approach to decision automation.

Increasingly, business rules are also viewed as a critical component of business process management solutions because of 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 true RDBMS could be thought of in terms of a declarative business rules engine with added data management 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 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

Related Research Articles

Computer program Instructions to be executed by a computer

A computer program is a collection of instructions that can be executed by a computer to perform a specific task.

Expert system

In artificial intelligence, an expert system is a computer system emulating the decision-making ability of a human expert. Expert systems are designed to solve complex problems by reasoning through bodies of knowledge, represented mainly as if–then rules rather than through conventional procedural code. The first expert systems were created in the 1970s and then proliferated in the 1980s. Expert systems were among the first truly successful forms of artificial intelligence (AI) software. An expert system is divided into two subsystems: the inference engine and the knowledge base. The knowledge base represents facts and rules. The inference engine applies the rules to the known facts to deduce new facts. Inference engines can also include explanation and debugging abilities.

Search algorithm Any algorithm which solves the search problem

In computer science, a search algorithm is any algorithm which solves the search problem, namely, to retrieve information stored within some data structure, or calculated in the search space of a problem domain, either with discrete or continuous values. Specific applications of search algorithms include:

In computer software, business logic or domain logic is the part of the program that encodes the real-world business rules that determine how data can be created, stored, and changed. It is contrasted with the remainder of the software that might be concerned with lower-level details of managing a database or displaying the user interface, system infrastructure, or generally connecting various parts of the program.

The Rete algorithm 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 determine which of the system's rules should fire based on its data store, its facts. The Rete algorithm was designed by 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.

A business rule defines or constrains some aspect of business and always resolves to either true or false. It specifically involves terms, facts and rules. Business rules are intended to assert business structure or to control or influence the behavior of the business. Business rules describe the operations, definitions and constraints that apply to an organization. Business rules can apply to people, processes, corporate behavior and computing systems in an organization, and are put in place to help the organization achieve its goals. Even though a system of strategic processes govern business rules, business rules are not strategic themselves; they are directive.

In the field of artificial intelligence, inference engine is a component of the system that applies logical rules to the knowledge base to deduce new information. The first inference engines were components of expert systems. The typical expert system consisted of a knowledge base and an inference engine. The knowledge base stored facts about the world. The inference engine applies logical rules to the knowledge base and deduced new knowledge. This process would iterate as each new fact in the knowledge base could trigger additional rules in the inference engine. Inference engines work primarily in one of two modes either special rule or facts: forward chaining and backward chaining. Forward chaining starts with the known facts and asserts new facts. Backward chaining starts with goals, and works backward to determine what facts must be asserted so that the goals can be achieved.

Forward chaining is one of the two main methods of reasoning when using an inference engine and can be described logically as repeated application of modus ponens. Forward chaining is a popular implementation strategy for expert systems, business and production rule systems. The opposite of forward chaining is backward chaining.

Event processing is a method of tracking and analyzing (processing) streams of information (data) about things that happen (events), and deriving a conclusion from them. Complex event processing, or CEP, consists of a set of concepts and techniques developed in the early 1990s for processing real-time events and extracting information from event streams as they arrive. The goal of complex event processing is to identify meaningful events in real-time situations and respond to them as quickly as possible.

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. A business rule system enables these company policies and other operational decisions to be defined, tested, executed and maintained separately from application code.

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, also referred to as business rules, includes policies, requirements, and conditional statements that are used to determine the tactical actions that take place in applications and systems.

A production system is a computer program typically used to provide some form of artificial intelligence, which consists primarily of a set of rules about behavior but it also includes the mechanism necessary to follow those rules as the system responds to states of the world. Those rules, termed productions, are a basic representation found useful in automated planning, expert systems and action selection.

Search engine optimisation indexing collects, parses, and stores data to facilitate fast and accurate information retrieval. Index design incorporates interdisciplinary concepts from linguistics, cognitive psychology, mathematics, informatics, and computer science. An alternate name for the process in the context of search engines designed to find web pages on the Internet is web indexing.

Drools is a business rule management system (BRMS) with a forward and backward chaining inference based rules engine, more correctly known as a production rule system, using an enhanced implementation of the Rete algorithm.

Control-flow diagram business process modeling tool

A control-flow diagram (CFD) is a diagram to describe the control flow of a business process, process or review.

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 processes is BPM. Processes can be structured and repeatable or unstructured and variable. Though not required, enabling technologies are often used with BPM.

OpenL Tablets is a business rule management system (BRMS) and a business rules engine (BRE) based on table representation of rules. Engine implements optimized sequential algorithm. OpenL includes such table types as decision table, decision tree, spreadsheet-like calculator.

In information technology a reasoning system is a software system that generates conclusions from available knowledge using logical techniques such as deduction and induction. Reasoning systems play an important role in the implementation of artificial intelligence and knowledge-based systems.

Decision Model and Notation (DMN) is a standard published by the Object Management Group. It is a standard approach for describing and modeling repeatable decisions within organizations to ensure that decision models are interchangeable across organizations.

This glossary of artificial intelligence is a list of definitions of terms and concepts relevant to the study of artificial intelligence, its sub-disciplines, and related fields. Related glossaries include Glossary of computer science, Glossary of robotics, and Glossary of machine vision.

References