As described in the previous article, we are facing a very challenging performance issue when solving 100k row decision tables.
To view previous discussion, please click:
Solution 1: Rule Template + Xls
Solution 2: Precompile Spreadsheet Decision Table
In this article, I am going to change the mindset and change the decision table row data from rule to fact. Again I am using drools as my framework.
Solution 2(Precompile the rules) helps a lot when the decision table is 10k below row size. However when the row number comes to very big such as 100k, solution 2 ‘s improvement is…
As described in my previous article, we are handling a performance issue when solving 100k row decision tables.
Follow the vertical thinking of solution 1, I think we can improve the situation corresponding to the problems:
When drools using rule template + Excel to fire rules, what it actually doing under hood is:
How to handle 100k decision table rows in Drools?
When handling large rows of decision tables， one of the pain points is performance. In this article, I prepared a prototype setup to a simple scenario to simulate the large decision table use case and provided three solutions to utilize drools ( a rules oriented application framwork). I would focus on the decision table rule execution performance.
For the sake of explanation of the core concept of problem solving, I prepared two decision tables 10k & 100k row data to simulate decision making procedure usage in rules application.
I provide 3…
Innovation never stopped in Java land. In this article, I am going to explore a new trend of Java Framework: “Build Time Boot” techniques, which make java applications slim and run faster.
If you searched the microservice framework, you will find a lot of options like: Spring Boot, Vertx, Quarkus, Micronaut, Helidon(those are all java), GoMicro(Go), Molecular(nodejs) etc.
Do you know why so many Java framework options?
Java is a 25 years old language, so the landscape and market definitely is much larger than other languages. …
In my previous blog, I described what happened when Domain-Driven Design met Deadline Driven Design. Software design is a complicated activity. Pushing the deadline doesn’t work in most cases; cutting the software design will never work.
Let’s first explain “the two-person job” mentioned in my previous blog. A basic question first.
Who designed your software?
A, UX designer; B, Architect; C, BA; D, Developer;
If you choose A, I would point your attention to Steve Jobs’ Quotes
“Design is not just what it looks like and feels like. Design is how it works.”
If you choose B, I would argue…
When I asked my clients who know Domain Driven Design, less than 10% would nod their heads.
However when I asked who experienced Deadline Driven Design, almost all would laugh and feel connected.
Let me share an experience once I delivered DDD methodology to a customer.
BA(Business Analysis) Mr. T is the one I coached for adopting event storming and DDD methodology to analyse the requirement and do the design afterwards in Lab1. After a short break, we met again for a second project Lab2.“
We were standing in front of the following map which was completed by BA Mr…
Red Hat Senior Consultant. Focus on App Dev, DevOps, OpenShift technology.