<?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>Comentários sobre: Trabalhando com Serviços Assíncronos</title>
	<atom:link href="http://pacman.blog.br/blog/uncategorized/trabalhando-com-servicos-assincronos/feed/" rel="self" type="application/rss+xml" />
	<link>http://pacman.blog.br/blog/uncategorized/trabalhando-com-servicos-assincronos/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=trabalhando-com-servicos-assincronos</link>
	<description>Varias Coisas, por Tiago Peczenyj</description>
	<lastBuildDate>Thu, 19 Jan 2012 18:25:44 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Por: Guilherme Garnier</title>
		<link>http://pacman.blog.br/blog/uncategorized/trabalhando-com-servicos-assincronos/comment-page-1/#comment-58</link>
		<dc:creator>Guilherme Garnier</dc:creator>
		<pubDate>Mon, 02 Feb 2009 15:52:09 +0000</pubDate>
		<guid isPermaLink="false">http://pacman.blog.br/blog/?p=39#comment-58</guid>
		<description>Hehehe, mais ou menos...

Eu trabalhava num provedor, e esse &quot;spam&quot; era enviado para os usuários.</description>
		<content:encoded><![CDATA[<p>Hehehe, mais ou menos&#8230;</p>
<p>Eu trabalhava num provedor, e esse &#8220;spam&#8221; era enviado para os usuários.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: admin</title>
		<link>http://pacman.blog.br/blog/uncategorized/trabalhando-com-servicos-assincronos/comment-page-1/#comment-57</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Mon, 02 Feb 2009 13:32:55 +0000</pubDate>
		<guid isPermaLink="false">http://pacman.blog.br/blog/?p=39#comment-57</guid>
		<description>Hehe, a crontab é uma mão na roda para essas coisas, porem espero que vc não esteja fazendo spam ;-)</description>
		<content:encoded><![CDATA[<p>Hehe, a crontab é uma mão na roda para essas coisas, porem espero que vc não esteja fazendo spam <img src='http://pacman.blog.br/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Guilherme Garnier</title>
		<link>http://pacman.blog.br/blog/uncategorized/trabalhando-com-servicos-assincronos/comment-page-1/#comment-56</link>
		<dc:creator>Guilherme Garnier</dc:creator>
		<pubDate>Mon, 02 Feb 2009 13:28:59 +0000</pubDate>
		<guid isPermaLink="false">http://pacman.blog.br/blog/?p=39#comment-56</guid>
		<description>Fala Pac. Eu já tive um problema semelhante a esse, desenvolvi uma ferramenta que precisava enviar emails para algumas dezenas ou centenas de milhares de destinatários, mais ou menos uma vez por semana.

A solução que eu criei foi uma interface web pra agendar o envio (upload da lista de destinatários, definição do dia e horário de envio e prioridade). Esse agendamento era registrado em banco de dados. Coloquei um processo na crontab rodando de hora em hora, verificando se havia algum agendamento para agora (ou para os próximos minutos) e se o envio anterior já tinha terminado. Neste caso, era executado o envio de maior prioridade.</description>
		<content:encoded><![CDATA[<p>Fala Pac. Eu já tive um problema semelhante a esse, desenvolvi uma ferramenta que precisava enviar emails para algumas dezenas ou centenas de milhares de destinatários, mais ou menos uma vez por semana.</p>
<p>A solução que eu criei foi uma interface web pra agendar o envio (upload da lista de destinatários, definição do dia e horário de envio e prioridade). Esse agendamento era registrado em banco de dados. Coloquei um processo na crontab rodando de hora em hora, verificando se havia algum agendamento para agora (ou para os próximos minutos) e se o envio anterior já tinha terminado. Neste caso, era executado o envio de maior prioridade.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Tiago Albineli Motta</title>
		<link>http://pacman.blog.br/blog/uncategorized/trabalhando-com-servicos-assincronos/comment-page-1/#comment-27</link>
		<dc:creator>Tiago Albineli Motta</dc:creator>
		<pubDate>Wed, 21 Jan 2009 21:01:42 +0000</pubDate>
		<guid isPermaLink="false">http://pacman.blog.br/blog/?p=39#comment-27</guid>
		<description>@Bruno Carvalho

Mesmo que haja necessidade de resposta imediata pode-se fazer de forma assincrona, retornando ao usuário uma informação de que os e-mails estão sendo enviados. E assim que todos forem informa-se que a tarefa foi concluída.</description>
		<content:encoded><![CDATA[<p>@Bruno Carvalho</p>
<p>Mesmo que haja necessidade de resposta imediata pode-se fazer de forma assincrona, retornando ao usuário uma informação de que os e-mails estão sendo enviados. E assim que todos forem informa-se que a tarefa foi concluída.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Roger Leite</title>
		<link>http://pacman.blog.br/blog/uncategorized/trabalhando-com-servicos-assincronos/comment-page-1/#comment-26</link>
		<dc:creator>Roger Leite</dc:creator>
		<pubDate>Wed, 21 Jan 2009 14:29:51 +0000</pubDate>
		<guid isPermaLink="false">http://pacman.blog.br/blog/?p=39#comment-26</guid>
		<description>@Leonardo Veríssimo a solução que você passou é boa, mas acho que não chega a ser tão óbvio assim, pois depende muito de como a(s) aplicação(ões) envolvidas estão desenvolvidas. O que eu ja vi muito é criarem um campo tipo &quot;result code&quot;, que jogavam no banco com os dados processados.</description>
		<content:encoded><![CDATA[<p>@Leonardo Veríssimo a solução que você passou é boa, mas acho que não chega a ser tão óbvio assim, pois depende muito de como a(s) aplicação(ões) envolvidas estão desenvolvidas. O que eu ja vi muito é criarem um campo tipo &#8220;result code&#8221;, que jogavam no banco com os dados processados.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: admin</title>
		<link>http://pacman.blog.br/blog/uncategorized/trabalhando-com-servicos-assincronos/comment-page-1/#comment-25</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Wed, 21 Jan 2009 12:59:42 +0000</pubDate>
		<guid isPermaLink="false">http://pacman.blog.br/blog/?p=39#comment-25</guid>
		<description>@rogerleite Serviços assincronos em Java eu tenho pouca experiência: em Perl eu utilizo um serviço que toma conta dos outros, um &quot;cão de guarda&quot; que levanda serviços que morreram, por exemplo. Eu poderia adicionar outras coisas para serem monitoradas como tempo de resposta ou algum outro parâmetro e tentar detectar erros sem muita intervenção.

@brunocarvalho eu usei velocidade mas num sentido mais vulgar. A velocidade com que uma determinada tarefa sera executada num serviço assincrono é dificil de mensurar pois depende de varios fatores como a taxa de serviços de entrada, gargalos, latencias, etc.</description>
		<content:encoded><![CDATA[<p>@rogerleite Serviços assincronos em Java eu tenho pouca experiência: em Perl eu utilizo um serviço que toma conta dos outros, um &#8220;cão de guarda&#8221; que levanda serviços que morreram, por exemplo. Eu poderia adicionar outras coisas para serem monitoradas como tempo de resposta ou algum outro parâmetro e tentar detectar erros sem muita intervenção.</p>
<p>@brunocarvalho eu usei velocidade mas num sentido mais vulgar. A velocidade com que uma determinada tarefa sera executada num serviço assincrono é dificil de mensurar pois depende de varios fatores como a taxa de serviços de entrada, gargalos, latencias, etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Bruno Carvalho</title>
		<link>http://pacman.blog.br/blog/uncategorized/trabalhando-com-servicos-assincronos/comment-page-1/#comment-24</link>
		<dc:creator>Bruno Carvalho</dc:creator>
		<pubDate>Wed, 21 Jan 2009 11:44:25 +0000</pubDate>
		<guid isPermaLink="false">http://pacman.blog.br/blog/?p=39#comment-24</guid>
		<description>A velocidade (se demora ou nao) não é necessariamente o fator que decide se o serviço é síncrono ou não, e sim se há necessidade de ter uma resposta imediata.

Se voce precisa ter uma resposta imediata se o que você quer fazer deu certo ou nao, voce pode &quot;travar&quot; sua aplicação enviando milhoes de e-mails ou processando um diretorio inteiro e ver se cada uma dessas requisições falhou. Enquanto sua aplicação tá fazendo essa porcaria, quem iniciou o request fica preso esperando a resposta.

Obviamente a melhor solução nesse caso é trabalhar assincronamente, pois está claro que você (sistema) nao precisa de resposta imediata, muito menos o usuário.

Abraços,
Bruno Carvalho</description>
		<content:encoded><![CDATA[<p>A velocidade (se demora ou nao) não é necessariamente o fator que decide se o serviço é síncrono ou não, e sim se há necessidade de ter uma resposta imediata.</p>
<p>Se voce precisa ter uma resposta imediata se o que você quer fazer deu certo ou nao, voce pode &#8220;travar&#8221; sua aplicação enviando milhoes de e-mails ou processando um diretorio inteiro e ver se cada uma dessas requisições falhou. Enquanto sua aplicação tá fazendo essa porcaria, quem iniciou o request fica preso esperando a resposta.</p>
<p>Obviamente a melhor solução nesse caso é trabalhar assincronamente, pois está claro que você (sistema) nao precisa de resposta imediata, muito menos o usuário.</p>
<p>Abraços,<br />
Bruno Carvalho</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Leonardo Veríssimo</title>
		<link>http://pacman.blog.br/blog/uncategorized/trabalhando-com-servicos-assincronos/comment-page-1/#comment-23</link>
		<dc:creator>Leonardo Veríssimo</dc:creator>
		<pubDate>Wed, 21 Jan 2009 11:02:13 +0000</pubDate>
		<guid isPermaLink="false">http://pacman.blog.br/blog/?p=39#comment-23</guid>
		<description>No vaso de Java EE e Java SE, chega a ser impressionante a falta de suporte para serviços assíncronos. A única alternativa é o MDB, que não é muito lightweight.

Felizmente, a versão do Java EE 6 irá trazer suporte a continuations no Servlet e Session Beans assíncronos (desde que retorne void e que explicitamente seja informado a opção de assíncrono). E no Java SE 7, haverá suporte a operações de arquivo de forma assíncrona também. Parecem coisas que já deveriam estar presentes na plataforma há faz tempo!

@Roger Leite
Quanto a sua pergunta, desculpe a obviedade da resposta; mas quando o processamento assíncrono deu erro, dispare uma chamada assíncrona a quem estiver interessado no evento de erro (tipo o padrão Observer). O interessados que se virem com a informação recebida.</description>
		<content:encoded><![CDATA[<p>No vaso de Java EE e Java SE, chega a ser impressionante a falta de suporte para serviços assíncronos. A única alternativa é o MDB, que não é muito lightweight.</p>
<p>Felizmente, a versão do Java EE 6 irá trazer suporte a continuations no Servlet e Session Beans assíncronos (desde que retorne void e que explicitamente seja informado a opção de assíncrono). E no Java SE 7, haverá suporte a operações de arquivo de forma assíncrona também. Parecem coisas que já deveriam estar presentes na plataforma há faz tempo!</p>
<p>@Roger Leite<br />
Quanto a sua pergunta, desculpe a obviedade da resposta; mas quando o processamento assíncrono deu erro, dispare uma chamada assíncrona a quem estiver interessado no evento de erro (tipo o padrão Observer). O interessados que se virem com a informação recebida.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Roger Leite</title>
		<link>http://pacman.blog.br/blog/uncategorized/trabalhando-com-servicos-assincronos/comment-page-1/#comment-22</link>
		<dc:creator>Roger Leite</dc:creator>
		<pubDate>Wed, 21 Jan 2009 10:41:16 +0000</pubDate>
		<guid isPermaLink="false">http://pacman.blog.br/blog/?p=39#comment-22</guid>
		<description>Olá Peczenyj!
Realmente serviços assincronos são muito pouco usados. Um exemplo legal de serv. assincrono, no caso de JEE, é uso de JMS. Já usei algumas vezes, e realmente é muito simples de usar e a maioria dos appication servers disponibilizam um &quot;monitor&quot; de filas.
Eu acho que um tema interessante e não muito discutido é: &quot;O que fazer quando o meu processamento assincrono deu erro?&quot;, você sabe se existe algo catalogado sobre? Eu tenho a impressão que a maioria das soluções neste caso é sempre POG. O que vc costuma fazer neste caso?

valeu e sucesso!</description>
		<content:encoded><![CDATA[<p>Olá Peczenyj!<br />
Realmente serviços assincronos são muito pouco usados. Um exemplo legal de serv. assincrono, no caso de JEE, é uso de JMS. Já usei algumas vezes, e realmente é muito simples de usar e a maioria dos appication servers disponibilizam um &#8220;monitor&#8221; de filas.<br />
Eu acho que um tema interessante e não muito discutido é: &#8220;O que fazer quando o meu processamento assincrono deu erro?&#8221;, você sabe se existe algo catalogado sobre? Eu tenho a impressão que a maioria das soluções neste caso é sempre POG. O que vc costuma fazer neste caso?</p>
<p>valeu e sucesso!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

