Business Rule Management (BRM)
There are also various rules in an enterprise entity, such as management systems, business manuals, process flows, Operation Specifications, charging standards, and promotion strategies, even some conventions that do not form words are part of the enterprise rules. Because they are business-related, they are also called business rules.
Business Rules are scattered in every corner of the enterprise. Even the enterprise's decision makers can hardly tell how many business rules are in use within the enterprise.
Most of the business rules are stored in the brain of the business personnel, or in a few non-structured documents such as work manuals and Operation Specifications. The business logic that describes the most important characteristics of an enterprise is not effectively managed and used, resulting in the inability to accumulate good experiences and to summarize poor experiences. Even if an enterprise uses a computer system, the business processing logic is always considered as a process written into the program code. When some requirements and business rules change, the original code must be modified, both modification and maintenance costs are quite high.
The emergence of Business Rule Management (BRM) technology has completely changed the way to process business logic, it extracts the implementation of business rules from specific program code and uses structured business rule data to represent the business behavior of an enterprise, this makes business rules the same as enterprise data information an important asset of an enterprise. At the same time, the habit of software development began to change due to BRM. Business Rules are as independent from programs as data. Business personnel can use industry terminology rather than professional programming languages to write rules, so that the Business System of an enterprise is truly oriented to business personnel.
The database separates the program from the data processed by the program. Its appearance makes the data independent of the program and the software system upgrade does not require changes to the database system, new concepts such as relational data models, database operation languages, and database query languages are created, as well as new roles such as database system analysts, database developers, and database system administrators.
In contrast to the emergence of databases, separating business logic from program code also has a profound impact on the software development method, software architecture, and even the software development organization structure.
Business Rule management processes business logic as a structured object, turning complex business logic into a simple business rule, and handing over the complex logical relationships between business rules to the Rule Engine for processing, therefore, new concepts such as business rule engine, business rule repository, Business Rule development methodology, and business rule management system are created, as well as new roles such as business rule system analysts and Business Rule developers as business rule system administrators.
The introduction of the business rule management system has greatly changed the application system structure and maintenance methods: the business rule-based method will greatly shorten the system development time and adapt to the changes in the system business logic; developers can directly use the business rule technology without having to know too much implementation details. This greatly reduces the programming workload, reduces programming errors, and enables developers to pay more attention to the business needs of the system; the Development Method Based on Business Rules also blur the boundaries of system requirement analysis, design, and programming. The business rule repository is between the user interface and the database, and the system has better flexibility; system development based on business rules is more cost-effective than custom development, and can meet users' personalized needs.
Many software developers have begun to use business rule management technology to develop commercial software. They can not only build a rule repository for users, but also allow users to add their own business rules at will, in addition, some industry-specific applications will add their own industry experience in the form of business rules to provide users with best practices.
Layering and reuse are two major technical directions of software development today. The layered technology solves the complexity of the system and reduces the coupling in the system. The Reusable Technology solves the development efficiency and reliability. The business rule management technology exactly matches the characteristics of these two technologies. It comprehensively reflects the benefits of layering and reuse, and integrates the advantages of database technology and object-oriented technology.
The most basic component of a business rule is the language used to represent it. business terms are tools that people use to define things, such as glossary. The nature and operation structure of an organization can be described in related terms, such as "customer's next order ". Rules such as "data cannot be updated" can limit and control certain behaviors of enterprises. In addition, business rules can be used to derive another kind of knowledge from one kind of knowledge.
The attributes of a business rule include the name, status (proposed, valid, approved, and archived), validity and termination date, business rule description, expression, and trigger event. The main forms include decision tables, decision trees, rule languages, and scripts.
● Decision Table: Business Rules are represented in tables. Each row represents a rule, and columns represent conditions or actions. When all conditions are met, actions are performed.
● Decision Tree: a set of business rules are represented in a tree structure. Each branch represents a decision path, and the leaf node represents results or actions.
● Rule Language: Use syntaxes similar to natural languages to describe rules. Currently, there are many rule languages. Each language is suitable for solving problems in its specific fields and provides better performance, but it is more difficult to maintain than graphical representation.
● Script (Template): it is used to describe procedural business logic and serves as the basis for decision tables, decision trees, and rule languages. For example:
If... then... else ....
The application features of business rules are as follows:
● Non-"solidification" of business rules"
Policies and rules solidified in program code must be stiff. The customer's polymorphism and market variability determine the necessity of changing business rules and policies.
Frequently, if every change to a rule requires "manual and manual" modifications to the system program, system maintenance and upgrade will inevitably be expensive,
It is even difficult to maintain.
● Logic of business rules"
Business Rules are logical. Each business rule that restricts behaviors contains at least two parts: the condition part and the execution part.
Determine the role of business data. Rule execution involves processing business data. Therefore, rules are not simple business data.
● Non-procedural Business Rules"
Each rule can only define the judgment and operation of one phenomenon. complicated business logic should be handled collaboratively by multiple rules. The "non-procedural" section of the rule
The advantage is that every rule has become very simple, and the complex process can be divided into conditional execution orders.
It implements a process from simple to complex knowledge accumulation.
● "Event triggering" of business rules"
Business Rules are triggered according to the corresponding conditions. The "Event" that triggers rule execution is the business data itself. For example, a set of Credit Analysis Rules
Set. Once the customer's credit record information enters the system for processing, this set of rules will be activated and the corresponding analysis process will be started.
● Non-technical nature of business rules"
Business Rules belong to business personnel. Business personnel should use industry languages rather than professional technical languages (such as programming languages, database languages, and scripts ).
Language.