Every business needs the agility to react quickly to the constantly changing business environment and to improve the performance of its operation. A key enabler for this is the automation of decision making, expertise, and business rules and processes. Business Rules Automation technology can deliver this and allows an organisation to automate:
The capture and automation of business / process rules can deliver significant competitive advantages to an organisation. However, it is not practical to use normal software development methods and languages (VB, C#, Java) as the way of developing applications that automates business rules. This is because in a programming language, the logic of the business rules is inter-mixed with the overall logic of the program. This has the following drawbacks:
The technology for automating business rules, by overcoming the above drawbacks, has over the years been given many labels; "Rule Based Systems", "Knowledge Based Systems", "Expert Systems" and "Business Rules Management Systems". These technologies share the basic design concept of separating the definition of the business rules from the application that runs the business rules. The business rules are normally maintained in a file which is run by a generic software component called the "Inference Engine" or "Rules Engine".
The main advantage of separating the business rules from the inference engine is the ease of development and maintenance of the business rules. With user friendly rules maintenance tools, the business rules can be developed, reviewed and maintained by the domain experts without requiring IT or programming skills.
In summary, the benefits of automating business rules are:
And the benefits of using a business rules automation technology are:
Some technologies required that rules are defined in the IF THEN format shown below:
IF Item is document THEN ShippingMethod is RecordedMail IF Item is NOT document AND Weight < 4 AND Value < 40 THEN ShippingMethod is Parcel
The above representation of decision rules is cumbersome to capture and difficult to maintain when the number of rules increases beyond 30 or so. Furthermore, it is difficult to assess if the set of rules is incomplete or if it contains conflicting rules. In contrast, XpertRule support a graphical decision tree, which is a superior representation for decision rules and overcomes the limitation of the IF THEN rules because of its readability and ease of authoring by non-IT business people.
The other advantage of using decision trees is that the same tree representation can be used for representing rules as well as representing the flow of business processes and flow of decision making.
As the scope/scale of the decision rules expands, decisions trees can be easily nested without degrading the transparency or maintainability of the growing business rules base.
For certain types of decision rules, a decision table is a more natural representation. XpertRule supports both representations and allows the nesting of mixed trees and tables.
Finally, a decision tree can easily incorporate a user interface form or a calculation script into the tree flow in a transparent way. This allows developers to control the user interface for interacting with the user and also to include calculations, string manipulation and connectivity scripts into the decision logic (see examples below):
There are broadly four categories of business rule that a business needs to automate:
With the exception of XpertRule, the above 4 categories are not supported by a single technology platform. XpertRule offers all four technologies in a single integrated and unified platform. Decisions trees and tables are used for all representations. See below an example of integrated process flow with decision automation:
Below is an example of the advanced analytics in XpertRule, a decision tree automatically generated (mined) from historic mortgage applications data. This sort of tree can then be embedded in the decision automation flow.
The rules development environment shown below allows for the rapid development of large scale applications by multiple developers / rules authors.
The rules authoring environment supports the following features:
The decision / rule based application developed in XpertRule can be deployed in one of many ways (see diagram below):