Acho que você está com um conceito equivocado sobre o que é AOP. Usando interceptadores você já está usando AOP, não rpecisa de AspectJ para isso.
Mas em todos os seus programas vc utilizara EJB3?
[quote=seufagner]Ando especulando sobre algo que REALMENTE me convença a optar pela utilização do AspectJ (que é o caso citado) ao invés de interceptadores ao desenvolver um projeto em EJB3 (que é o caso… denovo)
[/quote]
Se você precisa ser “convencido”, não precisa de um novo framework de AOP. E o AspectWerkz não existe mais, ele se juntou ao AspectJ.
É o que eu disse, se o que está a disposição está resolvendo o seu problema, você não precisa se preocupar com isso.
Eu estou usando o ApectJ pra fazer o monitoramento de aplicações via JMX, já que são objetos “comuns” que existem em um servidor mas que não fazem parte de um container, então eu não tenho os serviços do container pra fazer isso pra mim, meus interceptors são todos feitos com aspectos.
AspectJ mas nao eh algo que vc vai usar que nem purpurina em parada gay. A gente tem um projeto enorme usando Spring aqui, e usar AOP pra enfeitar umas coisas que nao da pra fazer com annotations eh util e simplifica o codigo absurdamente.
Mas vc tem que pensar grande, tipo versionamento transacional distribuido de objetos num cache em grid. Nao eh algo que a farmacia da esquina vai usar, pq a farmacia da esquina nao precisa fazer 300+ hits por segundo por servidor.
Pensando bem, a gente devia ter feito essa merda em Erlang. :mrgreen:
[quote=seufagner]
Me desculpe, me referia à utilização de algum framework AOP, não a AOP conceitualmente…[/quote]
Um framework qualquer ou AspectJ?
Por que se for um qualquer você já está usando. Spring 1.x e EJB3 são frameworks/engines de AOP também. Quanto ao AspectJ, X ou Y realmente depende do caso.
Por quê eu iria aumentar a complexidade do meu projeto usando AOP ao invés de usar Interceptadores com classes responsáveis pela auditoria, segurança, etc… ? Vide EJB3 que já vem com tudo isso e caso queira incrementar seu container ou modularizar melhor sua aplicação, o cara precisa apenas anotar com @AroundInvoke
Embora tenha mais poder que Interceptadores, não acredito que justifica.
Por exemplo, eu acho o AspectJ ridículo. Aprender “nova sintaxe”, aumentar o número de dependências (para ele funcionar em qualquer lugar, tenho que inserir as mesmas)
Gostaria de quebrar meus conceitos e discutir sobre o tema…
Oi, Phillip,
Me desculpe, me referia à utilização de algum framework AOP, não a AOP conceitualmente…
A questão é:
Ando especulando sobre algo que REALMENTE me convença a optar pela utilização do AspectJ (que é o caso citado) ao invés de interceptadores ao desenvolver um projeto em EJB3 (que é o caso… denovo)
Eu percebo o esforço em diminuir estes problemas, como no AspectWerkz que evolui ainda, inclusive, acrescentando anotações.
Você tem algum exemplo de caso no qual optou por framworks AOP ?
ramilani, não… é um exemplo! obrigado pela resposta!
mauricio, como falei, ando especulando, refletindo, me questionando. Nada disso é um caso real… A especulação é meu catalisador… Não é um caso real…
Vamos acrescentar ao questionamento.
[]s!
“…se o que está a disposição está resolvendo o seu problema, você não precisa se preocupar com isso”
Mas não tem nada a disposição, NEM EXISTE UM PROJETO, quanto mais um problema, imagina uma preocupação???!! rsrsrsrs
Obrigado pelo exemplo! Eu achei legal! Parabéns!
Acredito que só com a flexibilização vinda no Java 6, com suporte a tipos complexos e mbeans dinâmicos vamos ver JMX caindo na boca do povo… Só acho que iria simplificar demais o uso de anotações, porém como andei lendo por aí, só no Java 7 que virá tal suporte…
Penso muito na simplicidade das linguagens dinamicas… papo tão em voga… e na desburocratização do Java…
Por isso que, ainda sim, acho o AspectJ tosco…
[]s
Isso eu já sabia pcalcado… Obrigado!
O cv me deu exemplo para começar a pensar em quando poderia valer a pena e o maurício me deu um exemplo de caso, era sobre isso que falava…
[]s