1. JBossInBossa 2011 - Brasilia
Gerenciamento de Regras de Negócios com o
Drools Guvnor
Osman Lira Júnior
Solution Architect
Rafael Benevides
Senior JBoss Consultant
3. JBossInBossa 2011 - Brasilia
Regras de Negócio
São parte integrante do negócio das organizações.
Dependem de um conjunto de informações, atrelado a um conjunto de
políticas e práticas das organização para serem satisfeitas.
Muitas vezes sofrem alterações devido a mudanças do mercado ou
simplesmente mudanças de “evento” dentro do seu ERP.
4. JBossInBossa 2011 - Brasilia
Exemplo de Regras de Negócio
Quanto custa o seguro de um determinado carro?
Qual a taxa de juros para obter um empréstimo?
Qual o percentual de aumento de um plano de sáude?
5. JBossInBossa 2011 - Brasilia
Como TI pode responder rapidamente a mudanças e manter o
alinhamento entre TI e negócio, sem a necessidade de
constantes compilações diárias em seus sistemas?
6. JBossInBossa 2011 - Brasilia
JBoss Drools - Plataforma
Plataforma de lógica de negócio que implementa um motor de regras.
Teve sua primeira versão lançada em 2001.
Atualmente está na versão 5.
Começou focado em regras de negócio, mas hoje abrange outros
conceitos, como Processamento de Eventos Complexos (Complex
Event Processing ou CEP) e workflows.
7. JBossInBossa 2011 - Brasilia
JBoss Drools
O objetivo do Drools é programar regras de negócio declarativamente,
separando e centralizando as regras de negócio de um sistema,
podendo gerencia-las, altera-las e versiona-las dinamicamente.
8. JBossInBossa 2011 - Brasilia
JBoss Drools
Business Logic integration System
Drools
Guvnor
Drools
Fusion
Drools
Flow
Drools
Expert
9. JBossInBossa 2011 - Brasilia
JBoss Drools
Drools Guvnor: sistema de gerenciamento de regras (Business Rule Management
System ou BRMS) que permite a organização, versionamento, verificação e edição
de regras;
Drools Expert: motor de regras da plataforma que executa regras de negócio dado
um conjunto de fatos;
Drools Flow: motor de processos da plataforma que possui uma forma de
integração com as regras de negócio;
10. JBossInBossa 2011 - Brasilia
JBoss Drools
Drools Fusion: motor de processamento de eventos complexos (Complex Event
Processing ou CEP), que é uma forma de regra de negócio que leva em conta
aspectos temporais e streaming de eventos;
Drools Planner: para a resolução de problemas usando heurísticas que retornam
resultados considerados “o melhor possível” para problemas que não possuem
uma solução algorítmica definitiva.
12. JBossInBossa 2011 - Brasilia
• Quando usar o Guvnor ?
– Quando precisa versionar suas regras
– Quando usuários com diferentes “skill” precisam editar as
regras
–
• Quando não usar o Guvnor ?
– Em aplicações já existentes
– Regras dentro das aplicações
13. JBossInBossa 2011 - Brasilia
Quem usa o Guvnor ?
• Analista de negócios
• Especialista em regras
• Desenvolvedor
• Administradores
14. JBossInBossa 2011 - Brasilia
Funcionalidades
• Multiplos editores de regra (GUI, texto)
• Controle de versões
• Categorização
• Build e deploy
• Armazendo único de múltiplas regras como um único pacote
15. JBossInBossa 2011 - Brasilia
Assets (Ativos)
• Tudo é um ativo
• Regras
• Tabela de Decisão
• Modelos
• DSLs
16. JBossInBossa 2011 - Brasilia
Categorias
• Ativos podem pertencer a várias categorias
• Categorias podem ser usadas como “tags” - exemplo:
Rascunho / Para revisão
17. JBossInBossa 2011 - Brasilia
Editor de Ativos
• Metadados (padrão “Dublin Core” - http://dublincore.org/)
• Atributos
• Histórico de versões
• Descrição
• Discussão
• Outros metadados