O documento discute o motor de regras Drools, explicando que as lógicas de negócio de softwares podem ser representadas como regras de negócio. O Drools permite desacoplar essas regras do código-fonte e gerenciá-las em um único local, trazendo mais flexibilidade. Um exemplo mostra como o Drools calcula o frete de uma carga usando fatos e regras.
2. Motor de quê?
● Softwares possuem lógica de negócio. ex: Preços, Promoções, Taxas, etc.
● Lógicas de negócio implicam em ações baseadas em condições
● Lógicas de negócio são regras de negócio.
5. Problemas comuns: Software X Regras
● Regras de negócio no código-fonte
● Processos de entrega mais lentos
● Maiores risco de falha / efeitos colaterais
6. ● Desacoplamento de regras de negócio do código-fonte
● Gestão de regras num único lugar
● Flexibilidade para disponibilização de novas regras (Promoções, Eventos,
etc.)
● Possibilita o profissional de negócio a visualizar, alterar e implantar regras.
Vantagens de Utilizar um BRMS
7. Caso de uso: Calcular Frete
Fato:
Origem: São Paulo - SP
Destino: Fortaleza - CE
Estados no Trajeto: MG, GO, BA, PI
Tipo de Veículo: Truck
Distância (KM): 3000
Tipo de Carga: Siderúrgicos
Diárias: 6
8. Caso de uso: Calcular Frete
Regras:
Preço Bruto Acumulado: R$0
Origem: São Paulo - SP
Se origem for São Paulo - SP, adicionar R$1000,00
9. Caso de uso: Calcular Frete
Regras:
Preço Bruto Acumulado: R$1000,00
Tipo de Veículo: Truck
Distância (KM): 3000
Se veículo for Truck, o valor/km é R$0,5782
Adicionar (distancia * valor-km) = (3000 * 0,5782) = R$1734,06
10. Caso de uso: Calcular Frete
Regras:
Preço Bruto Acumulado: R$2734,06
Tipo de Veículo: Truck
Diárias: 6
Se veículo for Truck, o valor/diária é R$250,00
Adicionar diarias * valor-diaria = (6 * 250) = R$1500,00
11. Caso de uso: Calcular Frete
Fato:
Origem: São Paulo - SP
Destino: Fortaleza - CE
Estados no Trajeto: MG, GO, BA, PI
Tipo de Veículo: Truck
Distância (KM): 3000
Tipo de Carga: Siderúrgicos
Diárias: 6
Preço Bruto: R$4234,06
12. Possível solução? BRMS
● Sigla para Business Rule Management System
● Armazena regras de negócio
● Efetua Ações em Fatos através de Condições
13. Fatos? Condições? Ações?
● Um fato é o conjunto de dados num objeto de negócio. ex: Frete
● Uma condição compara dados num fato. ex: Se origem for São Paulo - SP
● Uma ação ocorre quando uma condição é verdadeira. ex: Adicionar R$1000
14.
15. ● BRMS de código aberto desenvolvido e mantido pela Red Hat
● Baseado inicialmente no algoritmo de inferência Rete (1970)
○ Substituído pelo algoritmo Phreak (~2014)
● Ferramenta madura e funcional
16.
17.
18. ● Precificador: Plataforma de Turismo Online
○ Cenário no Stress Test
■ 1000 fatos (Quartos de Hotel)
■ 500 condições
■ Tempo médio de execução: 0,4s
Case Sciensa