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.
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
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:
- Write a simple generator of data instances with various combinations of known attributes
- Run the existing decision table using OpenRules to produce labeled instances
- Feed the labeled instances to Rule Learner (or SaaS Rule Learner) to automatically discover a new decision table and evaluate its performance.
Finally, our SaaS Rule Learner became publicly available allowing business analysts to extract business rules from their historical data sets. They can do it without any downloads directly from Amazon cloud using AWS Marketplace SaaS subscription – see https://aws.amazon.com/marketplace/pp/B08HNF1Q5J. Watch this video https://youtu.be/88B5rJa2yrI that describes how to use it for the demo and custom data sets. Try SaaS Rule Learner from http://saas.rulelearner.com. Continue reading
Today I presented “Rule Learner: Self-Learning Decision Models” at the DecisionCAMP Monthly Meeting. It’s about an integrated use of Machine Learning (ML) and Business Rules (BR) within Digital Decisioning Platforms. It describes how “RuleLearner.com” can help business analysts to discover business rules from large historical data sets. Without forcing business analysts to become experts in data science or programming, Rule Learner discovers business rules by naturally incorporating ML algorithms into Business Decision Models. The session focuses on practical aspects of rules generation by developing ever-learning decision-making applications. Video Slides
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 RuleLearner.com. It naturally integrates Machine Learning (ML) and Business Rules (BR) techniques by incorporating ML algorithms into rules-based Decision Models. Continue reading
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
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
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
There are already 3 solutions to DMCommunity May-2020 Challenge. I especially like how Carol-Ann Berlioz created her solution using a test-driven approach when test cases prompt her which rules should be added. So, I’ve tried to reproduce her solution but instead of a product specific GUI I decided to use OpenRules decision tables defined in Excel. So, here are our test-cases with input data and expected results: Continue reading
Let’s look how the release 8.2.0 enhanced OpenRules testing capabilities by extending tables of the type “DecisionTest” with new columns:
- ActionComment. Here is an example:
(You may click on this table to enlarge)
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 decision tables use to column of the type “ActionExecute” to invoke another decision table by simply using its name. For example, look at this decision table:
Recently OpenRules, Inc. registered the domain “DecisionMicroservices.com“. Why did we do it? Because OpenRules Decision Manager dramatically simplifies the creation and maintenance of Operational Decision Microservices! Since we made the first SaaS Rule Engine available in AWS Marketplace on March 3, we experience a strong increase in the number of downloads and requests from the existing customers and prospects who want to develop their domain-specific Decision Microservices. Continue reading
Our customers deploy OpenRules decision services using multiple cloud-based microservices, on premise servers, or smartphone apps. Multiple production instances can be too expensive and our customers want to have a clear pricing model for as many decision services as they want to maintain independently how these services are being deployed. We listened and came up with a new pricing model that consists of two license types, Development License and Run-Time License:
For years OpenRules was among the fastest rule engines. When last year we moved from run-time interpretation to design-time code generation, we, like our colleagues at Red Hat Drools, managed to further improve the overall performance and provide support for practical decision microservices. As a result, we dramatically minimized start-up time, went from 50-100 milliseconds per transaction to 5-10 milliseconds, made memory footprint small. These are really good results needed by modern enterprise decision-making systems.
However, I knew that we have multi-year customers that use really big (!) decision tables with 10 and even 30 thousands of rules. How to improve their performance? Continue reading
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.
Last week I created a “Worker Planner” that has a nice GUI deployed on Apache Tomcat and it works in sync with a remote Scheduling Decision Service deployed as AWS Lambda. The scheduling service was implemented with JavaSolver and a constraint solver included into JSR331. My objective was to demonstrate that these days with cloud-based deployment it is not so difficult to create an end-to-end full-scale decision optimization service. I also wanted to show how to apply powerful Linear Solvers to crack traditionally complex production scheduling problems. So, two days ago I took a well-known problem that is described in this example: Continue reading
There are already several good responses to the DMCommunity’s April-2020 Challenge “Doctor Planning”. Below I am describing how I tried to use this challenge to create a complete decision optimization service. I ended up with a working Worker Scheduler that shows a solution for this particular challenge in Fig. 1 (click to open):
OpenRules offers two open source products to support an integrated use of “Business Decision Modeling with Rule Engines and CP/LP Solvers“:
In this post I will describe how you can deploy decision optimization models as AWS Decision Microservices without programming or complex configuration. Continue reading
In these uncertain times, to do our part we want to help US businesses, especially health organizations to quickly make important operational decisions. OpenRules offers immediate assistance in creation and deployment of your decisions services on-cloud or on-premise.
- If you need a quick implementation of optimization decision services, we will help you to define and resolve your problem with the freely available Java Solver.
- If you need to quickly create a rules-based decision service and deploy it to AWS cloud, we will give you 3 months free access to our SaaS Rule Engine.
Contact us at firstname.lastname@example.org and we will setup a call to discuss how we can be in help. As the CTO at OpenRules, I’d allocate my personal time to help you with your urgent decision automation problems for free – email me directly at email@example.com.
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
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
OpenRules business decision models can be deployed as operational decision services utilizing the Serverless architecture provided by AWS. Deploying your decision models as AWS Lambda functions you don’t even think about servers and pay only for the execution time your services actually consume. Continue reading
OpenRules Decision Manager takes an Excel-based business decision model and converts it into highly efficient Java code. When you make changes to the business model, the code will be automatically re-generated, so we do not expect you to even look at this code. The authors of business decision models will always maintain their original models using mainly Excel.
OpenRules Decision Manager offers several integration and deployment facilities for converting your business decision models to operational decision services on-premise or on-cloud. We want you to be able to go through the deployment process without programming or complex configuration. This process should be easily repeatable as you will need to do it again and again when you modify your original business decision models. So, we tried to simplify the deployment process as much as possible. As our customers started to explore different deployment options, we plan to post several articles that describe these options in more details using the standard examples included into the OpenRules Decision Manager 8.1.1 installation.
This month OpenRules Decision Manager became the first SaaS Rule Engine available in AWS Marketplace. It gives our customers an opportunity to execute OpenRules-based decision services using a “Pay-As-You-Go” pricing model. You may read the Press Release approved by the AWS Marketplace team. Using your AWS account, you can now subscribe to our AWS SaaS Subscription that allows you to pay a minimal fee for only what you actually use with all charges coming from Amazon AWS Marketplace. Continue reading
DMCommunity’s Jan-2020 challenge “Nim Rules” offers to find a winning strategy for this game: “There is a number of red balls in the row below (it could be 15, 16, or 17 balls). Two players take turns removing balls from the row, but only 1, 2 or 3 balls at a time. The player who removes the last ball loses.”
People play different versions of the Nim game since ancient times. First time I played this game with 15 parrots against a clown at a children’s party when I was 7. Later on during my first university’s year my math professor challenged me to play this game instead of answering my exam questions. Continue reading
OpenRules Decision Manager can be deployed a business decision models as a RESTful web service that accepts HTTP requests at your local or remote server and produces with proper responses in the JSON format. As usual, you create and test your decision model in Excel and then simply add the property “spring.boot=On” to the file “project.properties”. Then you only need to double-click on the provide file “runLocalServer.bat” (the same for all models). 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 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
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
2019 has brought lots of innovations and positive developments for OpenRules and its customers. This post summarizes all the new capabilities and user experiences that we have introduced in 2019. Continue reading
OpenRules always was among the fastest decision execution engines. Our newest OpenRules Decision Manager was designed to provide super-fast performance for modern enterprise decision-making applications that handle millions of rules-based transactions per day and to naturally support cloud-based microservices. Now we started to receive a very positive feedback from our customers: after switching to the newest OpenRules Decision Manager the same decision models show 6-10 times performance improvement! If you decide to switch as well, you may take advantage of our Migration Services.
DMCommunity.org Challenge Nov-2019 asks us to build numerical versions of traditional Japanese haiku poems. Here is an example of a traditional Haiku poem:
(5) The sky is so blue.
(7) The sun is so warm up high.
(5) I love the summer.
A haiku poem consists of three-lines written in a 5/7/5 syllable count. Here is an example of a numerical haiku:
77 [seventy seven has 5 syllables]
+ 123 [one hundred twenty three has 6 syllables + 1 syllable for “plus”]
= 200 [two hundred has 3 syllables + 2 syllables for “equals”]
Nathan Brixius proposed a solution using the open-source constraint package written in Python. I really like this problem and decided to ponder this challenge with a free open-sourced JavaSolver. Below is my solution for numerical Haiku and Tanka. Continue reading
1. Traditional rule engines (RETE-based or Sequential).
2. Constraint-based rule engines Continue reading
DecisionCAMP-2019 in beautiful Bolzano on Sep. 17-19 will go down in history as one of the most successful DecisionCAMPs. As usual, it was packed with interesting presentations and even more interesting formal and informal discussions. I’ve written my notes from this memorable event – read them here.
OpenRules business decision models can be deployed as operational decision services utilizing the Serverless architecture provided by Amazon Web Services (AWS), the most powerful and popular cloud platform in the modern world. When you deploy your decision models as AWS Lambda functions, you don’t even think about servers and pay only for the execution time your services actually consume. Continue reading
The Sep-2019 DMC Challenge “CrackTheCode” is a simple puzzle. We need to crack a 3 digit code based on these hints:
682 – one number is correct and in the correct position
645 – one number is correct but in the wrong position
206 – two numbers are correct but in the wrong positions
738 – nothing is correct
780 – one number is correct but in the wrong position. Continue reading
Nowadays it’s not enough for decision-making applications to simply execute a complex rules-based transaction, forget about it, and wait for the next one. These applications frequently have to maintain states of the business objects they manage and and based on their states invoke different decision services. Orchestration of the decision services becomes a serious issue but different implementation techniques frequently utilize State machines. In this post we will use the DMCommunity Aug-2019 Challenge to demonstrate how it can be done. Continue reading
Nowadays rules-based business decision models are usually developed and maintained by business analysts or other subject matter experts (not by software developers). And more and more people want to make their business decision models available from cloud as operational decision services. But is it possible for non-technical people to achieve this objective? There are so many new terms and concepts to learn, that it seems doubtful for business people to handle this task. Continue reading
Business decision models are usually developed and maintained by business analysts or other subject matter experts (not software developers). In the modern world the authors of these decision models want to make them available from cloud as operational decision services. But how difficult is to achieve this objective? 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