Comecei a fuçar AOP agora, e fiquei na duvida sobre qual a diferença na prática de usar um pointCut que determine uma regra para call e outra execution. Uma o advise vai agir sobre a chamada outro sobre a execução, seila, qual é a diferença na prática?
E alguem ja usou AOP na prática? sabe os melhores momentos que deve ser usado? tirando a inserção de chamadas de código padrão (tipo segurança, logging, etc), com AOP pelo que vi, da para controlar muita coisa na aplicação, tipo alterar o retorno de todos métodos de Integer que retornam int (um exemplo babaca), ou controlar a leitura e utilização de uma variavel para poder ser feita somente em certas condicoes, tipo nem se o cara usar dentro da classe chamando a variavel direto (sem ser atraves de métodos) ele não vai ter controle sobre ela, sempre tera o aspect que controla, ou até mesmo criar um audittrail da sua aplicação monitorando qualquer tipo de alteração que for feita, sem que o programador precise programar ou saber que existe, etc, essas coisas que fogem um pouco de apenas incluir código, e sim controlar a aplicação com AOP.
Valeu!