adoção de jboss drools no desenvolvimento de...

Click here to load reader

Post on 17-Dec-2018

212 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

UNIVERSIDADE REGIONAL DE BLUMENAU

CENTRO DE CINCIAS EXATAS E NATURAIS

CURSO DE SISTEMAS DE INFORMAO BACHARELADO

ADOO DE JBOSS DROOLS NO DESENVOLVIMENTO DE

SISTEMAS

MATEUS ARTUR SCHNEIDERS

BLUMENAU 2011

2011/2-24

MATEUS ARTUR SCHNEIDERS

ADOO DE JBOSS DROOLS NO DESENVOLVIMENTO DE

SISTEMAS

Trabalho de Concluso de Curso submetido Universidade Regional de Blumenau para a obteno dos crditos na disciplina Trabalho de Concluso de Curso II do curso de Sistemas de Informao Bacharelado.

Prof. Mauro Marcelo Mattos, Doutor - Orientador

BLUMENAU 2011

2011/2-24

ADOO DE JBOSS DROOLS NO DESENVOLVIMENTO DE

SISTEMAS

Por

MATEUS ARTUR SCHNEIDERS

Trabalho aprovado para obteno dos crditos na disciplina de Trabalho de Concluso de Curso II, pela banca examinadora formada por:

______________________________________________________ Presidente: Prof. Mauro Marcelo Mattos, Doutor Orientador, FURB

______________________________________________________ Membro: Prof. Aurlio Faustino Hoppe, Mestre FURB

______________________________________________________ Membro: Prof. Jacques Robert Heckmann, Mestre FURB

Blumenau, 7 de dezembro de 2011.

Dedico este trabalho aos meus pais, aos meus amigos e ao meu orientador.

AGRADECIMENTOS

Aos meus pais, Ademar e Paula, que sempre me apoiaram e incentivaram nessa conquista.

Ao meu orientador, Mauro, por ter acreditado na proposta e na minha capacidade de

concluir este trabalho.

Aos meus amigos, pela ajuda e o apoio.

Ao colegiado do curso de Sistemas de Informao da FURB, pelo aprendizado adquirido

durante a minha graduao.

O sucesso nasce do querer, da determinao e persistncia em se chegar a um objetivo. Mesmo no atingindo o alvo, quem busca e vence obstculos, no mnimo far coisas admirveis.

Jos de Alencar

RESUMO

Este trabalho apresenta uma avaliao do impacto da adoo da ferramenta JBoss Drools na modelagem de lgica de negcio. Para a realizao desta anlise, desenvolveu-se uma aplicao de gerenciamento de processos jurdicos modelando uma lgica de controle de acesso utilizando JBoss Drools. Em seguida foi introduzido um novo requisito no funcional, a possibilidade de conceder acessos com data de vencimento, para poder realizar uma avaliao das mudanas necessrias tanto na parte da aplicao quanto na base de conhecimento. Os resultados demonstram JBoss Drools como sendo uma ferramenta com um grande potencial na modelagem de lgica de negcio.

Palavras-chave: Lgica de negcio. JBoss Drools. Vraptor.

ABSTRACT

This work presents an evaluation about the use of JBoos Drools on the modeling of business logic. For making this analisys, it was developed an application for managing judicial proceedings where an access control logic was modeled using JBoss Drools. As a second step, a new non-functional requirement was introduced, where access could be granted with an expiration date. A new version of the application was developed for making the evaluation of the needed changes in the application and knowledge base. The results demonstrate that JBoss Drools turns out to be a high relevant tool to control business logic on applications.

Key-words: Business logic. JBoss Drools. Vraptor.

LISTA DE ILUSTRAES

Figura 1 - Funcionamento do motor de regras ......................................................................... 16

Figura 2 - Diagrama de Funcionamento do Drools .................................................................. 17

Figura 3 - Integrao da lgica de negcio de uma aplicao com Drools .............................. 18

Figura 4 - Formulao de modelos declarativamente na interface do Guvnor ......................... 19

Figura 5 - Exportao de classes para arquivo JAR no Eclipse ............................................... 20

Figura 6 - Upload de arquivo JAR para utilizar as classes como entidades ............................. 20

Figura 7 - Interface para criao e manuteno de Regras ....................................................... 21

Figura 8 - Composio da definio de uma Funo no Drools .............................................. 21

Quadro 1 - Declarao de uma funo ..................................................................................... 22

Figura 9 - Definio de regra utilizando funo para verificao ............................................ 22

Figura 10 - Cenrio de teste para verificao de regra ............................................................. 23

Figura 11 - Execuo de regras com fatos em sesso com estado ........................................... 24

Figura 12 - Execuo de regras com fatos em sesso sem estado ............................................ 24

Figura 13 - Tela do Drools Guvnor onde feita a compilao de pacotes............................... 25

Quadro 2 - Contedo do arquivo de propriedades .................................................................... 25

Quadro 3 - Caractersticas do trabalhos relacionados .............................................................. 26

Quadro 4 - Requisitos funcionais ............................................................................................. 28

Quadro 5 - Requisitos no funcionais ...................................................................................... 28

Quadro 6 - Regras de Negcio ................................................................................................. 28

Figura 14 - Diagrama de casos de uso ...................................................................................... 28

Figura 15 - Modelo Entidade Relacionamento (MER) ............................................................ 29

Figura 16 - Estruturas de Entidades para a criao das regras ................................................. 31

Figura 17 - Definio da regra que concede acesso ao administrador ..................................... 32

Figura 18 - Definio da regra que concede acesso aos advogados ......................................... 32

Figura 19 - Regra de definio dos itens do menu para o administrador ................................. 33

Figura 20 - Regra de definio dos itens do menu para os advogados ..................................... 33

Figura 21 - Modelo conceitual da estrutura da aplicao ......................................................... 34

Figura 22 - Definio da classe DroolsController ......................................................... 35

Figura 23 - Pgina de acesso invlido ...................................................................................... 36

Figura 24 - Mtodo de login ..................................................................................................... 36

Figura 25 - Segunda verso do modelo conceitual da estrutura da aplicao .......................... 37

Quadro 7 - Funo para verificao de data ............................................................................. 38

Figura 26 - Sequncia de execuo das regras no segundo cenrio ......................................... 40

Figura 27 - Definio da regra "Acesso" .................................................................................. 40

Figura 28 - Regra Menu Admin ............................................................................................ 41

Figura 29 - Definio da Regra "Menu Advogado Audincia" ................................................ 41

Figura 30 - Definio da regra "Menu Advogado" .................................................................. 42

Figura 31 - Tela de acesso aplicao ..................................................................................... 43

Figura 32 - Menu da aplicao para usurio advogado ............................................................ 44

Figura 33 - Cadastro de advogados .......................................................................................... 44

Figura 34 - Cadastro de Pessoas ............................................................................................... 45

Figura 35 - Cadastro de Tipos de Participao ......................................................................... 45

Figura 36 - Cadastro de Processos ............................................................................................ 46

Figura 37 - Cadastro de Participaes ...................................................................................... 46

Figura 38 - Cadastro de Audincias ......................................................................................... 47

Figura 39 - Cadastro de Andamentos ....................................................................................... 48

Quadro 8 - Relao de caractersticas ...................................................................................... 49

Quadro 9 - Descrio do caso de uso Manter Advogado ......................................................... 54

Quadro 10 - Descrio do caso de uso Logar-se no Sistema.................................................... 55

Quadro 11 - Descrio do caso de uso Manter pessoas ............................................................ 55

Quadro 12 - Descrio do caso de uso Manter tipo de participao ........................................ 56

Quadro 13 - Descrio do caso de uso Manter processo jurdico ............................................ 57

Quadro 14