Revisitando o JBoss Rules: Para programar basta saber português!
Posted by: Edgar Silva in Engenharia de Sofware, java, tecnologiaO que você acha de transformar usuários em efetivos tomadores de decisão quando falamos de regras de negócio. Sabe aquele desejo antigo de UML para Analistas e Código para Programadores, ou melhor ainda: Caixinhas, Bolas, Setas e etc ligadas forma a execução de um processo do sistema! Parece loucura, mas não é. Usando BPM, ESB, JBI e etc, temos várias mecanismos para encaixar essas facilidades.
Errata:
Sendo assim podemos criar uma Domain Specific Language (DSL), uma linguagem que é especifica para usuários, onde eles possam entender o que está acontecendo nas regras de negócio do sistema. É mais ou menos isso que o
Sendo assim, criamos um arquivo .DSL , que vai permitir que utilizemos uma linguagem natural que é especifica para usuários, onde eles possam entender o que está acontecendo nas regras de negócio do sistema. É mais ou menos isso que o projeto que estou ajudando tem que fazer, então vamos a um pequeno exemplo: PT_BR.dsl :
[java] Imprima “{msg}”=System.out.println(”{msg}”)
[when]A quantidade produto igual a {value}=p : Produto( estoque =={value})
[then]Chame o comando de continuação de Produto=p.dispatch();
[/java]
[java]rule “Estoque”
when
A quantidade produto igual a 0;
then
Imprima “Estoque zerado”;
Chame o comando de continuação de Produto
end
[/java]
E com uma alteração no Engine de Leitura de Regras:
[java]
Reader dsl =
new InputStreamReader( Thread.currentThread().getContextClassLoader().getResourceAsStream
(”com/summatech/framework/rules/dsl/”+ lang.toString() +”.dsl”));
PackageBuilder builder = new PackageBuilder();
builder.addPackageFromDrl( source, dsl );
[/java]
Agora, temos a possibilidade de trabalhar 100% com DSLs, sendo assim, em idiomas humanos, sendo assim inglês, francês e etc.
Consulte o site do JBoss Rules
Abraços
Edgar


Entries (RSS)