Pergunta

me pediram para fazer algumas drools Traning para os meus companheiros. Apenas para mostrar-lhes como ele pode ser usado e como útil pode ser. Para fazer este treinamento eu primeiro tenho que aprender Drools, e eu percebi que a melhor maneira de aprender será pequeno projeto centrado em torno de baba.

Todas as idéias interessantes?

A minha ideia para este projeto era fazer algumas webMethods fluxo de validação de arquivos (apenas alguns exemplos de validações). Eu faria de validação única - temos analisador in-house desse formato de arquivo.

Mas algo que realmente faz algum trabalho seria bom.

Foi útil?

Solução

Na verdade, temos um projeto drools base, você poderia tentar imitar isso. : -)

Suponha que você tem mensagens SMS recebidas que chegam em um protocolo baseado em HTTP. Uma solicitação HTTP contém o aNumber (número de telefone do remetente) do Bnumber (número de telefone do destinatário) e o texto da mensagem.

Seu objetivo é usar drools para encaminhar as mensagens, com base em seu conteúdo, para os serviços apropriados. Você deve ter um conjunto de regras, cada regra afirmando algo como:. Se o Bnumber é 1792 e o texto da mensagem contém a palavra-chave "VIDEO", em seguida, a mensagem deve ser direcionado para a prestação de serviços de vídeo

Na verdade, usamos esta configuração exata, uma baba roteador baseado que pega mensagens HTTP servlet tópicos e coloca-los para filas JMS com base em seu conteúdo.

seria interessante para você trabalhar sobre esse programa? : -)

Outras dicas

Eu vou te dar dois exemplos reais que minha empresa está usando agora. A empresa é uma das maiores e-commerce do Brasil.

  1. Drools é usado para aplicar promoções de preços e desconto sobre produtos, enquanto os usuários só navega dentro de catálogo do produto. Então, antes de renderizar a resposta para o navegador do usuário, temos que aplicar promoções relacionadas a preço, parcelamento e frete.

  2. E enquanto verificar os produtos, existem promoções podem que podem ser aplicados devido à região de endereço do cliente, estado, idade, sexo, quantidade de produto, quantidade de produtos por categoria, de promoções combinadas, feriados, e assim por diante . A aplicação de cada promoção afeta toda a lista de produto, que requer uma nova aplicação de regras até o check-out fica um estado estável.

Foi realmente um desafio, mas trabalhando muito bem. Drools é usado em outros contextos dentro desta empresa também.

Se você está tentando aprender Drools há também um livro muito bom que tenha sido publicado recentemente. Ela pode ser encontrada em http: //www.packtpub .com / baba-jboss-regras-5-0-developers-guia / livro . Eu já tinha sido usando Drools por um tempo quando ele saiu, mas desnatado através dele para aprender alguns novos conceitos. Alguns dos meus companheiros de equipe também leu o livro e concordou que ajudou a sua compreensão da ferramenta / aplicação.

Existem algumas quedas curtas. A informação não é bem verdadeira organizado. Você deve lê-lo de frente para trás ou você está certo de perder alguns conceitos fundamentais que inibem você está aprendendo em pontos posteriores. Além disso, o código de exemplo pode ser um pouco difícil de trabalhar. Globalmente, porém eu diria que ele vai ajudar a nivelar sua curva de aprendizagem.

Um exemplo de um projeto anterior:

Você está tentando entregar um pacote e do jeito que você quer entregá-lo é usar um número de empresas de transporte. Cada empresa vai pegar o pacote-se em um depósito e entregá-lo para outro depósito até que finalmente chega ao seu destino. Cada empresa tem uma programação que pode ser uma estranha combinação de dias e horários. Por exemplo cada terça-feira e quinta-feira, exceto a 5ª terça-feira e primeira quinta-feira do mês, exceto em feriados. Cada viagem entre depósitos vai demorar um determinado período de tempo. Dada uma rota fixa entre depósitos de quanto tempo vai levar-me a entregar esse pacote dado um tempo de partida?

A coisa mais simples seria para jogar um jogo, dizer cartões. Pôquer pode ser um pouco complexo, mas espadas, solteirona etc poderia ser mais fácil.

Por que você está treinando-os em uma ferramenta que você não precisa nem usar? Como você está pensando em aplicá-la? Um exemplo artificial é apenas isso - inventado. Se você tem uma necessidade real para a tecnologia, em seguida, aplicá-la a esse domínio. No mínimo isso pode agir como uma prova muito difícil de conceito para ver se a tecnologia é ainda aplicável ao seu sistema.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top