Gostaria de apresentar uma engine de Decisão que tem o core desenvolvido em Java e é opensource, podemos utilizar em projetos e abstrair as regras e decisões da codificação, permitindo uma maior flexibilidade do sistema e foco no negócio.
Fiz um exemplo hipotético de uma possível utilização do sistema.
Valor do Resgate de um Plano de Previdência Privada
Descrição: É preciso descobrir o valor do percentual de resgate do plano de acordo com os anos de contribuição.
Pode ser criada por XML, Excel (Equipe de Negócio) ou Java e importada para o dmn via linha de comando ou serviço REST.
Exemplo em Excel:
Pode ser realizado a chamada por REST, Java ou Fluxo de BPM.
Exemplo REST:
Exemplo em Java (Consumindo a regra via código) https://github.com/darioajr/resgate-dmn
Informações Extras:
https://github.com/camunda/camunda-engine-dmn
https://github.com/camunda/camunda-bpm-spring-boot-starter
https://docs.camunda.org/manual/7.7/modeler/camunda-modeler/dmn/