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
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
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.
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
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
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
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!
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 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.
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
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.
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
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
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
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
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
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
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
“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
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
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  defines powerful and broadly applicable concepts for decision modeling that allowed experts  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
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
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
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
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
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
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
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
“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
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
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
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
A new OpenRules Release 6.3.1 enhances its Test Harness with automatic comparison of expected and actual decision execution results. Continue reading
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
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
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
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
“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
Representing Contradictory Rules with Single-Hit and Multi-Hit Decision Tables
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 products that claim that they may automatically resolve rule conflicts (at least I am not aware of them). As a result, it becomes a responsibility of users to represent rules in such a way that allows them to avoid conflicts. Continue reading
The integration of different decision making techniques finally is finding its home under the roof of the Decision Management movement. I am glad that an integrated Constraint Programming (CP), Business Rules (BR), and Machine Learning (ML) approach is gaining in popularity as well. An interesting workshop “CoCoMiLe 2013 – Continue reading
Practical people know that one of the most important property of a business rule is its ability to be violated. Here are a few examples: Continue reading