Pattern Matching in OpenRules Decision Tables

OpenRules allows non-technical users to easily compare different strings with certain values. Decision table conditions may use simple operators such as “Is”, “Is One Of”, “Starts With”, and “Contains”. There are also more powerful patterns matching operators such as “Like” and “Match”. In this post I will describe these useful operators.

Continue reading

Decision Model “Permit Eligibility”

In this post we describe an OpenRules decision model that addresses Mar-2023 Challenge “Permit Eligibility”. The Challenge asks to implement this rule: “An applicant is eligible for a resident permit if the applicant has lived at an address while married and in that time period, they have shared the same address at least 7 of the last 10 years.” There is already 2 DMN-based solutions published by Bruce Silver who explained that this simply sounding rule requires to address several not so simple considerations. There is also an attempt to create a decision model with ChatGPT, which I analyzed and converted to a working Java code. I asked an OpenRules developer Alex Mirtsyn to look at this problem, and together we came up with a solution described in this post.

Continue reading

Happy 20th Birthday, OpenRules!


OpenRules, Inc. is now 20 years old! Our team met this anniversary in the best possible way – we did not notice it! We are so busy with adding new powerful capabilities to OpenRules products and supporting our real-world customers. I described a brief history of our company and our development plans 5 years ago. Since then we overperformed by introducing OpenRules Decision Manager which became one of the fastest and user-friendly Decision Intelligence Platform available on the market today. More and more major corporations worldwide choose OpenRules for intelligent business automation. Stay tuned: 20-year-old OpenRules with proven records and unique R&D capabilities is working on new breakthroughs.

OpenRules is Shining in the Serverless World

When 3.5 years ago we introduced a new OpenRules Decision Manager, it was specifically designed as a Decision Intelligence Framework for creation, debugging, and management of Superfast Decision Microservices for that time brand new Serverless world. Over the last 3 years we witnessed how major corporate customers migrated their rules-based applications deployed on the large web servers to OpenRules. Over the last few weeks we saw how several new customers were really surprised that they don’t need anymore heavy lifting for building and managing their rules-based light-weighted microservices. In this brief post I share a working sample that demonstrates how easy it is to build, test, debug, deploy, and run RESTful decision services with OpenRules using any on-cloud or on-premise infrastructure.

Continue reading

OpenRules 9.1.0 with Friendly Iterations

OpenRules Release 9.1.0 essentially simplifies how our customers iterate over collections of business objects. Now you may describe your loops in one decision table, immediately see iteration nodes in Decision Diagrams, and analyze the content of each iteration while you are looping over collections inside OpenRules Debugger. Here is a simple loop over an array of Players that accumulates their scores to calculate Team Score:

If in the previous releases every iteration required at least two tables, in Release 9.1.0 one intuitive table is sufficient.

Continue reading

New Major Release OpenRules-9: Happy Thanksgiving!

Our team worked hard to prepare a nice Thanksgiving gift for our customers, and today I am happy to announce general availability of OpenRules-9! This major new release comes with a new implementation of our Graphical Explorer and Debugger as a foundation for the current and future OpenRules Interactive Decision Modeling Environment oriented to business users. Watch new Intro Video, read Release Notes 9.0.0, and evaluate it for free. Happy Thanksgiving!

Continue reading

Business Rules and SQL: Competitors or Partners?

IEEE Spectrum just published the article “The Rise of SQL” about the recent SQL’s comeback caused not only by the ever-increasing use of databases, but also by the use of SQL within the fields of data science, machine learning, big data, and streaming systems. While traditionally, Business Rule Engines did not communicate with databases directly, our customers frequently prefer to use SQL-like business rules to access their data when it is necessary following their business logic. At the same time, they want to preserve the power of SQL dealing with databases of any complexity. Two years ago OpenRules introduced a special product “Rule DB” that does exactly this by empowering Excel-based business rules with a run-time RDBMS communication mechanism. In this post we will explain how to migrate an SQL query to OpenRules.

Continue reading

Decision Models for Medical Claim Processing Challenge May-2022 still has no submitted solutions. I knew that the problem is not as simple as it sounds because we, at OpenRules, have quite a few claim processing customers, whose decision models address similar and much more difficult problems. When I tried to create a decision model for this challenge, I quickly got a solution that still produced these errors while processing a test-claim:

[E71.313] cannot be reported together with [E72.3]
[E72.3] cannot be reported together with [E71.313]

But the challenge specifically required not to produce duplicate errors. Trying several decision modeling approaches, I built a few “tried-and-failed” decision models before I came up with two solutions which I feel comfortable enough to share here.

Continue reading

Decision Services Handling Large Payloads

On Apr 20, 2022 I shared recent OpenRules experience building decision services capable to handle huge payloads with sound performance. He described how putting a decision service into a cloud-based environment supporting parallel execution allowed a large US corporation improve the performance 100 times! Watch Recording

OpenRules Debuggers

OpenRules Decision Manager provides two Decision Model Debuggers:

While the graphical debugger is the most user friendly debugger, it is currently available only under Windows and Linux. The Command Line Debugger is available under Windows, Mac, and Linux. Continue reading

RESTful Decision Services: Error Handling with OpenRules

Usually input validation is an essential part of business decision models created by OpenRules customers. They add rules that validate input decision variables for null values, empty strings, impossible values like Feb 29 during a non-leap year, and many other problem-specific input errors. These custom error reporting mechanisms usually generate lists of errors with explanations in the JSON response for RESTful decision services. However, while input errors are diagnosed by the decision service, its return code is usually 200 meaning it was a “good” request. In this post I will describe how your service may return code 400 for bad requests.

Continue reading

Mitigating Log4J Security Vulnerability

On December 12, 2021 Apache Log4J 2.x reported that this widely used Java logging framework has been exposed to a serious security vulnerability. OpenRules Decision Manager like many other Java-based products uses Log4J. To mitigate this problem, we quickly switched to the recommended version 2.15.0 of log4j that was supposed to remove the above vulnerability. However, on December 14 the second vulnerability was discovered and Apache released the version 2.16.0 to address the problem.

Based on the seriousness of these events, we decided to create a new emergency release 8.4.3 of OpenRules Decision Manager that uses log4j version 2.16.0 (not 2.15.0). We’ve already built the first version 8.4.3 and it’s going through thorough testing. For urgent situations we made the evaluation version 8.4.3 available from here. Our team will continue to work hard to make sure that well-tested Release 8.4.3 will be available to all customers tomorrow morning. If you have any questions, please contact

Advancing AWS Lambda Decision Services

AWS Lambda has recently extended the capability to track the current state of a function through its lifecycle. In this post AWS wrote: “We’re extending the General Update from September 30 2021 to December 5 2021. The End of Delayed Update date is now also changed to December 6 2021.” With this change, all users of AWS Lambda need to update their AWS SDK-based automation workflows. How would it affect OpenRules-based decision services deployed as AWS Lambdas?

Continue reading

Decision Services: Free POC Development

OpenRules Decision Manager becomes so powerful and easy to use that it dramatically reduces the efforts needed to develop new decision models and deploy them on cloud as decision microservices. Usually everything is done in Excel with our graphical Explorer without any coding. Along with development of large decision-making applications, our team has great practical experience of rapid creation of working prototypes or Proof of Concepts (POC). After a brief meeting with a customer, we quickly (usually within 1-3 days!) put together a POC tested locally and deployed on cloud, so the customer may start testing it remotely without any installations! Continue reading

OpenRules Release 8.4.2 improves Validation and Consistency Checking of Rule Repositories

Our customers will appreciate the new OpenRules Release 8.4.2 as it essentially improves the validation and consistency checking of their Rule Repositories. It provides much better error diagnostics in business friendly terms. In the Release 8.4.2 we actually implemented a new built-in compiler that runs during the BUILD phase (build.bat), so the majority of errors can be caught before Java code generation. We also added an ability to use CSV-files in situations when XLS-files are too big/slow to handle. We removed Maven Wrapper from all samples and made a free Apache Maven a pre-requisite. Release Notes

When to use Machine Learning, Optimization, and/or Business Rule Engines

Last week I listened the webinar “The Art of Knowing How to Leverage Decision Intelligence” presented by Roy Schulte, Distinguished VP Analyst at Gartner. Describing the major trends in decision intelligence and why it is growing, Roy concentrated on the question “when to use machine learning, optimization or business rule engines”:

Continue reading

Using CSV Files in OpenRules

When it comes to handling large collections of data in business rules, OpenRules customers frequently use Excel-based DecisionData tables and/or decision tables of the type “BigTable“. It works fine when Excel tables contain thousands or even tens of thousands rows. However, when an Excel file contains hundreds of thousands rows Excel itself becomes much slower to search and requires much more time and memory to be downloaded in OpenRules. In this case we recommend our customers to switch from the Excel to the CSV format.

Continue reading

Using DecisionData Tables in OpenRules

OpenRules Decision Manager provides all necessary tools to build, test, and debug your business decision models. The same people (subject matter experts) who created decision models can create test cases for these models using simple Excel tables or objects coming from the outside world (from Java, XML, or JSON). This post explains how to create and use test cases and data tables.

Continue reading

Continuous Digital Decisioning

Modern enterprises quickly evolved from monolithic to microservices architectures and they naturally expect that rules-based decision services to be good citizens of the new CI/CD world. My DecisionCAMP-2021 presentation shares OpenRules experience of developing, integrating, and deploying operational decision microservices which satisfy the requirements of modern enterprise architectures including security, continuous integration and delivery/deployment. Using specific examples, it explains how business analysts may represent and maintain these requirements in their business decision models.
Keywords: Business Decision Models, Decision Microservice, Invocation Context, Authorized access, Security, CI/CD Watch

Titanic Booking Service

This is the name of the Aug-2021 Challenge that is supposed to predict survivors of the Titanic tragedy based on partially known actual results. Dr. Bob Moore has already submitted a very good analysis of this challenge and applied several ML-based approaches to solve it. It inspired me to ponder the same challenge from a bit different angle. I thought I could try two approaches: 1) using common sense or human prejudice-based rules to predict who could survive; 2) using our very simple Rule Learner to let ML algorithms to do the same. I spent almost the whole day today working on this problem, and this post describes what and how I did. It is interesting to compare the final results:

Continue reading

Operational Decision Microservices in the CI/CD World

On Sep 14 I will present “Continuous Digital Decisioning or Operational Decision Microservices in the CI/CD World” at DecisionCAMP-2021. In this presentation we plan to share recent OpenRules experience of developing, integrating, and deploying operational decision microservices which satisfy the requirements of modern enterprise architectures including security, continuous integration and delivery/deployment. Here are two key slides:

Continue reading

Securing OpenRules Decision Services

Release 8.4.1 of OpenRules Decision Manager is about “Securing OpenRules Decision Services” – click on this link to see the new tutorial that describes how to secure decision services using JWT Authentication and SSL communication. Release 8.4.1 also provides business users with an additional control over input and output of their decision models allowing them to validate incoming JSON requests and choose which decision variables to exclude from the produced responses. Read Release Notes

Glossary: Controlling Decision Model Input and Output

Glossary with UsedAs-properties

Being at the heart of any decision model, OpenRules Glossary uses columns “Variable Name”, “Business Concept”, “Attribute”, and “Type” to define all used decision variables. It is recommended to add the optional column “Description” with plain English descriptions of these variables.

Additionally, OpenRules 8.4.1 Glossary may include optional columns “Used As” and “Default Value” that allow you to effectively control the input and output of the decision model. It can be especially important when your decision model is deployed as a RESTful web service, and you want to validate the incoming JSON structure and decide which variables should be included in the outgoing JSON structure.

Continue reading

Glossary at the Heart of the Decision Model

Any practical decision modeling tool allows a user to represent a business glossary that specifies all decision variables and thus is at the heart of any decision model. The DMN standard does not explicitly specify a glossary letting different implementation products to compete. So, the modern digital decisioning systems use different constructs to organize their glossaries. In this post and follow-ups I will describe how OpenRules deals with its most important tables of the type “Glossary” which are always the focal point of any decision modeling process.

Continue reading

Benchmarking Decision Service

For years many Rule Engine customers were satisfied with their performance as the majority of rule engines delivered in general good performance.  However, the picture changed dramatically in the last 3-4 years when the number of rules-based real-time transactions started to grow from hundreds of thousands or several millions to hundreds of millions per day. The typical execution time of 50-100 milliseconds per transaction what used to be considered as a good performance indicator is not sufficient anymore. Nowadays large customers require the performance that goes down to only a few milliseconds per transaction or in many cases under 1 millisecond. This real-world requirement along with the dramatic shift to cloud-based deployment was the main reason why two years ago we redesigned our Classic OpenRules product and built its new implementation known today as “OpenRules Decision Manager“.

Continue reading


Last week I was on the panel “Hyper Automation and the Convergence of #BPM, #RPA, #Rules, & #iPaaS” of the ProcessCon-21, a User Conference organized by our partner ProcessMaker. Together with leaders from UiPath, SnapLogic, and ProcessMaker we discussed the latest trends in low-cod/no-code development and much more. Watch Video. You may also check out this webinar “Building lightweight composable process applications using rules + workflow

Continue reading

Text Interpolation in OpenRules

Many popular languages (e.g. Angular or Mustache) use text interpolation to incorporate dynamic string values into the text. OpenRules Decision Manager Release 8.2.1 gives our customers an option to use text interpolation by putting text decision variables in the double curly braces {{ and }}.  For example, see how it’s being used in the standard sample project “PatientTherapy”:

Continue reading

Partnership with ProcessMaker

Today ProcessMaker and OpenRules announced a new partnership that provides our customers with an integrated business process and decision management solution. The partnership adds high performance decision services created in OpenRules and deployed as AWS Lambdas to business applications built with ProcessMaker. It unlocks a powerful new level of sophistication for process, workflow, and business rules designers around the globe. This webinar demonstrates an implementation of a loan origination process in ProcessMaker that utilizes complex decision services built in OpenRules. Read Press Release. – Accessing Database from Business Rules

Traditionally, Business Rule Engines do not communicate with databases directly and expect to receive input and provide output via intermediate objects defined in Java, JSON, or XML. However, our customers frequently prefer to use business-friendly rules defined in Excel instead of separately defined SQL statements. Our new product “Rule DB” does exactly this. In this post I will describe how it works using the MySQL Sample Database. Continue reading

Rules-based Service Orchestration

OpenRules provides business users with abilities to build and deploy operational decision microservices. Now we empowered business users with an ability to assemble new decision services by orchestrating existing decision services independently of how they were built and deployed. The service orchestration logic is a business logic too, so it’s only natural to apply the decision modeling approach to orchestration. In this post I will explain how to orchestrate different services by creating a special orchestration decision model that describes under which conditions such services should be invoked and how to react to their execution results.

Continue reading

Compressing Decision Tables

The DMC Challenge Sep-2020 deals with compression of decision tables trying to replace relatively large decision tables with “almost” equivalent but smaller decision tables. It is only natural to apply Machine Learning to this problem as it allows us to automatically discover business rules from the sets of labeled historical data records. So, I decided to use the open source Rule Learner to address this problem. In this post I will describe how I approached this problem with these implementation steps:

  1. Write a simple generator of data instances with various combinations of known attributes
  2. Run the existing decision table using OpenRules to produce labeled instances
  3. Feed the labeled instances to Rule Learner (or SaaS Rule Learner) to automatically discover a new decision table and evaluate its performance.

Continue reading

New Rule Learner for Ever-Learning Decision-Making Systems

OpenRules, Inc. was among first BR vendors who introduced the integrated Machine Learning and Business Rules approach back in 2007.  Over the years, our Rule Learner was successfully used to discover business rules by analyzing large sets of historical data in different problem domains. One of the first success came in the large IRS project “The integrated use of BR+ML technologies” – read more.

Today we introduced a new version of Rule Learner publicly available as an open source product under the terms of the LGPL (it means no restrictions for commercial use!). You can download it for free from It naturally integrates Machine Learning (ML) and Business Rules (BR) techniques by incorporating ML algorithms into rules-based Decision Models. Continue reading

Using Templates to Create Domain-Specific Decision Tables

While DMN-like decision tables are powerful enough to represent business logic for many practical problems, in real-world our customers frequently define new types of decision tables that are specific for their business domains. For example, years ago OpenRules was chosen for a large project that in particular dealt with spatial business rules. Their customers,, suppliers, and operations vary by region, and distance between then affected their decisions. They already used a Geospatial Information System (GIS) in order to explore spatial relationships that leveraged the industry standard Java Topology Suite (JTS) with a powerful Java API.

However, they wanted their business (!) users to natively define and maintain complex spatial rules without becoming experts in specific Java API. This 2014 presentation describes how OpenRules helped this customer to create a Spatial Decision Table template allowing stakeholders with no GIS training to use plain English in familiar Decision Model spreadsheets to define spatially aware business rules without any additional software. Continue reading

Incorporating Optimization Engines in Business Decision Models

On June 30 I will present “Developing Decision Optimization Microservices for Real-World Decision-Making Applications” at DecisionCAMP-2020. Preparing my presentation, I thought about the major points I want to make. Of course, first of all, I want to demonstrate how to develop optimization services, but I also want to stress how the proposed approach helps to bring already great optimization tools into the everyday reality of business application development. Continue reading

OpenRules: Enhanced Testing Capabilities

Let’s look how the release 8.2.0 enhanced OpenRules testing capabilities by extending tables of the type “DecisionTest” with new columns:

  • ActionDefine
  • ActionActive
  • ActionComment.                                                                Here is an example:

                                       (You may click on this table to enlarge)
Continue reading

Decision Model Execution: Improved Explanations

Traditionally when we ran an OpenRules-based decision model using a script “test.bat”, a user received an execution protocol on the console view, a “black” screen. While it showed all executed rules, it still was difficult for a user to find all changes especially when there are too many rules. The latest release of OpenRules Decision Manager essentially beatifies rules execution protocols and reports showing all rules in a hierarchical order and highlighting the variables which values that were actually changed. Continue reading

OpenRules: Performance goes 10x Up, Cost goes 10x Down!

Congratulations to our development team and our customers!

OpenRules Decision Manager 8.1.2 is out and it comes with two big good news:

PERFORMANCE UP. Now OpenRules supports a new type of decision tables called “BigTable“. It’s created for decision tables with thousands of rules, and such big tables will be executed 10-100 times faster! The new execution mechanism is based on a self-balancing binary search algorithm and shows a fantastic speed improvement: decision tables with more than 20,000 rules are being evaluated within 1 millisecond! Try it yourself by clicking on this link. It will execute this big decision table deployed as AWS Lambda.

COST DOWN. Our customers deploy OpenRules decision services using multiple cloud-based microservices or smartphone apps that cannot be expensive. We listened and decided to cut run-time license fee 10 times! Now our customers using only one development license may create and deploy hundreds of decision services and still pay a very low cost:

  • Development License including Technical Support and one Run-Time license: only $4,995
  • Run-Time Licenses for multiple production instances such as AWS Lambda decision microservices or smartphone installations: starting at $500 and going sharply down as the number of licenses increases – see new pricing.

Try new release for free now!

Deploying Decision Models to AWS EC2 Instance

You may find many ways to configure an AWS EC2 Instance and deploy an executable jar-file to this instance. To configure an AWS EC2 Instance you should go through several steps including setting up secured access. In this post we will describe a simplified way how to quickly:

  • Launch an AWS EC2 instance
  • Deploy an executable JAR with a decision service to this instance
  • Test the deployed service remotely. Continue reading

Packaging Decision Models into an Executable JAR

OpenRules business decision models can be deployed as a RESTful web service with a single click effectively utilizing SpringBoot and Maven – read how to do it here. In this post we will describe how you can package a business decision model into an executable JAR-file that can be deployed on the local server and tested from POSTMAN or Java. Continue reading

Regression Testing

OpenRules Decision Manager 8.1.0 supports regression testing to confirm that a recent change has not adversely affected existing features of multiple decision models. Regression testing is done to make sure that new changes should not have side effects on the existing functionalities. It ensures that the old functionality still works once the new changes in decision models are done. Continue reading