

<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Finalmente um bom exemplo de AOP</title>
	<atom:link href="http://www.kumpera.net/blog/index.php/2007/04/09/finalmente-um-bom-exemplo-de-aop/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kumpera.net/blog/index.php/2007/04/09/finalmente-um-bom-exemplo-de-aop/</link>
	<description>Meus achados sobre tecnologia</description>
	<lastBuildDate>Thu, 02 Sep 2010 20:00:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Rafael Fiume</title>
		<link>http://www.kumpera.net/blog/index.php/2007/04/09/finalmente-um-bom-exemplo-de-aop/comment-page-1/#comment-8807</link>
		<dc:creator>Rafael Fiume</dc:creator>
		<pubDate>Thu, 12 Apr 2007 12:11:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2007/04/09/finalmente-um-bom-exemplo-de-aop/#comment-8807</guid>
		<description>Kumpera, eu não me referi ao AspectJ, mas sim dos interceptadores da especificação EJB 3.0 - uso de @Interceptor, @Interceptors e @ArroundInvoke. O contexto você obtém a partir de InvocationContext.

Mas, sinceramente, é só um chute, pois ainda não tive tempo de ver os exemplo que você menciona aqui. Mas está me parecendo possível.</description>
		<content:encoded><![CDATA[<p>Kumpera, eu não me referi ao AspectJ, mas sim dos interceptadores da especificação EJB 3.0 &#8211; uso de @Interceptor, @Interceptors e @ArroundInvoke. O contexto você obtém a partir de InvocationContext.</p>
<p>Mas, sinceramente, é só um chute, pois ainda não tive tempo de ver os exemplo que você menciona aqui. Mas está me parecendo possível.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kumpera</title>
		<link>http://www.kumpera.net/blog/index.php/2007/04/09/finalmente-um-bom-exemplo-de-aop/comment-page-1/#comment-8723</link>
		<dc:creator>kumpera</dc:creator>
		<pubDate>Tue, 10 Apr 2007 13:45:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2007/04/09/finalmente-um-bom-exemplo-de-aop/#comment-8723</guid>
		<description>@Vitor.
Não vejo problema em definir regras de negócio usando AOP. Usando AspectJ ou SpringAOP fica ruim, porque são DSLs péssimas para desenvolver um sistema. Agora se você olhar o código Lisp do artigo vai notar como fica claro. Estão usando AOP de maneira semelhante a uma rules engine, não apenas para infra-estrutura, como se faz com os frameworks aleijados em Java.

@Marcos.
Os aspectos apresentados no artigo tratam realmente de cross-cutting concerns. Quando se fala no aspecto logging, suas várias instancias são independentes. Porém no caso do artigo, para se implementar a regra seria necessário alterar muitos pontos distintos do sistema, ou seja, teriamos uma regra realmente espalhada por todos cantos do sistema - o tipo de problema que AOP se propoe a resolver.

@Rafael.
Sim, é perfeitamente possivel implementar a mesma coisa usando AspectJ e interceptando os métodos em questão, porém toda parte de referencia temporal e contexto precisariam ser feitas manualmente, pois o framework não suporta isso.</description>
		<content:encoded><![CDATA[<p>@Vitor.<br />
Não vejo problema em definir regras de negócio usando AOP. Usando AspectJ ou SpringAOP fica ruim, porque são DSLs péssimas para desenvolver um sistema. Agora se você olhar o código Lisp do artigo vai notar como fica claro. Estão usando AOP de maneira semelhante a uma rules engine, não apenas para infra-estrutura, como se faz com os frameworks aleijados em Java.</p>
<p>@Marcos.<br />
Os aspectos apresentados no artigo tratam realmente de cross-cutting concerns. Quando se fala no aspecto logging, suas várias instancias são independentes. Porém no caso do artigo, para se implementar a regra seria necessário alterar muitos pontos distintos do sistema, ou seja, teriamos uma regra realmente espalhada por todos cantos do sistema &#8211; o tipo de problema que AOP se propoe a resolver.</p>
<p>@Rafael.<br />
Sim, é perfeitamente possivel implementar a mesma coisa usando AspectJ e interceptando os métodos em questão, porém toda parte de referencia temporal e contexto precisariam ser feitas manualmente, pois o framework não suporta isso.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rafael Fiume</title>
		<link>http://www.kumpera.net/blog/index.php/2007/04/09/finalmente-um-bom-exemplo-de-aop/comment-page-1/#comment-8681</link>
		<dc:creator>Rafael Fiume</dc:creator>
		<pubDate>Mon, 09 Apr 2007 19:08:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2007/04/09/finalmente-um-bom-exemplo-de-aop/#comment-8681</guid>
		<description>Beleza?

Interessantes mesmo os exemplos!

&gt;Esse tipo de pointcut não é possível de ser
&gt;definido usando os recursos do AspectJ...

Talvez isso seja possível utilzando os métodos ou  classes listeners de callback dos session e message-driven beans no EJB 3.0 - que não deixam de ser um tipo de AOP, embora rudimentar.

Tanto um como outro conseguem ter acesso ao contexto no qual o serviço foi invocado através de InvocationContext.

Aliás, se não me engano, é por causa desse conhecimento sobre o contexto que Interceptors do EJB 3.0 não podem ser considerados realmente AOP, mas AOP-like.</description>
		<content:encoded><![CDATA[<p>Beleza?</p>
<p>Interessantes mesmo os exemplos!</p>
<p>&gt;Esse tipo de pointcut não é possível de ser<br />
&gt;definido usando os recursos do AspectJ&#8230;</p>
<p>Talvez isso seja possível utilzando os métodos ou  classes listeners de callback dos session e message-driven beans no EJB 3.0 &#8211; que não deixam de ser um tipo de AOP, embora rudimentar.</p>
<p>Tanto um como outro conseguem ter acesso ao contexto no qual o serviço foi invocado através de InvocationContext.</p>
<p>Aliás, se não me engano, é por causa desse conhecimento sobre o contexto que Interceptors do EJB 3.0 não podem ser considerados realmente AOP, mas AOP-like.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcos Silva Pereira</title>
		<link>http://www.kumpera.net/blog/index.php/2007/04/09/finalmente-um-bom-exemplo-de-aop/comment-page-1/#comment-8674</link>
		<dc:creator>Marcos Silva Pereira</dc:creator>
		<pubDate>Mon, 09 Apr 2007 15:26:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2007/04/09/finalmente-um-bom-exemplo-de-aop/#comment-8674</guid>
		<description>Eu sempre pensei na possibilidade de se usar AOP para alterar o comportamento do sistema, mas não dessa maneira, mas para customizações bastante especificas para um cliente ou outro. Só que eu geralmente achava a abordagem bastante estranha e usava uma interface para definir o serviço ao invés de usar AOP. Mas em alguns casos parecia razoável. 

De qualquer maneira, não posso deixar de lhe fazer uma pergunta: essa abordagem parece transferir para o aspecto uma regra de negócio. Não é um complicador desnecessário? Por que não tratar esse comportamento temporal dentro da classe/metodo aspectada?

valeuz...</description>
		<content:encoded><![CDATA[<p>Eu sempre pensei na possibilidade de se usar AOP para alterar o comportamento do sistema, mas não dessa maneira, mas para customizações bastante especificas para um cliente ou outro. Só que eu geralmente achava a abordagem bastante estranha e usava uma interface para definir o serviço ao invés de usar AOP. Mas em alguns casos parecia razoável. </p>
<p>De qualquer maneira, não posso deixar de lhe fazer uma pergunta: essa abordagem parece transferir para o aspecto uma regra de negócio. Não é um complicador desnecessário? Por que não tratar esse comportamento temporal dentro da classe/metodo aspectada?</p>
<p>valeuz&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vitor Fernando Pamplona</title>
		<link>http://www.kumpera.net/blog/index.php/2007/04/09/finalmente-um-bom-exemplo-de-aop/comment-page-1/#comment-8673</link>
		<dc:creator>Vitor Fernando Pamplona</dc:creator>
		<pubDate>Mon, 09 Apr 2007 15:07:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.kumpera.net/blog/index.php/2007/04/09/finalmente-um-bom-exemplo-de-aop/#comment-8673</guid>
		<description>AOP em regra de negócio? :S

Mas que macarronada hein? :)</description>
		<content:encoded><![CDATA[<p>AOP em regra de negócio? :S</p>
<p>Mas que macarronada hein? :)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
