BRFplus
Encyclopedia
BRFplus is a business rules management system (BRMS)
offered by SAP AG
. BRFplus is part of the SAP NetWeaver ABAP stack
. Therefore, all SAP applications that are based on SAP NetWeaver can access BRFplus within the boundaries of an SAP system. However, it is also possible to generate web service
s so that BRFplus rules can also be offered as a service in a SOA
landscape, regardless of the software platform used by the service consumers.
BRFplus development started as a supporting tool that was part of SAP Business ByDesign
, an ERP
solution targeted at small and medium size companies. By that time, the tool was called “Formula and Derivation Tool” (FDT). Later on, it was decided to maintain BRFplus on those codelines that serve as the basis for SAP Business Suite. With that, business rule
s that have been created for Business ByDesign can easily be taken over in a full-size SAP system where they are ready for use without any changes.
that can be individually customized.
Being integrated into SAP NetWeaver, BRFplus-based applications can look at, and model, business rules from a strictly business-oriented perspective, rather than starting with the underlying technical artifacts. This is because the integration allows for direct access to the business objects available in the SAP dictionary (like customer, supplier, material, bill, etc.).
In addition to the predefined expression types (decision table, decision tree, formula, database access, loops, etc.) and actions (sending e-mails, triggering a workflow, etc.), BRFplus can be extended by custom expression types. Also, direct calls of function modules as well as ABAP OO class methods are supported so that the entire range of the ABAP programming language is available for solving business tasks.
BRFplus comes with an optional versioning mechanism. Versioning can be switched on and off for individual objects as well as for entire applications. Versioned business rules are needed in certain use cases for legal reasons, but they also allow for simulating the system behavior as it would have been at a particular point in time.
Once the rule objects are in a consistent state and active, the system automatically generates ABAP OO classes that encapsulate the functional scope of the underlying rule object. This is done on an on-demand base and speeds up processing.
The execution of functions as well as of single expressions can be simulated
. The processing log of the simulation is useful for checking the implementation and for investigating problems.
BRFplus applications can be exported and imported as an XML
file. This is an easy way of creating a data backup
. XML files can also be used for deploying rule applications throughout the company.
Object filters are used by system administrators to ensure that for selected users, only a predefined subset of object types is visible. This is useful to enforce access rights as well as modeling policies.
While BRFplus supports business rules for applications based on the SAP NetWeaver ABAP stack, SAP is offering another product named SAP NetWeaver Business Rules Management (BRM). BRM supports business rule modeling for the SAP NetWeaver Java stack. Both products do not compete. They are available in parallel and can be used in a collaborative approach to deal with use cases where both technology stacks are used in parallel. BRFplus comes with a special expression type that helps bridging the gap between the two different technologies.
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...
offered by SAP AG
SAP AG
SAP AG is a German software corporation that makes enterprise software to manage business operations and customer relations. Headquartered in Walldorf, Baden-Württemberg, with regional offices around the world, SAP is the market leader in enterprise application software...
. BRFplus is part of the SAP NetWeaver ABAP stack
ABAP
ABAP , is a high-level programming language created by the German software company SAP...
. Therefore, all SAP applications that are based on SAP NetWeaver can access BRFplus within the boundaries of an SAP system. However, it is also possible to generate web service
Web service
A Web service is a method of communication between two electronic devices over the web.The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format...
s so that BRFplus rules can also be offered as a service in a SOA
SOA
-Computers, Science, engineering and information technology:* Service-oriented architecture, type of software architecture for creating and using business processes, packaged as services...
landscape, regardless of the software platform used by the service consumers.
BRFplus development started as a supporting tool that was part of SAP Business ByDesign
SAP Business ByDesign
SAP Business ByDesign is a fully integrated on-demand Enterprise Resource Planning and business management software solution for small and medium sized enterprises . It is a complete Software as a Service offering from SAP AG based at Walldorf, Germany.-Software-as-a-Service :SAP Business...
, an ERP
Enterprise resource planning
Enterprise resource planning systems integrate internal and external management information across an entire organization, embracing finance/accounting, manufacturing, sales and service, customer relationship management, etc. ERP systems automate this activity with an integrated software application...
solution targeted at small and medium size companies. By that time, the tool was called “Formula and Derivation Tool” (FDT). Later on, it was decided to maintain BRFplus on those codelines that serve as the basis for SAP Business Suite. With that, business rule
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 that have been created for Business ByDesign can easily be taken over in a full-size SAP system where they are ready for use without any changes.
Overview
BRFplus offers a unified modeling and runtime environment for business rules that addresses both technical users (programmers, system administrators) as well as business users who take care of operational business processes (like procurement, bidding, tax form validation, etc.). The different requirements and usage scenarios of the different target groups can be covered with the help of the SAP authorization system and a user interfaceUser interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...
that can be individually customized.
Being integrated into SAP NetWeaver, BRFplus-based applications can look at, and model, business rules from a strictly business-oriented perspective, rather than starting with the underlying technical artifacts. This is because the integration allows for direct access to the business objects available in the SAP dictionary (like customer, supplier, material, bill, etc.).
In addition to the predefined expression types (decision table, decision tree, formula, database access, loops, etc.) and actions (sending e-mails, triggering a workflow, etc.), BRFplus can be extended by custom expression types. Also, direct calls of function modules as well as ABAP OO class methods are supported so that the entire range of the ABAP programming language is available for solving business tasks.
BRFplus comes with an optional versioning mechanism. Versioning can be switched on and off for individual objects as well as for entire applications. Versioned business rules are needed in certain use cases for legal reasons, but they also allow for simulating the system behavior as it would have been at a particular point in time.
Once the rule objects are in a consistent state and active, the system automatically generates ABAP OO classes that encapsulate the functional scope of the underlying rule object. This is done on an on-demand base and speeds up processing.
The execution of functions as well as of single expressions can be simulated
Simulation
Simulation is the imitation of some real thing available, state of affairs, or process. The act of simulating something generally entails representing certain key characteristics or behaviours of a selected physical or abstract system....
. The processing log of the simulation is useful for checking the implementation and for investigating problems.
BRFplus applications can be exported and imported as an 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....
file. This is an easy way of creating a data backup
Backup
In information technology, a backup or the process of backing up is making copies of data which may be used to restore the original after a data loss event. The verb form is back up in two words, whereas the noun is backup....
. XML files can also be used for deploying rule applications throughout the company.
Application
The application object serves as a container for all the BRFplus objects that have been assembled to solve a particular business task. It is possible to define certain default settings on application level that are inherited by all objects that are created in the scope of that application.Function
A function is used to connect a business application with the rule processing framework of BRFplus. The calling business application passes input values to the function which are then processed by the expressions and rulesets that are associated with the called function. The calculated result is then returned to the calling business application.Expression types and action types
- BooleanBooleanBoolean may refer to:* Boolean algebra, a logical calculus of truth values or set membership* Boolean algebra , a set with operations resembling logical ones* Boolean data type, a certain datatype in computer science...
- BRMS Connector
- CaseCase-Academia and education:* Campaign for Science and Engineering , a non-profit organization which promotes science and engineering research in the UK* Case analysis, division of a problem into separate cases...
- Database Lookup
- Decision TableDecision tableDecision tables are a precise yet compact way to model complicated logic.Decision tables, like flowcharts and if-then-else and switch-case statements, associate conditions with actions to perform, but in many cases do so in a more elegant way....
- Decision TreeDecision treeA decision tree is a decision support tool that uses a tree-like graph or model of decisions and their possible consequences, including chance event outcomes, resource costs, and utility. It is one way to display an algorithm. Decision trees are commonly used in operations research, specifically...
- FormulaFormulaIn mathematics, a formula is an entity constructed using the symbols and formation rules of a given logical language....
- Function Call
- LoopLoop- Technology :*Loop , sending a signal on a channel and receiving it back at the sending terminal*Loop , a method of control flow in computer science*Loop device, a Unix device node that allows a file to be mounted on a directory...
- Procedure Call
- Random NumberRandom number generationA random number generator ) is a computational or physical device designed to generate a sequence of numbers or symbols that lack any pattern, i.e. appear random....
- Search Tree
- Step Sequence
- Value Range
- XSL Transformation
Ruleset
A ruleset is a container for an arbitrary number of rule objects which in turn carry out the necessary calculations with the help of assigned expressions and actions. Instead of assigning an expression to a function, it is also possible to assign any number of rulesets to a function. When the function is called, all assigned rulesets are subsequently processed.Data Objects
BRFplus supports elementary data objects (text, number, boolean, time point, amount, quantity) as well as structures and tables. Structures can be nested. For all types of data objects it is possible to reference data objects that reside in the data dictionary of the backend system. With that, a BRFplus data object does not only inherit the type definition of the referenced object but can also access associated data like domain value lists or object documentation.Other objects
With catalogs, it is possible to define business-specific subsets of the rule objects that reside in the system. This is helpful for hiding the complexity of a rule system, thus improving usability.Object filters are used by system administrators to ensure that for selected users, only a predefined subset of object types is visible. This is useful to enforce access rights as well as modeling policies.
Other BRM solutions offered by SAP
BRFplus is positioned as the successor product of an older business rule solution known as BRF (Business Rule Framework). For a longer transition phase, both solutions exist in parallel. However, an increasing number of SAP applications that used to be based on BRF are constantly migrating to BRFplus.While BRFplus supports business rules for applications based on the SAP NetWeaver ABAP stack, SAP is offering another product named SAP NetWeaver Business Rules Management (BRM). BRM supports business rule modeling for the SAP NetWeaver Java stack. Both products do not compete. They are available in parallel and can be used in a collaborative approach to deal with use cases where both technology stacks are used in parallel. BRFplus comes with a special expression type that helps bridging the gap between the two different technologies.