<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Marcos Sousa's Blog</title>
	<atom:link href="http://www.marcossousa.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marcossousa.com</link>
	<description>Blog sobre desenvolvimento de software</description>
	<pubDate>Fri, 10 Oct 2008 20:47:43 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Testes, porque não fazer?</title>
		<link>http://www.marcossousa.com/2008/10/10/testes-porque-nao-fazer/</link>
		<comments>http://www.marcossousa.com/2008/10/10/testes-porque-nao-fazer/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 20:44:17 +0000</pubDate>
		<dc:creator>Marcos Sousa</dc:creator>
		
		<category><![CDATA[TDD]]></category>

		<category><![CDATA[Testes]]></category>

		<category><![CDATA[Desenvolvimento]]></category>

		<category><![CDATA[Waterfall]]></category>

		<guid isPermaLink="false">http://www.marcossousa.com/?p=121</guid>
		<description><![CDATA[Observando o comportamento em vários projetos, pude perceber que grande parte das pessoas não dão muito valor aos testes, e quando valorizam atribui a responsabilidade de testar a outras pessoas. As coisas ainda ficam piores quando chega a pequenas empresas. Pergunte ao dono da padaria que você toma café todos os dias, se eles testaram [...]]]></description>
			<content:encoded><![CDATA[<p>Observando o comportamento em vários projetos, pude perceber que grande parte das pessoas não dão muito valor aos testes, e quando valorizam atribui a responsabilidade de testar a outras pessoas. As coisas ainda ficam piores quando chega a pequenas empresas. Pergunte ao dono da padaria que você toma café todos os dias, se eles testaram alguma funcionalidade do software que eles tem antes de colocar em produção? Se a versão tiver algum problema e corromper os dados, a culpa sem sombra de dúvidas será do time de desenvolvimento.</p>
<p>O problema começa no modo como as pessoas projetam o software, dentro de um processo <a href="http://en.wikipedia.org/wiki/Waterfall_model">Waterfall</a>, onde cliente não é parte do processo. Neste contexto, o cliente diz o que deseja e depois de 9 meses ele tem um resultado: <a href="http://gc.blog.br/2007/06/08/como-produzir-software-coxa">um software produzido nas &#8220;coxas&#8221;</a>.</p>
<p>Mesmo em projetos onde existem práticas de testes, muitos deles ainda são ineficientes. O usuário apenas valida as &#8220;telinhas&#8221; do sistema, e muito pouco em termos funcionalidades. Infelizmente, poucos destes usuários testam o comportamento de entradas de dados inválidos, por exemplo, um campo de CPF aceitar &#8220;-1&#8243; como valor, ou um espaço em branco ser um conteúdo válido para um campo obrigatório. Como resultado, o sistema chega a produção, dados inconsistentes são inseridos e a culpa é do desenvolvedor.</p>
<p>Testes unitários é algo que muitos desenvolvedores ainda acham inútil, quando fala em integração contínua, aí acham exagero. Quer um exemplo, pergunte à um programador PHP se ele faz teste unitários. &#8220;Faço apenas sites, não sistemas, não preciso disso&#8221;, nem fazem idéia de que existe o <a href="http://www.phpunit.de">PHPUnit</a> para este propósito. Mesmo dentro de um obsoleto modelo cascata, cheio de casos de usos, porque não criar testes unitários pelo menos para validar os fluxos principais e alternativos? Pelo menos o fundamental pode ser controlado por um sistema de integração contínua.</p>
<p>Meu objetivo não é falar que práticas, como <a href="http://en.wikipedia.org/wiki/Test-driven_development">TDD</a>, são perfeitas. O que eu quero chamar a atenção é importância que o teste tem dentro de um processo de desenvolvimento de software. Aparentemente, gastar algum tempo a mais fazendo testes, pode ser mais eficaz do que ter que corrigir uma falha que foi para produção por pura falta de atenção. Testar não é fácil e rápido, porém corrigir bugs <a href="http://blog.objectmentor.com/articles/2007/11/25/bugs-kill-productivity-and-schedule-accuracy">pode ser mais demorado ainda</a>. <img src='http://www.marcossousa.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcossousa.com/2008/10/10/testes-porque-nao-fazer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vídeo Aulas: Seam Extras partes 6 e 7</title>
		<link>http://www.marcossousa.com/2008/09/24/seam-extra-parte-6-e-7/</link>
		<comments>http://www.marcossousa.com/2008/09/24/seam-extra-parte-6-e-7/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 14:46:51 +0000</pubDate>
		<dc:creator>Marcos Sousa</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Java EE]]></category>

		<category><![CDATA[Java Server Faces]]></category>

		<category><![CDATA[Jboss Seam]]></category>

		<category><![CDATA[Vídeo Aulas]]></category>

		<category><![CDATA[Captcha]]></category>

		<category><![CDATA[Java Vídeo Magazine]]></category>

		<category><![CDATA[JavaMail]]></category>

		<category><![CDATA[JSF]]></category>

		<category><![CDATA[Vídeo Aula]]></category>

		<guid isPermaLink="false">http://www.marcossousa.com/?p=108</guid>
		<description><![CDATA[Foi publicada no portal Java Magazine a 6ª e 7ª parte da série de vídeo aulas sobre os extras Seam Framework.
A parte 6, mostra todos os passos para enviar e-mails usando o módulo de integração do Seam Framework com a JavaMail. O Seam Framework possui um gerenciador de envio de e-mails e para usá-lo é [...]]]></description>
			<content:encoded><![CDATA[<p>Foi publicada no portal <a href="http://www.javamagazine.com.br/">Java Magazine</a> a 6ª e 7ª parte da série de vídeo aulas sobre os extras <a href="http://www.seamframework.org/">Seam Framework</a>.</p>
<p>A parte 6, mostra todos os passos para enviar e-mails usando o módulo de integração do <a href="http://www.seamframework.org/">Seam Framework</a> com a <a href="http://java.sun.com/products/javamail">JavaMail</a>. O <a href="http://www.seamframework.org/">Seam Framework</a> possui um gerenciador de envio de <em>e-mails</em> e para usá-lo é bastante simples. Vejo sempre em fóruns a dificuldade que usuários tem para enviar e-mails usando uma conta SMTP do google, porém o Seam oferece diversas facilidades para configuração. O código abaixo configura o envio de e-mails usando uma conta do Google.</p>
<pre name="code" class="xml">

&lt;mail :mail-session host=&quot;smtp.gmail.com&quot; port=&quot;587&quot; username=&quot;testes@marcossousa.com&quot; password=&quot;java2008.&quot; ssl=&quot;false&quot; tls=&quot;true&quot;/&gt;
</pre>
<p>Para configurar a mensagem é bem simples, basta criar um arquivo XHTML usando as tags m:message. Nos fontes há o exemplo demonstrado na vídeoaula.</p>
<p>Já a parte 7 aborda outro tópico interessante, a utilização de <a href="http://pt.wikipedia.org/wiki/CAPTCHA">CAPTCHA</a>. O Seam oferece uma solução básica, que gera imagens usando representação de somas simples. Na vídeo eu mostro como customizar a classe para gerar imagens mais complexas, no exemplo criado gera códigos alfanuméricos de 6 caracteres. Por padrão, basta apenas configurar o <a href="http://docs.jboss.com/seam/latest/reference/en-US/html/security.html#d0e8707">Seam Resource Servlet</a> e usar o código abaixo:</p>
<pre name="code" class="html">
&lt;s :decorate id=&quot;verification&quot;&gt;
&lt;h :graphicImage value=&quot;/seam/resource/captcha&quot; id=&quot;captchaimg&quot; /&gt;
&lt;h :inputText value=&quot;#{captcha.response}&quot;  required=&quot;true&quot; id=&quot;verify&quot;&gt;
&lt;s :validate&gt;&lt;/s&gt;
&lt;a :support event=&quot;onblur&quot; reRender=&quot;verification&quot; bypassUpdates=&quot;true&quot; ajaxSingle=&quot;true&quot;&gt;&lt;/a&gt;
&lt;/h&gt;
&lt;/s&gt;
</pre>
<p>As próximas vídeo aulas da série abordarão as funcionalidades do <a href="http://docs.jboss.com/seam/latest/reference/en-US/html/remoting.html">Seam Remoto</a>. <img src='http://www.marcossousa.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=10353">Parte 6</a><br />
<a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=10354">Parte 7</a></p>
<p><a href="http://www.marcossousa.com/wp-content/uploads/2008/09/newsmanager.zip">Arquivos Fontes</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcossousa.com/2008/09/24/seam-extra-parte-6-e-7/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Webdays2008: Arquivos palestras</title>
		<link>http://www.marcossousa.com/2008/08/27/webdays2008-arquivos-palestras/</link>
		<comments>http://www.marcossousa.com/2008/08/27/webdays2008-arquivos-palestras/#comments</comments>
		<pubDate>Thu, 28 Aug 2008 01:04:55 +0000</pubDate>
		<dc:creator>Marcos Sousa</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Palestras]]></category>

		<guid isPermaLink="false">http://www.marcossousa.com/?p=105</guid>
		<description><![CDATA[Olá pessoal!
Conforme o prometido, estou publicando os arquivos de alguns dos exemplos mostrados durante a palestra Explorando o Jboss Seam apresentado no Webdays 2008. Durante a palestra falei do cenário que motivou o surgimento do Jboss Seam. Após, falei dos contextos usados por gerenciar os componentes seam, falei também de page actions. Demonstrei a geração [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal!</p>
<p>Conforme o prometido, estou publicando os arquivos de alguns dos exemplos mostrados durante a palestra <a href="http://www.slideshare.net/marcossousa/explorando-o-jboss-seam-a-nova-gerao-de-aplicaes-web-20-presentation">Explorando o Jboss Seam</a> apresentado no <a href="http://www.devmedia.com.br/webdays2008">Webdays 2008</a>. Durante a palestra falei do cenário que motivou o surgimento do Jboss Seam. Após, falei dos contextos usados por gerenciar os componentes seam, falei também de page actions. Demonstrei a geração de uma aplicação com o Seam-Gen, a geração de arquivos PDFs uando o Seam, também comentado no post <a href="http://www.marcossousa.com/2008/07/01/gere-pdf-de-qualidade-em-10-minutos/">Gere PDF de qualidade em 10 minutos</a>, e demonstrei também o envio de e-mail utilizando o módulo de integração com a JavaMail. </p>
<p>Finalizei a palestra falando do Seam Remoto, um módulo dedicado ao uso de componentes Seam diretamente em códigos Javascript. Além do exemplo mostrado, estou disponibilizando um exemplo de aplicação integrando ao SpringFramework 2.0. </p>
<p>Os arquivos estão disponíveis nos seguintes links:<br />
<a href='http://www.marcossousa.com/wp-content/uploads/2008/08/seamremoto.zip'>Seam Remoto</a><br />
<a href='http://www.marcossousa.com/wp-content/uploads/2008/08/seamtest.zip'>Integração SpringFramework</a></p>
<p>Não deixe de ler o arquivo leiame.txt que contém algumas instruções para rodar os exemplos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcossousa.com/2008/08/27/webdays2008-arquivos-palestras/feed/</wfw:commentRss>
		</item>
		<item>
		<title>[WebDays 2008] Impressões</title>
		<link>http://www.marcossousa.com/2008/08/25/webdays-2008-impressoes/</link>
		<comments>http://www.marcossousa.com/2008/08/25/webdays-2008-impressoes/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 09:38:37 +0000</pubDate>
		<dc:creator>Marcos Sousa</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Palestras]]></category>

		<category><![CDATA[palestra]]></category>

		<category><![CDATA[webdays]]></category>

		<guid isPermaLink="false">http://www.marcossousa.com/?p=103</guid>
		<description><![CDATA[ Aconteceu neste final de semana, dias 22 e 23, o WebDays 2008 um evento Java e .NET. Apresentei duas palestras: Turbinando o desenvolvimento com Eclipse e Explorando o Jboss Seam: A nova geração de aplicações web 2.0. A sessão .NET estava mais movimentada do que a sessão Java. Acredito que seja pela proximidade entre [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.marcossousa.com/wp-content/uploads/2008/08/webdays.png" alt="WebDays 2008" title="WebDays 2008" align="left" width="164" height="44" /> Aconteceu neste final de semana, dias 22 e 23, o <a href="http://www.devmedia.com.br/webdays2008">WebDays 2008</a> um evento Java e .NET. Apresentei duas palestras: <a href="http://www.slideshare.net/marcossousa/turbinando-o-desenvolvimento-com-eclipse-presentation">Turbinando o desenvolvimento com Eclipse</a> e <a href="http://www.slideshare.net/marcossousa/explorando-o-jboss-seam-a-nova-gerao-de-aplicaes-web-20-presentation/">Explorando o Jboss Seam: A nova geração de aplicações web 2.0</a>. A sessão .NET estava mais movimentada do que a sessão Java. Acredito que seja pela proximidade entre os eventos: <a href="http://www.thedevelopersconference.com.br/">TDC</a>, <a href="http://www.sucesusp.org.br/justjava2008">JustJava</a> e <a href="http://www.suntechdays.com.br">Sun Tech Days</a></p>
<p>Além de apresentar as palestras, acabei conhecendo diversas pessoas incríveis. A começar pelo meu companheiro de quarto <a href="http://www.renatohaddad.com">Renato Haddad</a>, apesar trabalharmos com tecnologias concorrentes, (eu Java, ele .net), tivemos agradáveis conversas desde o encontro no hotel até o último instante no aeroporto. Também conheci pessoalmente os cearenses nota 10 Handerson Frota e <a href="http://www.milfont.org">Christiano Milfont</a>. O Christiano eu já acompanhava o blog e os artigos da Java Magazine que ele escreve. Também tive oportunidade de conversar com o Robison Cris Brito lá de Pato Branco (todos achavam que era em Minas, minha cidade, Patos de Minas), Júlio de Uberlândia, o Leandro da Embrapa. </p>
<p>Agradeço a todos que compareceram na minhas palestras, muito obrigado. Os slides já estão no SlideShare e hoje a tarde eu publicarei os arquivos criados nas palestras conforme eu prometi durante as apresentações!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcossousa.com/2008/08/25/webdays-2008-impressoes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vídeo Aula: Seam Extras - Gerando PDF</title>
		<link>http://www.marcossousa.com/2008/07/31/video-aula-seam-extras-gerando-pdf/</link>
		<comments>http://www.marcossousa.com/2008/07/31/video-aula-seam-extras-gerando-pdf/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 13:11:30 +0000</pubDate>
		<dc:creator>Marcos Sousa</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Java EE]]></category>

		<category><![CDATA[Java Server Faces]]></category>

		<category><![CDATA[Jboss Seam]]></category>

		<category><![CDATA[Vídeo Aulas]]></category>

		<category><![CDATA[Itext]]></category>

		<category><![CDATA[Java Magazine]]></category>

		<category><![CDATA[Java Vídeo Magazine]]></category>

		<category><![CDATA[jboss-seam-itext]]></category>

		<category><![CDATA[JSF]]></category>

		<category><![CDATA[Seam PDF]]></category>

		<category><![CDATA[Vídeo Aula]]></category>

		<guid isPermaLink="false">http://www.marcossousa.com/?p=101</guid>
		<description><![CDATA[Foi publicada no portal Java Magazine  a parte 5ª da série de vídeo aulas sobre os extras Seam Framework.
Esta parte mostra um passo-a-passo para criar documentos em PDF usando o módulo de integração do Seam Framework com o iText. Na vídeo aula, são apresentadas algumas das tags descritas na publicação Gere PDF de Qualidade [...]]]></description>
			<content:encoded><![CDATA[<p>Foi publicada no portal <a href="http://www.javamagazine.com.br/">Java Magazine</a>  a parte 5ª da série de vídeo aulas sobre os extras <a href="http://www.seamframework.org/">Seam Framework</a>.</p>
<p>Esta parte mostra um passo-a-passo para criar documentos em PDF usando o módulo de integração do <a href="http://www.seamframework.org/">Seam Framework</a> com o <a href="http://www.lowagie.com/iText">iText</a>. Na vídeo aula, são apresentadas algumas das tags descritas na publicação <a href="http://www.marcossousa.com/2008/07/01/gere-pdf-de-qualidade-em-10-minutos/">Gere PDF de Qualidade em 10 minutos</a>, o documento resultante gera um PDF que contém imagens, títulos, texto HTML formatado e um rodapé contendo texto e numeração.</p>
<p>As próximas vídeo aulas abordarão o envio de e-mails, CAPTCHA e agendamento de tarefas. <img src='http://www.marcossousa.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href='http://www.marcossousa.com/wp-content/uploads/2008/07/newsmanager.zip'>Arquivos Fontes</a><br />
<a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=9759">Vídeo aula</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcossousa.com/2008/07/31/video-aula-seam-extras-gerando-pdf/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vídeo Aulas: Seam Extras parte 4</title>
		<link>http://www.marcossousa.com/2008/07/29/video-aulas-seam-extras-parte-4/</link>
		<comments>http://www.marcossousa.com/2008/07/29/video-aulas-seam-extras-parte-4/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 11:57:16 +0000</pubDate>
		<dc:creator>Marcos Sousa</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Java EE]]></category>

		<category><![CDATA[Java Server Faces]]></category>

		<category><![CDATA[Jboss Seam]]></category>

		<category><![CDATA[Vídeo Aulas]]></category>

		<category><![CDATA[Java Magazine]]></category>

		<category><![CDATA[Java Vídeo Magazine]]></category>

		<category><![CDATA[JSF]]></category>

		<guid isPermaLink="false">http://www.marcossousa.com/?p=99</guid>
		<description><![CDATA[Foi publicada no portal Java Magazine  a parte 4ª da série de vídeo aulas sobre os extras Seam Framework.
Nesta parte não foi demonstrado nenhum recurso especial do Seam Framework, porém foi demonstrado o uso do componente input suggestion. 
Link da Vídeo Aula
Arquivos fontes
As próximas partes abordarão a geração de PDF e envio de e-mails. [...]]]></description>
			<content:encoded><![CDATA[<p>Foi publicada no portal <a href="http://www.javamagazine.com.br/">Java Magazine</a>  a parte 4ª da série de vídeo aulas sobre os extras <a href="http://www.seamframework.org/">Seam Framework</a>.</p>
<p>Nesta parte não foi demonstrado nenhum recurso especial do <a href="http://www.seamframework.org/">Seam Framework</a>, porém foi demonstrado o uso do componente <a href="http://livedemo.exadel.com/richfaces-demo/richfaces/suggestionBox.jsf?c=suggestionBox">input suggestion</a>. </p>
<p><a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=9700">Link da Vídeo Aula</a><br />
<a href='http://www.marcossousa.com/wp-content/uploads/2008/07/newsmanager.rar'>Arquivos fontes</a></p>
<p>As próximas partes abordarão a geração de PDF e envio de e-mails. <img src='http://www.marcossousa.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcossousa.com/2008/07/29/video-aulas-seam-extras-parte-4/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vídeo Aulas: Seam Extras partes 1 a 3</title>
		<link>http://www.marcossousa.com/2008/07/22/video-aulas-seam-extras-1-3/</link>
		<comments>http://www.marcossousa.com/2008/07/22/video-aulas-seam-extras-1-3/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 04:35:10 +0000</pubDate>
		<dc:creator>Marcos Sousa</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Java EE]]></category>

		<category><![CDATA[Java Server Faces]]></category>

		<category><![CDATA[Jboss Seam]]></category>

		<category><![CDATA[RichFaces]]></category>

		<category><![CDATA[Vídeo Aulas]]></category>

		<category><![CDATA[a4j:mediaOutput]]></category>

		<category><![CDATA[Java Magazine]]></category>

		<category><![CDATA[Java Vídeo Magazine]]></category>

		<category><![CDATA[JavaServer Faces]]></category>

		<category><![CDATA[JSF]]></category>

		<category><![CDATA[Rich Faces]]></category>

		<category><![CDATA[rich:fileUpload]]></category>

		<category><![CDATA[Vídeo Aula]]></category>

		<guid isPermaLink="false">http://www.marcossousa.com/?p=98</guid>
		<description><![CDATA[Foi publicada no portal Java Magazine  as 3 primeiras partes de uma série de vídeo aulas sobre os extras Seam Framework. Esta série abordará alguns recursos interessantes do Seam Framework como Geração de PDFs, Envio de e-mails, Integração com Captcha e Agendamento de Tarefas. Nesta série também procurei demonstrar através de um sistema de [...]]]></description>
			<content:encoded><![CDATA[<p>Foi publicada no portal <a href="http://www.javamagazine.com.br/">Java Magazine</a>  as 3 primeiras partes de uma série de vídeo aulas sobre os extras <a href="http://www.seamframework.org/">Seam Framework</a>. Esta série abordará alguns recursos interessantes do <a href="http://www.seamframework.org/">Seam Framework</a> como Geração de PDFs, Envio de e-mails, Integração com Captcha e Agendamento de Tarefas. Nesta série também procurei demonstrar através de um sistema de cadastro de notícias alguns recursos interessantes do RichFaces como Upload de múltiplos arquivos e auto-completar.</p>
<p><a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=9675">A primeira vídeo aula</a> aborda a criação e configuração da aplicação. É criado o banco de dados, criação dos formulários e aplicado restrições de acesso a pasta dos cadastros de usuários, tags, anexos e notícias. </p>
<p><a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=9688">A segunda parte</a> aborda a criação de uma classe de criptografia <a href="http://pt.wikipedia.org/wiki/MD5">MD5</a>, criptografia e validação de senhas no cadastro de usuário e customização da classe de autenticação de usuários usada pelo <a href="http://www.seamframework.org/">Seam Framework</a>.</p>
<p>Por fim <a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=9689">a terceira parte</a> abordou a implementação do código necessário para fazer upload de arquivos usando o componente do RichFaces <a href="http://livedemo.exadel.com/richfaces-demo/richfaces/fileUpload.jsf?c=fileUpload">rich:fileUpload</a>. No exemplo, foi limitado o tamanho máximo de arquivos, o tipo do arquivo (apenas imagens) e implementado a ação de modo que salvasse a imagem no Banco de Dados usando o Hibernate. Por fim foi apresentado também como pode ser realizado a exibição de imagens usando o <a href="http://livedemo.exadel.com/richfaces-demo/richfaces/mediaOutput.jsf?c=mediaOutput">a4j:mediaOutput</a>.</p>
<p>As próximas vídeo aulas mostrarei a implementação do recurso de autocompletar, semelhante ao WordPress, e mostrarei também a geração de PDF e Envio de e-mails. Vale a pena conferir!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcossousa.com/2008/07/22/video-aulas-seam-extras-1-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gere PDF de qualidade em 10 minutos</title>
		<link>http://www.marcossousa.com/2008/07/01/gere-pdf-de-qualidade-em-10-minutos/</link>
		<comments>http://www.marcossousa.com/2008/07/01/gere-pdf-de-qualidade-em-10-minutos/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 13:28:36 +0000</pubDate>
		<dc:creator>Marcos Sousa</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Java EE]]></category>

		<category><![CDATA[Java Server Faces]]></category>

		<category><![CDATA[Jboss Seam]]></category>

		<category><![CDATA[Itext]]></category>

		<category><![CDATA[jboss-seam-itext]]></category>

		<category><![CDATA[JSF]]></category>

		<category><![CDATA[PDF]]></category>

		<category><![CDATA[Seam Framework]]></category>

		<category><![CDATA[Seam PDF]]></category>

		<guid isPermaLink="false">http://www.marcossousa.com/?p=96</guid>
		<description><![CDATA[O Seam Framework tem um grande leque de extras, na minha opinião é onde o Seam mais se destaca. Possui integração com Hibernate, Spring, Groovy, EJB, GWT, Quartz, Java Mail e por aí vai! Bom hoje vou falar um pouco do suporte do seam para integração do iText. 
Basicamente para usar em um projeto Seam, [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://www.seamframework.org">Seam Framework</a> tem um grande leque de extras, na minha opinião é onde o Seam mais se destaca. Possui integração com <a href="http://www.hibernate.org">Hibernate</a>, <a href="http://www.springframework.org">Spring</a>, <a href="http://groovy.codehaus.org">Groovy</a>, <a href="http://java.sun.com/products/ejb">EJB</a>, <a href="http://code.google.com/webtoolkit">GWT</a>, <a href="http://www.opensymphony.com/quartz/">Quartz</a>, <a href="http://java.sun.com/products/javamail/">Java Mail</a> e por aí vai! Bom hoje vou falar um pouco do suporte do seam para integração do <a href="http://www.lowagie.com/iText">iText</a>. </p>
<p>Basicamente para usar em um projeto Seam, basta adicionar a lib do itext e a lib de intregração jboss-seam.jar. Feito isto, basta criar páginas xhtml que use as tags de geração de arquivos PDF. Uma das opções que mais me chamaram a atenção foi a possibilidade de adicionar código html, algo que estava procurando para impressão de campos que usam o formato RichText. Outra coisa que me chamou a atenção foi a velocidade, um mesmo PDF que era gerado usando iReports levou um bom tempo a mais do que o gerando usando o Seam. As opções básicas como cabeçalho, rodapé e quebra de página estão presentes.</p>
<p>Tudo que é preciso fazer é criar uma página xhtml usando a tag p:document com o namespace http://jboss.com/products/seam/pdf:</p>
<pre name="code" class="html">

&lt;p :document xmlns:p=&quot;http://jboss.com/products/seam/pdf&quot;&gt;
  &lt;!-- Coloque aqui o conteúdo do documento --&gt;
&lt;/p&gt;
</pre>
<p>A tag de paragraph permite a criação de parágrafos de forma semelhante ao um documento HTML, para exibir um dado de uma EL JSF há três maneiras básicas: Colocar a EL direto no texto, usar o componente JSF padrão h:outputText ou ainda usar o componente do Seam p:text. Veja o exemplo:</p>
<pre name="code" class="html">

&lt;p :paragraph&gt;
    Olá #{user.name}, você foi registrado com sucesso, seu login é &lt;h :outputText value=&quot;#{user.login}&quot; /&gt; e seu último acesso foi em: &lt;/p&gt;&lt;p :text value=&quot;#{user.lastAcess}&quot;&gt;
        &lt;f :convertDateTime pattern=&quot;dd/MM/yyyy HH:mm&quot; /&gt;
    &lt;/p&gt;
</pre>
<p>E não podia deixar de destacar, também deixar de destacar a habilidade do Seam de renderizar código HTML através da tag p:html:</p>
<pre name="code" class="html">

&lt;p :html&gt;
    &lt;h1&gt;Título 1 em html&lt;/h1&gt;
    &lt;table&gt;
        &lt;th&gt;
              &lt;td&gt;Título 1&lt;/td&gt;
              &lt;td&gt;Título 2&lt;/td&gt;
        &lt;/th&gt;
        &lt;tr&gt;
              &lt;td&gt;Linha 1&lt;/td&gt;
              &lt;td&gt;Linha 1&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
              &lt;td&gt;linha 2&lt;/td&gt;
              &lt;td&gt;Linha 2&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/table&gt;
    &lt;ul&gt;
        &lt;li&gt;Item 1&lt;/li&gt;
        &lt;li&gt;Item 2&lt;/li&gt;
        &lt;li&gt;Item 3&lt;/li&gt;
    &lt;/ul&gt;
&lt;/p&gt;
</pre>
<p>Caso se interesse pelo assunto, sugiro acessar o <a href="http://docs.jboss.com/seam/2.0.1.GA/reference/en/html/itext.html">Guia de Referência</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcossousa.com/2008/07/01/gere-pdf-de-qualidade-em-10-minutos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Off topic: Blog de cara nova</title>
		<link>http://www.marcossousa.com/2008/06/29/off-topic-blog-de-cara-nova/</link>
		<comments>http://www.marcossousa.com/2008/06/29/off-topic-blog-de-cara-nova/#comments</comments>
		<pubDate>Sun, 29 Jun 2008 18:22:22 +0000</pubDate>
		<dc:creator>Marcos Sousa</dc:creator>
		
		<category><![CDATA[Atualidades]]></category>

		<guid isPermaLink="false">http://www.marcossousa.com/?p=95</guid>
		<description><![CDATA[Após alguns dias de inatividade, devido a alguns problemas relacionados ao encoding do banco de dados, resolvi trocar o tema do blog. Aquele com alguns traços do MacOS já estava bem velhinho.
Bom dêem uma olhada e me diga como ficou!
Sua opinião é extremamente importante!
Abraços!
]]></description>
			<content:encoded><![CDATA[<p>Após alguns dias de inatividade, devido a alguns problemas relacionados ao encoding do banco de dados, resolvi trocar o tema do blog. Aquele com alguns traços do MacOS já estava bem velhinho.</p>
<p>Bom dêem uma olhada e me diga como ficou!</p>
<p>Sua opinião é extremamente importante!</p>
<p>Abraços!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcossousa.com/2008/06/29/off-topic-blog-de-cara-nova/feed/</wfw:commentRss>
		</item>
		<item>
		<title>JSF 2.0 EDR1 Disponível para download</title>
		<link>http://www.marcossousa.com/2008/06/27/jsf-20-edr1-disponivel-para-download/</link>
		<comments>http://www.marcossousa.com/2008/06/27/jsf-20-edr1-disponivel-para-download/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 16:30:20 +0000</pubDate>
		<dc:creator>Marcos Sousa</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Java EE]]></category>

		<category><![CDATA[Java Server Faces]]></category>

		<category><![CDATA[JSF]]></category>

		<category><![CDATA[JSF 2.0]]></category>

		<category><![CDATA[JSF 2.0 EDR1]]></category>

		<category><![CDATA[Mojarra 2.0]]></category>

		<guid isPermaLink="false">http://www.marcossousa.com/?p=94</guid>
		<description><![CDATA[O projeto Mojarra, projeto responsável pela implementação padrão JSF, anunciou a primeira versão do JSF 2.0. A versão EDR (Early Draft Review) é um snapshot do que estará disponível na nova versão do JSF. Para quem tem interesse no framework, é uma ótima oportunidade de testar novas features e identificar bugs, reportar ao projeto, ou [...]]]></description>
			<content:encoded><![CDATA[<p>O projeto <a href="https://javaserverfaces.dev.java.net">Mojarra</a>, projeto responsável pela implementação padrão JSF, anunciou a primeira versão do <a href="http://java.sun.com/javaee/javaserverfaces">JSF 2.0</a>. A versão EDR (Early Draft Review) é um snapshot do que estará disponível na nova versão do JSF. Para quem tem interesse no framework, é uma ótima oportunidade de testar novas features e identificar bugs, reportar ao projeto, ou até mesmo ajudar com correções, sem contar também que estará conhecendo os avanços do framework que estará disponível para produção somente daqui alguns meses ainda.</p>
<p>Para os interessados, é possível obter a implementação sozinha ou para quem usa o <a href="https://javaserverfaces.dev.java.net/servlets/ProjectDocumentList?folderID=9437&#038;expandFolder=9437&#038;folderID=0">Glassfish Application Server</a> a API também estará disponível através do Update Center do Application Server.</p>
<p>Venho acompanhando o blog do <a href="http://blogs.sun.com/rlubke">Ryan Lubke</a>, nele há várias informações e dicas mostrando as novas features do <a href="http://java.sun.com/javaee/javaserverfaces">JSF 2.0</a>. Vale a pena dar uma olhada.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.marcossousa.com/2008/06/27/jsf-20-edr1-disponivel-para-download/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
