Olá pessoal,
Estamos migrando uma grande aplicação para Java e uma das coisas que me chamou mais atenção nela é que as regras/controles de acesso estão impregnadas por todo código (que é procedural). E elas são muitas, complexas e frequentes.
Estou tentando abstrair isso para que o código de negócio fique o menos poluído possível, e pensei se orientação a aspectos não me ajudaria.
A aplicação não é WEB e tenho regras do tipo:
IF campoTal é AB ou CD ou EF
Peça autorização de um gerente
Ou
Execute uma proc, se ela retornar X ou P ou T, peça autorização do Gerente.
Ou
Se a transação for X e o nível de acesso do usuário for <= 5, mostre tal mensagem.
Ou ainda, se uma combinação desses tipos.
Níveis de acesso também são utilizados para permitir acesso a determinada tela, mostrar campos…
Queria isolar essas coisas, de maneira que o código de negócio ficasse separado.
Alguém tem exemplos de como obter esse desacoplamento?
OBS: Não sei ao certo quanto dessas regras não fazem mesmo parte das regras de negócio, mas queria pelo menos ter uma idéia do que e como usar caso consiga abstrair pradrões de acesso.
Obrigado
