Our customers frequently build not one but multiple decision models for their business domains such as property and casualty insurance, loan origination, medical guidelines, etc. After building several decision models, they already have a quite rich glossary and various decision tables that essentially cover their business domain. So, it gives them a good foundation to build a library of relatively small decision models which can be used to assemble more complex decision models. Sometimes they even add domain-specific decision tables and supporting Java classes.
The general architectural schema of the library is shown above. It includes multiple decision models with some of them being deployed as cloud-based decision microservices. It also includes a special Orchestration Decision Model that describes how to orchestrate other decision services.
The OpenRules release include a workspace “LoanServices” that implements a library of decision models for the Loan Origination domain using an example from the DMN Section 11. You may freely download it from here:
- LoanServices_9.1.1.zip – a workspace with simple and complex decision models for Windows
- LoanServices_9.1.1.tar.gz – the same for Mac or Linux
Extract (unzip) the downloaded files and you will get the folder “LoanServices” on your hard-drive. This folder contains several decision models that implement various goals and sub-goals for the loan origination domain.
There are many small sub-goals and two main goals “BureauStrategy” and “Routing” deployed as external decision services:
This library is described in this BBC-2020 presentation “Building, Deploying, and Orchestrating Complex Decision Services” – see slides and watch the video.
You can run LoanServices/build.bat to build all included models except of Result. Alternatively, you may first double-click on LoanServices/Common/build.bat because all decision models share the decision model “Common”. Then you may run “build.bat” or “test.bat” for all other included decision models.
To be able to build and executed an integrated decision model “Result“, you need first to build and deploy decision models “BureauStrategy” and “Routing” as AWS Lambda functions. To do than you need to adjust the properties in their file “project.properties” to use your own AWS account, and simple run “deployLambda.bat” files.
This library also demonstrates Rules-Based Service Orchestration with an ability to assemble new decision services by orchestrating existing decision services “Bureau Strategy” and “Routing” into a separate orchestration decision models “Loan Origination Result”. Read more here.