Architecture

OpenRules Decision Manager helps customers to represent, maintain, and effectively execute complex business logic with two major advantages:

    1. OpenRules is oriented to business analysts who are in charge of business logic from the start of decision modeling to their continuing improvements
    2. The resulting decision services should become “good citizens” of any modern software environment on-cloud or on-premise.

The above diagram explains how OpenRules Decision Manager helps customers to design, deploy, and execute Operational Decision Services.

Implementation Steps. Business analysts (subject matter experts with no programming experience) use OpenRules to create, test, and maintain business decision models. They use their favorite tool (Excel or Google Sheets) as a  rule editor to represent business logic in decision tables placed in Excel files distributed between different folders – see examples of business decision models here. They create test cases directly in Excel to make sure that their decision models are always operational.  When business analysts click on the provided batch file “test.bat”, OpenRules internally converts an Excel-based model into highly efficient Java code and applies a highly powerful Decision Engine to execute it against the provided test cases. It produces decisions with detailed explanations.

The development of operational decision models usually  goes through 4 major steps presented on the following picture:

Steps 1 – 2. You start will a Problem Description in plain English following by creation of the Business Glossary and Test Cases with examples of inputs and expected results. After several iterations, you gain a good understanding of the business problem and move to the Step 3.

Steps 2 – 3. You start adding business logic in the form of rules, decision tables, and/or programming constructs, which with the Glossary and Test cases will comprise your Decision Model. This is an iterative process: as you implement a new piece of decision logic (e.g. add a new decision table), you execute your model against your test cases to make sure that it works and produces the expected results.

Usually business analysts implement business logic in Excel tables and execute this logic using the standard Rule Engine. However, if some business rules should be automatically discovered based on your historical data, your decision model may also utilize Machine Learning components provided by Rule Learner. If your model needs to solve optimization sub-problems, you may takes advantage of Rule Solver. Both Rule Learner and Rule Solver are naturally integrated into the Decision Manager.

Thus, OpenRules-based Decision Models can cover different types of logic based on expert knowledge (Business Rules), historical data (Machine Learning), or mathematical models (Optimization). Correspondingly, the decision model can utilize off-the-shelf rule engines, rule learners, and constraint or linear solvers.  Based on the requires skills, the steps 1, 2, and 3 can be done by Business Analysts or, if necessary, they can involve software developers to code some parts of the decision model using Java APIs supported by Rule Learner and Rule Solver.

Step 4. Tested business decision models can be easily integrated in any Java application using a simple Java API, or used on any server like Apache Tomcat and IBM WebSphere, or being deployed on cloud as a decision microservice utilizing any serverless architecture provided by  major cloud vendors such as Amazon, Google, Microsoft, or IBM. Different deployment options are presented on the following diagram and described in more details here.

A more detailed diagram of the OpenRules Tracker for AWS Marketplace can be found here.