Tutorial do Drools: Arquitetura do mecanismo de regras e exemplo do Drools

O que é Drools?

Drools é um software de gerenciamento de regras de negócios (BRMS) de código aberto escrito em Java que fornece aos usuários uma variedade de recursos, como Business Rule Engine, criação da Web, aplicativo de gerenciamento de regras e suporte de tempo de execução para modelos de modelo de decisão e notação. Ele usa o sistema de implementação avançado do algoritmo de correspondência de padrões rete.

O Drools foi lançado sob a Licença Apache 2.0 e é compatível com qualquer JVM e também está disponível no Repositório Central Maven.

A ferramenta Drools ajuda você a separar e raciocinar sobre a lógica e os dados encontrados nos processos de negócios. Ele suporta o mecanismo de regras drools baseado em inferência de encadeamento para frente e para trás.

Os Drools são divididos em duas partes: Criação e Tempo de execução.

  • Autoria - Envolve o desenvolvimento de arquivos de regras.
  • Tempo de execução - Envolve a criação de memória de trabalho e o manuseio da ativação.

Neste tutorial do Drools para iniciantes, você aprenderá:

O que é regra?

As regras são partes do conhecimento frequentemente expressas como: 'Quando ocorrerem condições específicas, execute algumas tarefas'.

A parte mais importante de uma regra é que é quando papel. Uma vez quando parte está satisfeita, então a parte é acionada.

Sintaxe:

 When Then 

Método de correspondência de padrões:

O método de correspondência de padrões ajuda a comparar fatos novos ou antigos com as regras de produção. Ele é concluído pelo Inference Engine.

Os algoritmos usados ​​para correspondência de padrões são:

  • Rede de algoritmos
  • Algoritmo de saltos
  • Algoritmo Linear
  • Algoritmo de Tratamento

No entanto, o algoritmo mais usado pelo Drools é o Algoritmo de Rete.

Rede de algoritmos

O algoritmo Rete é um algoritmo de correspondência de padrões útil que permite implementar sistemas de regras de produção. Isso ajuda você a sacrificar a memória para aumentar a velocidade. Ele também reduz ou elimina tipos específicos de redundância com a ajuda do compartilhamento de nós. Ele armazena correspondências parciais ao realizar junções entre diferentes tipos de fatos.

Motor de regras Drools

Motor de regras Drools é uma abordagem baseada em regras para implementar um sistema Expert no software Drools. O mecanismo de regras fornece sistemas especialistas que são sistemas baseados em conhecimento que ajudam você a tomar decisões como o que fazer e como fazer. Ele reúne conhecimento em uma base de conhecimento que pode ser usada para raciocinar.

Conjunto de ferramentas Drools

Agora, neste tutorial do mecanismo de regras do Drools, aprenderemos sobre o Drools Tool Suite. Aqui estão cinco tipos de ferramentas que fazem parte do pacote Drools:

  • Drools Guvnor : É um repositório centralizado para Drools KnowledgeBase.
  • Fluxo de Drools : Oferece fluxo de trabalho e processos de negócios.
  • Drools Fusion : Ferramenta usada para processamento de eventos complexos
  • Drools Expert ou Rules Engine : Uma ferramenta útil para raciocinar.
  • Planejador Drools: Para oferece planejamento automatizado, que inclui problemas de planejamento NP-difíceis.

Componentes importantes no Drools

Agora, neste tutorial do Drools, vamos aprender sobre componentes importantes do Drools.

Aqui, estão os termos essenciais usados ​​no Drools:

  • Fatos - Fato representa os dados que servem como entrada para regras
  • Memória de Trabalho - Armazenamento com fatos, onde são usados ​​para correspondência de padrões. Ele pode ser modificado, inserido e removido.
  • Sessão de Conhecimento - Este componente contém todos os recursos necessários para a regra de disparo. Aqui, todos os fatos são inseridos em uma única sessão e, em seguida, as regras correspondentes são disparadas.
  • Base de Conhecimento - Representa o conhecimento no ecossistema Drools. Ele armazena a formação dos recursos onde as regras são encontradas.
  • Módulo - Este é um módulo que armazena várias bases de conhecimento que podem realizar diferentes sessões

Arquitetura do Drools

Arquitetura do mecanismo de regras do Drools



Aqui está o sistema de trabalho da arquitetura Drools:

Passo 1) As regras são carregadas na Base de Regras, que está disponível o tempo todo.

Passo 2) Os fatos são declarados na Memória de Trabalho, onde podem ser modificados ou retraídos.

Etapa 3) O processo de correspondência dos fatos novos ou existentes com as regras de produção é chamado de correspondência de padrões, que é executada pelo mecanismo de regras.

Passo 4) A agenda permite que você gerencie a ordem de execução das regras conflitantes com a ajuda de uma estratégia de resolução de conflitos.

Características do Drool

Aqui estão recursos importantes do Drool:

  • Ajuda a separar o aplicativo da lógica dinâmica
  • Programação Declarativa
  • Centralização do Conhecimento
  • Velocidade e escalabilidade
  • Separe a lógica da aplicação
  • Regras compreensíveis

Como adicionar plug-ins Drools no Eclipse

Agora, neste tutorial do Drools, vamos aprender como adicionar o plugin Drools no Eclipse.

Passo 1) Vamos para ligação e clique em 'ZIP de distribuição' para integração jBPM. Depois de baixado, extraia-o em seu disco rígido

Passo 2) No Eclipse, selecione Instalar Novo Software

Etapa 3) Clique em Adicionar

Passo 4) Na próxima tela,

  1. Clique em Local
  2. Selecione a pasta 'org.drools.updatesite /'
  3. Clique OK

Etapa 5) Clique Próximo

Etapa 6) Aceite o contrato de licença e clique em Avançar

Etapa 7) O software será baixado e você será solicitado a reiniciar o eclipse

Etapa 8) No menu Windows> Preferências, você verá a opção Drools indicando que está instalado.

Exemplo de Hello World do programa Drools

Abaixo está um exemplo do Drools para o programa Hello World:

 package com.sample inport com.sample.DroolsTest.Message; rule 'Hello World' when m : Message( status ** Message.Hello, myMessage : message ) then System.out.println( myMessage ); m.setMessage( 'Goodbye cruel world' ); m.setStatus( Message.GOODBYE ); update( m ); end rule 'GoodBye' when Message( status ** Message.GOODBYE, myMessage : message ) then System.out.println( myMessage ); end 

O que é encadeamento retroativo vs. encadeamento direto?

Um mecanismo de encadeamento direto verifica os fatos e obtém uma conclusão específica.

Vamos considerar um cenário do sistema de diagnóstico médico. Se os sintomas do paciente forem colocados como fatos na memória de trabalho, será fácil diagnosticá-lo com uma doença.

Um motor de encadeamento reverso tem o objetivo definido e tenta satisfazê-lo.

Considere o mesmo cenário de diagnóstico médico. Suponha que seja uma epidemia de uma determinada doença. Este IA poderia presumir que um determinado indivíduo tinha a doença e tentar determinar se seu diagnóstico está correto com base nas informações disponíveis.

Por que usar o Drools Rule Engine?

Aqui, estão os principais motivos para usar o mecanismo de regras Drools:

  • As regras são fáceis de entender para desenvolvedores e analistas de negócios.
  • As regras são de fácil manutenção.
  • O Rule Engine usa um algoritmo Rete que afirma que o desempenho do motor nunca depende do número de regras.
  • As regras podem ser modificadas e implantadas sem desativar o aplicativo.
  • Externaliza a lógica de negócios da base de código comparativamente estática.
  • As regras são desenvolvidas em formatos menos complicados para que o analista de negócios possa ler e verificar facilmente um grupo de regras.
  • As regras permitem que você crie um armazém de conhecimento executável na forma.
  • Ferramentas como o Eclipse ajudam você a gerenciar regras, obter uma resposta instantânea, autenticação e suporte de conteúdo.

Desvantagens do mecanismo de regras

Aqui estão as desvantagens / contras de usar o mecanismo de regras:

  • Muito esforço de aprendizagem requer que os desenvolvedores conheçam este método de programação
  • O mecanismo de regras não é um método seguro para solucionar problemas.
  • Precisa entender o funcionamento do mecanismo de regras para consumir mais memória
  • Existe um amplo conjunto de regras para uma ramificação complexa.

As regras podem mudar com o tempo e entrarão em vigor com as mudanças de código

Resumo

  • JBoss Drools é uma plataforma de integração de lógica de negócios (BLiP)
  • Os tipos de ferramenta Drool são: 1) Drools Guvnor 2) Drools Flow 3) Drools Fusion 4) Drools Expert 5) Drools, Planner.
  • O Drool ajuda a separar o aplicativo da lógica dinâmica.
  • O fato representou os dados que servem como entrada para as regras.
  • A memória de trabalho é um armazenamento com fatos, onde são usados ​​para correspondência de padrões. Ele pode ser modificado, inserido e removido.
  • A base de conhecimento é um componente que contém todos os recursos necessários para a regra de disparo.
  • Sessão de conhecimento representa o conhecimento no ecossistema Drools.
  • A base de conhecimento representa o conhecimento no ecossistema Drools.
  • O módulo armazena várias bases de conhecimento, que podem conter diferentes sessões.
  • As regras são partes do conhecimento frequentemente expressas como: 'Quando ocorrerem condições específicas, execute algumas tarefas'.
  • Um Drools é um mecanismo de regras que usa uma abordagem baseada em regras para implementar um sistema Expert.
  • Um mecanismo de encadeamento direto verifica os fatos e obtém uma conclusão específica.
  • Um motor de encadeamento reverso tem o objetivo definido e tenta satisfazê-lo.
  • O algoritmo Rete é um algoritmo de correspondência de padrões útil que permite implementar sistemas de regras de produção.
  • As regras são fáceis de entender para desenvolvedores e analistas de negócios.
  • A principal desvantagem de usar um mecanismo de regras como o Drool é que ele exige muito esforço de aprendizado dos desenvolvedores para conhecer esse método de programação.