XpertRule Technology Overview

Background to Business Rules Automation

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:

  • Procedures, best practice, regulations, methods and policies.
  • Work-flow and process management.
  • Employees' know-how, skills and expertise relating to customers, products, services, resources, processes, operations and risks.

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 slowness of the process of defining, capturing, testing and verification of the business rules components of the application.
  • The difficulty and speed of maintaining the business rules in a fast changing business environment.
  • The lack of transparency of the automated business rules code to the non-IT business domain expert.

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:

  • Preserving the expertise of key employees.
  • Compliance with external regulations and internal policies.
  • Deploying best practice business decisions accurately, consistently and rapidly across the organisation.

And the benefits of using a business rules automation technology are:

  • Speed of rules capture.
  • Transparency and accessibility of the captured rules to the non-IT business users.
  • The ability to quickly respond to changes in the business, regulations or markets through the ease of maintenance of the captured rules.

The Unique Advantages of the XpertRule Rules Automation Technology

1. Advanced Rules Representation for Rapid Development

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.

Decision Tree

Decision tree

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.

Nesting Decision Trees

Nesting Decision Trees

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):

Embedding data capture screen into a decision tree

Embedding data capture screen into a decision tree

Embedding scripts into a decision tree

Embedding scripts into a decision tree

2. Multiple Classes of Business Rules in one Unified Technology Platform

There are broadly four categories of business rule that a business needs to automate:

  1. Decision Making Rules. This is supported by all Business Rules Automation Technologies and the rules are normally delivered as a Rules Server that can be passed attributes and returns a decision or advice or action.
  2. Business Process Automation / Management Rules. This is supported by Business Process Management or workflow technologies. It involves workflow navigation, invocation and orchestration of other applications / services, accessing data sources and decision making.
  3. Validation, Interactions and Navigation Rules for Intelligent User Interfaces.
  4. Advanced Process Modelling. This involves the use of analytics to model process behaviour and to use that as part of decision automation and process improvement solutions.

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:

Integrated process flow with decision automation

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.

Automatically generated (mined) decision tree

Automatically generated (mined) decision tree

3. Enterprise Rules Development and Maintenance Platform

The rules development environment shown below allows for the rapid development of large scale applications by multiple developers / rules authors.

Rules development environment

Rules development environment

The rules authoring environment supports the following features:

  • Multi user rules authoring.
  • Each rules author has a highly graphical, rich client, desk top application.
  • Rules applications can be stored on a central SQL Server or Oracle database, a local MS Access database or a cloud based XML repository.
  • An application is defined as a project and the project can contain a large number of (linked) rules modules.
  • Each module has a number of user defined categories of rules objects (data attributes, trees, tables, forms, scripts etc.).
  • Libraries of standard objects can be shared between projects.
  • Each author has privileges restricting their access to certain categories of objects and defining their read/write access to these objects.
  • Graphical object editors for attributes, trees, tables, forms, scripts etc.
  • Language translation support allows rules to be maintained in one language and deployed in multiple languages.
  • The ability to define new ‘classes’ of objects to reflect business ‘labels’ and object properties and behaviour.

4. The Most Versatile Rules Deployment Architecture

The decision / rule based application developed in XpertRule can be deployed in one of many ways (see diagram below):

  • .NET transaction rules server (web service or COM object) receiving XML data inputs and returning decisions / actions.
  • .NET business process automation engine (web service or COM object).
  • .NET transaction rules server or business process automation engine with an AJAX web user interface
  • Desktop rich client application.
  • Javascript rules and user interface engine that runs in a browser for web and mobile web deployment.
  • iOS, Android or Windows Apps for running on smartphones and tablets.

  • Deployment architecture

    Deployment architecture