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 readingCategory Tools and Technologies
ChatGPT Producing Simple Decision Models
I asked ChatGPT to generate a decision model for a simple Vacation Days problem. Here are two results:
Continue readingOpenRules Debuggers
OpenRules Decision Manager provides two Decision Model Debuggers:
- Graphical Debugger included in OpenRules Explorer
- Command Line Debugger described in this post.
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
Rules-based Machine Learning
The integrated use of Rule Engine and Machine Learning (ML) products becomes more and more popular. OpenRules Rule Learner is a good example of such integration. While there are plenty of powerful Machine Learning algorithms available off-the-shelf, it can be quite practical to use rules-based machine learning instead. The classical rules-based technology may address learning problems considering historical and constantly changing operational data. In such situations a “Rule Engine” plays a role of a “Rule Learner”. Here is a good example.
Continue readingOpenRules Growing Popularity
Since the beginning of 2021 OpenRules Decision Manager‘s popularity is growing at an unusually high pace. The last month our website had 33K visitors that is much more than traditional 20K visitors per month. We’ve already closed several very important deals this year, and now several other large customers have successfully completed their POCs building and deploying OpenRules-based decision microservices on their preferred clouds. Here are important factors that contribute to this success:
Continue readingRule Debugger for Business Users
Whether you like it or not, your business decision models will contain bugs like regular software always does. They will fail to produce expected results for certain inputs and under different unforeseen circumstances. As a result, their authors, who are usually business people, will have troubles to understand why certain rules were not executed while others did. For real-world business models even the best explanation reports and execution traces could be difficult to follow. When complex logical errors occur, decision model authors discover that their business rules and decision management environment is only as good as the rule debugging tools it offers! Continue reading
Stateful Loan Approval Process with AWS Lambda+EventBridge+SNS+SQS
At DecisionCAMP-2020 we had a lot of discussions about the orchestration of the decision services and how to invoke different decision services when states of the business objects change over time. One of the most popular orchestration technique is a Pub/Sub architecture with State machines. The Challenge “Dynamic Loan Approval” is an example of perpetually running decision-making applications which should be able to learn from already executed transactions and evaluate new facts as they become available. This post describes how we implemented this application utilizing OpenRules-based GUI connected to AWS Lambda, EventBridge, SNS, and SQS. 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
Our new partner FocusCXM
FocalCXM became our partner. Over the last few years, they have been able to solve complex Decision Modeling problems by using OpenRules Rule and Decision Engines. By integrating Enterprise CRM platforms such as Salesforce, Veeva etc with the OpenRules Engine, they managed to roll out highly compliant loyalty programs and simplify sales and marketing processes in the Life Sciences industry. This partnership will empower companies solve various other use cases related to Compliance, Employee and Customer Experiences.
Debugging Business Decision Models
OpenRules Decision Manager 8.1.0 includes a special Rule Debugger that allows business users to debug their decision models while they are being executed. The debugger stops execution after executing the first selected rule and a user can analyze the current content of all decision variables to understand why certain rules were executed or skipped. After pushing “Enter” the next selected rule will be executed. A user may continue to push “Enter” until all rules are executed. Continue reading
Rules Debugger for OpenRules Business Decision Models
When our customers create business decision models, they frequently want to have an ability to debug their business rules to understand when and why their rules were executed or skipped. We provided them with the Decision Model Analyzer that partially answers these questions but does it after (!) the model has been already executed. We’ve just completed the development of a new OpenRules Rules Debugger that allows a business user to debug her/his decision models while they are being executed. Continue reading
Open-Source BR Vendors Moving to the Serverless World
I published an article “Business Decision Models are moving to Serverless World“. In particular, it says:
Two major open-source products, Red Hat Drools and OpenRules, already announced the availability of their new implementations:
- Red Hat is turning Drools into a first-class serverless component and has introduced Kogito that embraces the Quarkus framework and GraalVM’s for super-fast startup times and low memory footprint;
- OpenRules introduced a brand-new product Decision Manager that executes exactly the same decision models as the classical OpenRules BRDMS, but uses a completely new execution mechanism that doesn’t need Excel-based Rules Repositories in run-time anymore as it converts all rules to Java ahead of time. As a result, decision services also can startup almost immediately, be executed within milliseconds, and have a minimal memory footprint. Link
Decision Manager – Introduction Video (3 mins)
On Aug. 1 we made OpenRules Decision Manager publicly available for the first time – everybody can download and try its free evaluation version. This 3 mins YouTube video provides a very simple introduction to the on-premise version of our new product that now can execute exactly the same decision models as the classic OpenRules BRDMS.
The major advantage of the Decision Manager is the fact that it is well-positioned to be used on cloud utilizing server-based or serverless architectures. It perfectly fits the requirements of the modern microservices and is ready to support decision-making applications which handle the millions of complex rules-based transactions per day when every transaction should be executed within milliseconds. The next upcoming release of OpenRules® Decision Manager will provide a cloud-based UI for analysis, debugging, automatic deployment and execution of decision models as microservices – stay tuned!
Automatic Generation of Java Interfaces for Tested Decision Models
OpenRules Release 8.0.0 adds one more nice feature requested by our customers. Usually business decision models are created by a business person in Excel using powerful OpenRules decision tables. The same people who create the decision models usually create test cases for them using special Datatype and Data tables. After the model is tested, the business person passes the Excel-based model to IT for integration. If their IT uses Java, they need to create Java classes for input and output objects. which are similar to the Datatype tables created by the business person. The release 8.0.0 added an ability to generate such Java classes automatically to provide ready-to-go interfaces for already tested decision models. Continue reading
OpenRules Decision Manager
OpenRules announced an availability of the new product “Decision Manager” that has been developed specifically for modern enterprises allowing their business analysts to create, deploy, and manage Business Decision Services on cloud, on premise, or even on smartphones. It comes with a completely new execution mechanism that is extremely fast, takes almost no time to start, and essentially reduces the memory footprint. It perfectly fits the requirements of modern containerized decision microservices.
OpenRules also announced the availability of the new release 8.0.0 of its Classic OpenRules BRDMS that includes many new features requested by customers – Release Notes 8.0.0. It is important that both products can efficiently execute the same Business Decision Models created using MS Excel or Google Sheets in accordance with OpenRules Goal-Oriented Decision Modeling approach described in this book.
Can ML help with Compression of Large Rulesets?
The integrated use of Machine Learning (ML) and Business Rules (BR) is one of the most practical trends in the development of modern decision-making software. OpenRules is involved in this development for more than 10 years starting with our successful ML+BR projects for IRS. Along with a general purpose Rule Learner, we also provide Rule Compressor, that uses ML to compress large decision tables to smaller ones. This recent presentation explains how it works. Continue reading
Java Solver: Modeling and Solving Optimization Problems
Java Solver is an open source product that provides a minimalistic, simple-to-use Java API for modeling and solving optimization problems. It’s freely available from JavaSolver.com. Download the product, try examples, and use it for your decision optimization problems. Continue reading
Decision Microservices with Spring Framework and OpenRules
OpenRules Release 7.0.1 provides a sampling and detailed tutorial of how to add an OpenRules-based service to the popular Spring framework. The new tutorial “Developing Decision Microservices with Spring Boot and OpenRules” in a step-by-step manner explains how to convert OpenRules-based decision projects into Decision Microservices and to deploy them on any server or a cloud environment supported by Spring. Read it and try to run the demo microservice “GreetingService” by downloading the new workspace called “openrules.spring” now included in the evaluation version.
Integrated Use of Rule Engines and Constraint/Linear Solvers
Operational business problems can be defined by a set of decision variables and a set of rules that specify relationships between these variables – see the formal definition. This definition considers a decision as a solution of such a problem, but it doesn’t assume anything about ‘HOW’ how decisions will be produced. It means decisions can be found by applying any rule engine, a DMN engine, a constraint or MIP solver, a custom piece of software written in any programming language, a manually provided expert’s decision, or their various combinations. Continue reading
Building Decision Models for DMCommunity.org Challenge “Balanced Assignment”
DMCommunity Sep-2018 Challenge “Balanced Assignment” gives an example of a complex business problem with a serious optimization component. This problem deals with the assignment of people to different project groups. Usually, such problems require deep knowledge of optimization techniques. My interest was to build a decision model for this problem and to investigate what can be done by business people and where the involvement of optimization experts is necessary. So, I attempted to use a business-friendly approach to represent and to solve this complex problem. It was not a simple journey, and this article describes what I did successfully and where I failed. Link
“Model-based” vs. “Method-based” Approaches to Decision Modeling
In Aug-2018 Prof. Robert Fourer gave a tutorial “Model-based Optimization“, in which he compares two essentially different approaches to modeling optimization problem: “model-based” vs. “method-based”. He is using a relatively complex “Balanced Assignment” problem to demonstrate his points. While Fourer’s tutorial deals with optimization, I believe the same arguments are directly related to Decision Modeling that so far mainly remains method-based. During DecisionCAMP-2018 we had interesting (and sometimes hot) discussions about these two approaches and in my closing remarks I described the major differences between them as follows: Continue reading
Goal-Oriented Decision Modeling with OpenRules-7
The major Release 7.0.0 is making OpenRules even more user-friendly without losing any of the sophistication of already proven decision modeling technology. Our customers don’t have anymore to define an execution sequence of their decision tables in special tables of the type “Decision” – these tables can be automatically generated. Now it is sufficient for a human decision modeler to define only Glossary and Decision Tables that specify business logic for all included goals and subgoals. Then for any selected business goal, OpenRules Engine will execute all related decision tables in an automatically calculated order to determine the goal’s value. You may watch this short video that uses simple examples to explain the goal-oriented approach to decision modeling supported by OpenRules-7. Continue reading
Solving Flight Rebooking Challenge With and Without Programming Constructs
DMCommunity.org announced its Challenge “Rebooking Passengers from Cancelled Flights” in Oct-2016 and until now 4 different solutions have been submitted. It is a relatively complex use case for decision modeling. In this post I will describe different implementation approaches for this challenge and will discuss good and not so good DMN constructs used to support the underlying decisioning logic. I hope this post will initiate more discussions which may lead to the future DMN improvements by replacing the existing programming constructs to more business-friendly representations. Continue reading
DMN: Iterating Over Arrays Without Explicit Loops
I consider myself among the initiators and big supporters of the DMN standard, and I do my best to help bringing the standard to the real-world business decision modeling. Naturally, the current release of DMN includes some constructs with which I strongly disagree but I am trying not to criticize DMN too much as the standard itself is not mature enough yet and I hope it will be gradually improved based on the real-world acceptance. Continue reading
Happy 14th Birthday, OpenRules!
This week during a conference call with a large potential customer I had shown them our release history. Suddenly I realized that OpenRules just passed its 14th birthday. I remember as we started in 2003 with just a few people and a strong desire to build the best Business Rules Product. And now, 14 years later, I am glad to share multiple OpenRules success stories at the world largest international corporations and government agencies. In this post I will briefly look back to better understand the factors that contributed to the commercial success we enjoy as a company today. Continue reading
New OpenRules Release 6.4.1 with DMN Why-Analyzer
“Imagine you had a Why Button handy whenever you encountered some disconnect in day-to-day business operations. Hit the Why Button and presto – answers appear in the form of relevant business rules” – Ron Ross, 2013
The release OpenRules Release 6.4.1 introduces a new add-on called “Why-Analyzer for Decision Modeling” that provides such a Why Button for decision models created in accordance with the DMN standard. Actually it is much more than just a button but rather a graphical interface that allows business analysts to analyze the results produced by their decision models using their own test cases created directly in Excel. See a brief video and try it yourself without any downloads from here. There are several more product improvements described in the release notes. You may download the latest release and try your own decision models with OpenRules Why-Analyzer. Continue reading
Building a Custom Scheduler with OpenRules and JSR-331
One of the largest Japanese telecom company is successfully using OpenRules being integrated with a BPM product produced by our partner Intra-Mart. Last month this customer asked us to help with development of a custom scheduler capable to schedule thousands of cable construction operations subject to various precedence and exclusivity constraints. Continue reading
Developing Custom Decision Modeling Languages with Enhanced DMN
The modern Business Rules and Decision Management Systems help users to move business logic from a code to business rules controlled by subject matter experts (not developers). In particular, the latest Decision Model and Notation (DMN) standard [1] defines powerful and broadly applicable concepts for decision modeling that allowed experts [2] to call DMN a “decision modeling language”. DMN even includes a friendly enough expression language, FEEL, to express complex relationships between different decision variables. However, DMN is a general purpose “decision modeling language” that naturally stays away from domain-specific decision modeling constructs. In this article I will discuss how to enhance DMN to support specialized decision modeling languages. Continue reading
OpenRules Wins 10th International Rule Challenge Award
Congratulations to OpenRules team: I’ve just learned that our “What-If Analyzer for DMN-based Decision Models” won the 10th International Rule Challenge Award. Here is the certificate: Continue reading
DMN Interchange
The DMN 1.1 standard includes a new interchange format that soon will become public. Meanwhile, DMCommunity Apr-2016 Challenge provides a very simple xml-file for the decision model “Vacation Days” created by Bruce Silver. Ideally, DM vendors may take this file (and much more complex DMN XML files), transform it to their own format, and execute using their own tools. While vendors are not in a hurry to support DMN XML yet, this weekend I decided to give it a try. Below I will describe the results. Continue reading
OpenRules at BBC 2016
This year OpenRules will again be an exhibitor at the Business Rules and Decisions Forum 2016 at BBC conference on Oct 31- Nov 4, 2016, Las Vegas, NV. We are sponsoring this major BR&DM event for 13 years in a row. I’ve just received a confirmation that my presentation“Why” and “What-If” Buttons for Business Decision Management” has been accepted. Here is an abstract: Continue reading
Decision Models: Finding Alternative and Optimal Decisions
People frequently assume that a good, consistent decision model should produce one and only one decision (solution) for any valid input. However, in real-world applications we frequently deal with situations when a decision model may produce multiple feasible solutions for the same input. And it does not mean that the decision model is incomplete – simply a user may choose the most appropriate solution among all produced decisions. It can be done interactively or by adding more rules. I’ve already provided an example “Monkey Business Analyzed” that describes how to deal with multiple decisions using OpenRules What-If Analyzer. In this post I will describe another decision model that also shows how to choose an optimal decision among multiple feasible decisions. Continue reading
“Monkey Business” Analyzed
I decided to add the decision model “Monkey Business” to our new What-If Analyzer. It brought several considerations missed by other solutions. In this post I will discuss my implementation and will show how What-If Analyzer helps to do a through analysis of usually unnoticed aspects of business decision modeling. Continue reading
bpmNEXT 2016
This year OpenRules will participate in the bpmNEXT 2016 that will take place at Santa Barbara, CA on April 19-21, 2016. This is a very selective conference that does not allow marketing and forces the presenters to do only live demonstrations of specific achievements that have a chance to shape the next generation of Business Process Management software – including intelligent operations, the Internet of Things, case management, business decision management, and goal-directed processes. I will present “Dynamic Decision Models: Activation/Deactivation of Business Rules in Real Time” on Apr. 21 at 14:00. Continue reading
Decision Model for Vacation Days Calculation
This month DMCommunity.org asked to present the best design of the notorious decision tables offered by Prof. Jan Vanthienen. It should implement the following business logic: Continue reading
OpenRules 6.3.4 Introduces What-If Analyzer of Decision Models
On December 28, 2015 we published a new OpenRules release 6.3.4 that introduces What-If Analyzer, the first tool of this type in the Decision Management domain. Its main purpose is to support what-if analysis of decision models built in accordance with the DMN standard. What-if analysis is the process of changing the business rules that represent business logic to see how those changes will affect the outcome of the decision model. Here is the main view of the What-If Analyzer for the decision model “Make a Good Burger” offered by the DMCommunity.org: Continue reading
Predictive Analytics is Becoming Mainstream
“Big Data” have brought “Predictive Analytics” (long-time available but hidden in the academic world under the names “Machine Learning” and “Data Mining”) to the spotlight of the modern Business Analytics. These days you will find many examples when analytics enables business decisions by supporting a path from data to decisions and actions. Below I will briefly talk about nowadays positioning of the Business Analytics and more about OpenRules own experience in this area including OpenRules Rule Learner. Continue reading
Don’t Program a System, Educate It!
Modern decision management techniques enable business decisions by supporting a path from data to decisions and actions. Wherever people use stand-alone Business Rules, Complex Event Processing, Predictive Analytics, Optimization systems or their combinations, they prefer to put in charge subject matter experts and not software developers. Actually, all these systems tend to be declarative and allow customers to feed their systems with externally maintained business knowledge, e.g. historical data and/or already known business rules. Nowadays people in a way want to educate a general purpose system with their domain-specific knowledge avoiding traditional programming. Continue reading
OpenRules Dialog Questions in Multiple Tables
If you have too many questions in your OpenRules Dialog project, you may want to split a large table “questions” into several tables. Continue reading
Enhanced Live Catalogs at DMCommunity.org
A few years ago, I wrote a web application that allowed professional communities to support Live Catalogs of different software tools. The “live” means that a product catalog is automatically updated whenever the profiles of products included into the catalog are added or updated by their authors. Continue reading
Decision “Determine a Killer of Aunt Agatha”
Could we use decision tables to represent and solve complex logical problems? An example of such problem was offered by the DMCommunity.org in the Nov-2014 Challenge called “Who Killed Agatha“. Continue reading
Resolving Conflicts among Business Rules
Contradictory business rules occur in normal business situations, and maintaining rules with exceptions is a very typical example of rule conflicts. Is it possible to automatically resolve such conflicts? Continue reading
OpenRules Test Harness
A new OpenRules Release 6.3.1 enhances its Test Harness with automatic comparison of expected and actual decision execution results. Continue reading
Learning Business Rules from Data at RuleML-2014
This year RuleML-2014 will be held in Prague on Aug 18-20. For the first time it will include a special track called “Learning Business Rules from Data”. As a member of the organizing committee, I posted the proper announcement here. It promises to become a very interesting event when the decision management practitioners meet their academic partners. Continue reading
OpenRules Sandbox
To simplify an evaluation of the OpenRules BDMS we’ve created an OpenRules Sandbox – see http://openrules.com/sandbox.htm. So, you do not have to download or install any software to be able to run your own decision models. Continue reading
Can a Decision Model Define Uniqueness of Objects inside a Collection?
This question was asked by Antonio Plais – see the LinkedIn discussion. Several practical variations of this question were mentioned: 1) Define if the same product appears more than once in the same sales order; 2) determine the uniqueness of records in a file to be loaded into a Data Warehouse. Obviously, the question deals with business rules defined on collections of objects – not the most popular topic among decision modelers. Continue reading
Another DMN Decision Model (executable!)
Today Nick Broom published his own example of a decision model based on his understanding of the current version of the DMN standard. Nick is a business analyst and a well-known decision management practitioner, so his interpretation is very valuable as the standard is oriented to the business analysts (not to programmers). Nick’s example is supposed to make a decision whether an applicant is eligible or ineligible to a credit card. Nick described a simple credit card application process and designed decision requirements diagrams and related decision tables.
Starting to read his post, I decided that it could be helpful to make Nick’s decision model executable and to test if it actually produces the expected results. It took me several hours to do it using mainly Excel and the latest version of OpenRules BDMS. Continue reading
API for Generation of OpenRules Decision Tables in Excel
With a new release 6.2.6 of OpenRules® you may generate Excel files with multiple decision tables using a simple Java API. It includes class DecisionBook that corresponds to one Excel workbook (an xls-file), to which you may add multiple OpenRules® decision tables. Continue reading
Live Catalogues of Decision Management Tools
Today I am pleased to announce availability of the new Decision Management Community website called www.decision-tools.org. What is it all about? Continue reading
Solving Rule Conflicts – Part 2
“The Sleep of Reason Produces Monsters”, Francisco Goya
Defeasible Logic and Business Rules with Probabilities
Modern rules and decisions management systems provide effective mechanisms for development of good decision models. However, building real-world decision models people always face complex issues related to diagnostic and resolution of rule conflicts. Some systems can effectively verify decision model consistency and diagnose rule conflicts. But there are no practically used Business Rules (BR) products that claim that they may automatically resolve rule conflicts.
In the Part 1 of this series I described how end users can represent their rules in single-hit and multi-hit decision tables while avoiding rule conflicts. But is it possible to automatically resolve rule conflicts? I will discuss this problem below. Continue reading