*** Welcome to piglix ***

Business rules approach


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.

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.

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.

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.


...
Wikipedia

...