<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Patternizando</title>
	<atom:link href="http://www.patternizando.com.br/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.patternizando.com.br</link>
	<description>Discutindo Desenvolvimento de Software</description>
	<lastBuildDate>Wed, 29 Feb 2012 18:41:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Ranking das Linguagens de Programação (Qual a melhor ?)</title>
		<link>http://www.patternizando.com.br/2012/02/ranking-das-linguagens-de-programacao-qual-a-melhor/</link>
		<comments>http://www.patternizando.com.br/2012/02/ranking-das-linguagens-de-programacao-qual-a-melhor/#comments</comments>
		<pubDate>Wed, 29 Feb 2012 17:55:14 +0000</pubDate>
		<dc:creator>Sylvio Barbon Jr</dc:creator>
				<category><![CDATA[Java SE]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.patternizando.com.br/?p=745</guid>
		<description><![CDATA[No mês de Fevereiro o ranking TIOBE, obtido por meio de pesquisas de popularidade entre as linguagens de programação, com pesquisas no Google, Bing, Yahoo, Wikipedia, Amazon, Youtube e Baidu descreveu a manutenção da linguagem Java no topo da lista com 17%, seguida pela linguagem C com 16% e C# na terceira posição com 8% [...]]]></description>
			<content:encoded><![CDATA[<p>No mês de Fevereiro o ranking <a href="http://www.tiobe.com/">TIOBE</a>, obtido por meio de pesquisas de popularidade entre as linguagens de programação, com pesquisas no Google, Bing, Yahoo, Wikipedia, Amazon, Youtube e Baidu descreveu a manutenção da linguagem Java no topo da lista com 17%, seguida pela linguagem C com 16% e C# na terceira posição com 8% do total da popularidade.</p>
<p>Um fator importante comentado durante a exibição do ranking foi a queda da clássica Visual Basic e crescimento do VB.net. Outra linguagem muito popular na Web, o PHP, está atualmente na 6º posição e em queda de popularidade, sendo que no mesmo período do ano passado a mesma estava na 5º posição. A lista completa está disponível na tabela 1.</p>
<p style="text-align: center;"><strong>Tabela 1</strong> &#8211; Ranking de Popularidade das Linguagens de Programação</p>
<table id="Table2" class="TpciTable" border="1" align="center">
<tbody>
<tr>
<th align="center" nowrap="nowrap">Posição<br />
Feb 2012</th>
<th align="center" nowrap="nowrap">Posição<br />
Feb 2011</th>
<th align="center" nowrap="nowrap">Mudança de Posição</th>
<th align="center" nowrap="nowrap">Linguagem</th>
<th align="center" nowrap="nowrap">Taxa<br />
Feb 2012</th>
<th align="center" nowrap="nowrap">Desvio<br />
Feb 2011</th>
<th align="center" nowrap="nowrap">Situação</th>
</tr>
<tr>
<td align="center">1</td>
<td align="center">1</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Same.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/Java.html">Java</a></td>
<td align="center">17.050%</td>
<td align="center">-1.43%</td>
<td align="left">  A</td>
</tr>
<tr>
<td align="center">2</td>
<td align="center">2</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Same.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/C.html">C</a></td>
<td align="center">16.523%</td>
<td align="center">+1.54%</td>
<td align="left">  A</td>
</tr>
<tr>
<td align="center">3</td>
<td align="center">6</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/C_.html">C#</a></td>
<td align="center">8.653%</td>
<td align="center">+1.84%</td>
<td align="left">  A</td>
</tr>
<tr>
<td align="center">4</td>
<td align="center">3</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Down.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/C__.html">C++</a></td>
<td align="center">7.853%</td>
<td align="center">-0.33%</td>
<td align="left">  A</td>
</tr>
<tr>
<td align="center">5</td>
<td align="center">8</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/Objective-C.html">Objective-C</a></td>
<td align="center">7.062%</td>
<td align="center">+4.49%</td>
<td align="left">  A</td>
</tr>
<tr>
<td align="center">6</td>
<td align="center">5</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Down.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/PHP.html">PHP</a></td>
<td align="center">5.641%</td>
<td align="center">-1.33%</td>
<td align="left">  A</td>
</tr>
<tr>
<td align="center">7</td>
<td align="center">7</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Same.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/%28Visual%29_Basic.html">(Visual) Basic</a></td>
<td align="center">4.315%</td>
<td align="center">-0.61%</td>
<td align="left">  A</td>
</tr>
<tr>
<td align="center">8</td>
<td align="center">4</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Down.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Down.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Down.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Down.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/Python.html">Python</a></td>
<td align="center">3.148%</td>
<td align="center">-3.89%</td>
<td align="left">  A</td>
</tr>
<tr>
<td align="center">9</td>
<td align="center">10</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/Perl.html">Perl</a></td>
<td align="center">2.931%</td>
<td align="center">+1.02%</td>
<td align="left">  A</td>
</tr>
<tr>
<td align="center">10</td>
<td align="center">9</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Down.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/JavaScript.html">JavaScript</a></td>
<td align="center">2.465%</td>
<td align="center">-0.09%</td>
<td align="left">  A</td>
</tr>
<tr>
<td align="center">11</td>
<td align="center">13</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/Delphi_Object_Pascal.html">Delphi/Object Pascal</a></td>
<td align="center">1.964%</td>
<td align="center">+0.90%</td>
<td align="left">  A</td>
</tr>
<tr>
<td align="center">12</td>
<td align="center">11</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Down.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/Ruby.html">Ruby</a></td>
<td align="center">1.558%</td>
<td align="center">-0.06%</td>
<td align="left">  A</td>
</tr>
<tr>
<td align="center">13</td>
<td align="center">14</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/Lisp.html">Lisp</a></td>
<td align="center">0.905%</td>
<td align="center">-0.05%</td>
<td align="left">  A</td>
</tr>
<tr>
<td align="center">14</td>
<td align="center">26</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/Transact-SQL.html">Transact-SQL</a></td>
<td align="center">0.846%</td>
<td align="center">+0.29%</td>
<td align="left">  A</td>
</tr>
<tr>
<td align="center">15</td>
<td align="center">17</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/Pascal.html">Pascal</a></td>
<td align="center">0.813%</td>
<td align="center">+0.08%</td>
<td align="left">  A</td>
</tr>
<tr>
<td align="center">16</td>
<td align="center">22</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/Visual_Basic__NET.html">Visual Basic .NET</a></td>
<td align="center">0.796%</td>
<td align="center">+0.21%</td>
<td align="left">  A&#8211;</td>
</tr>
<tr>
<td align="center">17</td>
<td align="center">32</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/PL_SQL.html">PL/SQL</a></td>
<td align="center">0.792%</td>
<td align="center">+0.38%</td>
<td align="left">  A</td>
</tr>
<tr>
<td align="center">18</td>
<td align="center">24</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/Logo.html">Logo</a></td>
<td align="center">0.677%</td>
<td align="center">+0.10%</td>
<td align="left">  B</td>
</tr>
<tr>
<td align="center">19</td>
<td align="center">16</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Down.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Down.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Down.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/Ada.html">Ada</a></td>
<td align="center">0.632%</td>
<td align="center">-0.17%</td>
<td align="left">  B</td>
</tr>
<tr>
<td align="center">20</td>
<td align="center">25</td>
<td align="center"><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /><img src="http://www.tiobe.com/tiobe_index/images/Up.gif" alt="" border="0" /></td>
<td><a href="http://www.tiobe.com/content/paperinfo/tpci/R.html">R</a></td>
<td align="center">0.623%</td>
<td align="center">+0.06%</td>
<td align="left">  B</td>
</tr>
</tbody>
</table>
<p>fonte: http://www.tiobe.com/</p>
<p>O Gráfico 1 apresenta a comparação de popularidade das linguagens desde 2001 até o presente ano.</p>
<p style="text-align: center;"><img class="aligncenter" title="TIOBE Programming Community Index" src="http://www.tiobe.com/content/paperinfo/tpci/images/tpci_trends.png" alt="Ranking das Linguagens de Programação" width="448" height="336" /></p>
<p style="text-align: left;">Comparando a evolução histórica das linguagens, disponível na Figura 1, é possível verificar que o Java, C e C# estão entre as mais populares desde a sua criação!</p>
<p style="text-align: left;">
<p style="text-align: center;"><strong>Figura</strong> 1 &#8211; A evolução das linguagens de programação</p>
<p style="text-align: center;"><img class="aligncenter" title="Linguagens de Programação" src="http://www.howtogeek.com/geekers/up/sshot4e36b21c197d4.jpg" alt="" width="520" height="5939" /></p>
<p>fonte:http://www.howtogeek.com</p>
<p><strong>Referências</strong>:</p>
<p>http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html</p>
<p>http://www.howtogeek.com/94917/the-evolution-of-computer-programming-languages-infographic/</p>
<p>&nbsp;</p>
<hr /><small>Copyright &copy; 2008<br /> This feed is for personal, non-commercial use only. <br /> The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:<br /> )</small>]]></content:encoded>
			<wfw:commentRss>http://www.patternizando.com.br/2012/02/ranking-das-linguagens-de-programacao-qual-a-melhor/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Minicurso Android &#8211; Fatec 2011</title>
		<link>http://www.patternizando.com.br/2011/12/minicurso-android-fatec-2011/</link>
		<comments>http://www.patternizando.com.br/2011/12/minicurso-android-fatec-2011/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 13:21:53 +0000</pubDate>
		<dc:creator>Sylvio Barbon Jr</dc:creator>
				<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://www.patternizando.com.br/?p=738</guid>
		<description><![CDATA[Na tarde do dia 21 de dezembro foi realizado o minicurso de &#8220;Introdução ao Desenvolvimento para Sistema Operacional Android&#8221; na FATEC de São José do Rio Preto. O conteúdo aborado foi básico, relacionando os conceitos inicias e criação de Activitys e Intents básicas. Obrigado a todos os participantes, espero que tenham gostado. Para baixar o [...]]]></description>
			<content:encoded><![CDATA[<p>Na tarde do dia 21 de dezembro foi realizado o minicurso de &#8220;Introdução ao Desenvolvimento para Sistema Operacional Android&#8221; na FATEC de São José do Rio Preto.</p>
<p>O conteúdo aborado foi básico, relacionando os conceitos inicias e criação de Activitys e Intents básicas.</p>
<p><a href="http://www.patternizando.com.br/wp-content/uploads/2011/12/MiniCursoAndroid.jpg"><img class="aligncenter size-medium wp-image-739" title="MiniCursoAndroid" src="http://www.patternizando.com.br/wp-content/uploads/2011/12/MiniCursoAndroid-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>Obrigado a todos os participantes, espero que tenham gostado.</p>
<p>Para baixar o material clique <a title="Indrodução ao Desenvolvimento com Android" href="http://www.barbon.com.br/wp-content/uploads/2011/12/Introdu%C3%A7%C3%A3oAndroid1.pdf">aqui.</a></p>
<hr /><small>Copyright &copy; 2008<br /> This feed is for personal, non-commercial use only. <br /> The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:<br /> )</small>]]></content:encoded>
			<wfw:commentRss>http://www.patternizando.com.br/2011/12/minicurso-android-fatec-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Validação de Dados em Java (Bean Validation &#8211; JSR 303)</title>
		<link>http://www.patternizando.com.br/2011/11/validacao-de-dados-em-java-bean-validation-jsr-303/</link>
		<comments>http://www.patternizando.com.br/2011/11/validacao-de-dados-em-java-bean-validation-jsr-303/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 18:25:46 +0000</pubDate>
		<dc:creator>Sylvio Barbon Jr</dc:creator>
				<category><![CDATA[Java EE]]></category>
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[JSR 303]]></category>
		<category><![CDATA[Validação]]></category>

		<guid isPermaLink="false">http://www.patternizando.com.br/?p=730</guid>
		<description><![CDATA[A validação das entradas de dados dos usuários podem custar o sucesso de uma aplicação. Considerando critérios de Interface Homem Máquina (IHM) ou mesmo de recursos consumidos devemos não apenas realizar conversões corretas, mas também validações adequados sobre os dados manipulados.

A camada a ser validade pode estar localizada em diferentes áreas do projeto, porém a ideia central é realizar a validação com suporte ao tratamento adequado caso inválida.

Relacionado a este problema a JSR 303foi lançada para estabelecer um modelo de avaliação, sendo esta integrante à plataforma JEE 6. O modelo descrito pela Bean Validation está relacionado mecanismo de anotação sobre um campo, método ou classe de um componente JavaBean, como por exemplo as ManagedBeans do JSF.]]></description>
			<content:encoded><![CDATA[<p>A validação das entradas de dados dos usuários podem custar o sucesso de uma aplicação. Considerando critérios de Interface Homem Máquina (IHM) ou mesmo de recursos consumidos devemos não apenas realizar conversões corretas, mas também validações adequados sobre os dados manipulados.</p>
<p>A camada a ser validade pode estar localizada em diferentes áreas do projeto, porém a ideia central é realizar a validação com suporte ao tratamento adequado caso inválida.</p>
<p>Relacionado a este problema a JSR 303foi lançada para estabelecer um modelo de avaliação, sendo esta integrante à plataforma JEE 6. O modelo descrito pela Bean Validation está relacionado mecanismo de anotação sobre um campo, método ou classe de um componente JavaBean, como por exemplo as ManagedBeans do JSF.</p>
<p>Lembrando que tal implementação está presente em ambientes JEE, caso contrário é necessário baixar soluções alternativas.</p>
<p>As anotações para validação são:</p>
<table>
<tbody>
<tr>
<td scope="row" align="left" valign="top"><tt>@AssertFalse</tt></td>
<td scope="row" align="left" valign="top">O valor da propriedade deve ser false</td>
<td scope="row" align="left" valign="top">
<pre>@AssertFalse
boolean isUnsupported;</pre>
</td>
</tr>
<tr>
<td scope="row" align="left" valign="top"><tt>@AssertTrue</tt></td>
<td scope="row" align="left" valign="top">O valor do campo deve ser true</td>
<td scope="row" align="left" valign="top">
<pre>@AssertTrue
boolean isActive;</pre>
</td>
</tr>
<tr>
<td scope="row" align="left" valign="top"><tt>@DecimalMax</tt></td>
<td scope="row" align="left" valign="top">O valor do campo deve ser um decimal menor ou igual ao número anotado.</td>
<td scope="row" align="left" valign="top">
<pre>@DecimalMax("30.00")
BigDecimal discount;</pre>
</td>
</tr>
<tr>
<td scope="row" align="left" valign="top"><tt>@DecimalMin</tt></td>
<td scope="row" align="left" valign="top">O valor do campo deve ser maior ou igual ao número anotado</td>
<td scope="row" align="left" valign="top">
<pre>@DecimalMin("5.00")
BigDecimal discount;</pre>
</td>
</tr>
<tr>
<td scope="row" align="left" valign="top"><tt>@Digits</tt></td>
<td scope="row" align="left" valign="top">O valor do campo deve ser um número com um intervalo específico. O elemento integer especifica o maior número inteiro e o atributo fraction especifica a quantidade de dígitos da fração.</td>
<td scope="row" align="left" valign="top">
<pre>@Digits(integer=6, fraction=2)
BigDecimal price;</pre>
</td>
</tr>
<tr>
<td scope="row" align="left" valign="top"><tt>@Future</tt></td>
<td scope="row" align="left" valign="top">O valor do campo deve ser uma data futura.</td>
<td scope="row" align="left" valign="top">
<pre>@Future
Date eventDate;</pre>
</td>
</tr>
<tr>
<td scope="row" align="left" valign="top"><tt>@Max</tt></td>
<td scope="row" align="left" valign="top">O valor do campo deve ser um inteiro menor ou igual ao número anotado.&nbsp;</td>
<td scope="row" align="left" valign="top">
<pre>@Max(10)
int quantity;</pre>
</td>
</tr>
<tr>
<td scope="row" align="left" valign="top"><tt>@Min</tt></td>
<td scope="row" align="left" valign="top">O valor do campo deve ser menor ou igual ao número anotado.</td>
<td scope="row" align="left" valign="top">
<pre>@Min(5)
int quantity;</pre>
</td>
</tr>
<tr>
<td scope="row" align="left" valign="top"><tt>@NotNull</tt></td>
<td scope="row" align="left" valign="top">O valor do campo não pode ser nulo.</td>
<td scope="row" align="left" valign="top">
<pre>@NotNull
String username;</pre>
</td>
</tr>
<tr>
<td scope="row" align="left" valign="top"><tt>@Null</tt></td>
<td scope="row" align="left" valign="top">O valor do campo deve ser nulo</td>
<td scope="row" align="left" valign="top">
<pre>@Null
String unusedString;</pre>
</td>
</tr>
<tr>
<td scope="row" align="left" valign="top"><tt>@Past</tt></td>
<td scope="row" align="left" valign="top">O valor do campo deve ser uma data anterior a data atual.</td>
<td scope="row" align="left" valign="top">
<pre>@Past
Date birthday;</pre>
</td>
</tr>
<tr>
<td scope="row" align="left" valign="top"><tt>@Pattern</tt></td>
<td scope="row" align="left" valign="top">O valor do campo será validado de acordo com uma expressão regular.</td>
<td scope="row" align="left" valign="top">
<pre>@Pattern(regexp="\\(\\d{3}\\)\\d{3}-\\d{4}")
String phoneNumber;</pre>
</td>
</tr>
<tr>
<td scope="row" align="left" valign="top"><tt>@Size</tt></td>
<td scope="row" align="left" valign="top">Delimita os limites para determinado campo.</td>
<td scope="row" align="left" valign="top">
<pre>@Size(min=2, max=240)
String briefMessage;</pre>
</td>
</tr>
</tbody>
</table>
<div>Exemplo de Utilização</div>
<div>public class Name {<br />
@NotNull<br />
@Size(min=1, max=16)<br />
private String firstname;</div>
<div>
<p>       @NotNull<br />
@Size(min=1, max=16)<br />
private String lastname;<br />
}</p>
</div>
<div>Referências:</div>
<div>http://jcp.org/en/jsr/detail?id=303</div>
<hr /><small>Copyright &copy; 2008<br /> This feed is for personal, non-commercial use only. <br /> The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:<br /> )</small>]]></content:encoded>
			<wfw:commentRss>http://www.patternizando.com.br/2011/11/validacao-de-dados-em-java-bean-validation-jsr-303/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lançado o Guia do Usuário (Documentação) do PrimeFaces 3.0M4</title>
		<link>http://www.patternizando.com.br/2011/11/lancado-o-guia-do-usuario-documentacao-do-primefaces-3-0m4/</link>
		<comments>http://www.patternizando.com.br/2011/11/lancado-o-guia-do-usuario-documentacao-do-primefaces-3-0m4/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 10:50:19 +0000</pubDate>
		<dc:creator>Sylvio Barbon Jr</dc:creator>
				<category><![CDATA[Sem categoria]]></category>

		<guid isPermaLink="false">http://www.patternizando.com.br/?p=725</guid>
		<description><![CDATA[Antecipando o Guia do Usuário para a versão 3.0, a versão 3.0M4 está pronta. O novo guia (com mais de 400 páginas) está melhor e mais atualizado cobrindo todas as especificações desta última versão. Para baixá-lo clique aqui. A partir de agora a cada nova versão lançada, o guia será atualizado e estará disponível para [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>Antecipando o Guia do Usuário para a versão 3.0, a versão 3.0M4 está pronta. O novo guia (com mais de 400 páginas) está melhor e mais atualizado cobrindo todas as especificações desta última versão. Para baixá-lo clique <a title="Download PrimeFaces versão M4" href="http://www.primefaces.org/guide/primefaces_users_guide_3M4.pdf">aqui</a>.</p>
<p>A partir de agora a cada nova versão lançada, o guia será atualizado e estará disponível para a Comunidade. Outra boa notícia são as contribuições de revisão técnicas do Kito Mann (Especialista em JSF).</p></div>
<div>
Pretende-se lançar a versão PrimeFaces 3.0RC1 em Dezembro.</p>
</div>
<hr /><small>Copyright &copy; 2008<br /> This feed is for personal, non-commercial use only. <br /> The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:<br /> )</small>]]></content:encoded>
			<wfw:commentRss>http://www.patternizando.com.br/2011/11/lancado-o-guia-do-usuario-documentacao-do-primefaces-3-0m4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PrimeFaces 3.0.M4 Lançado!</title>
		<link>http://www.patternizando.com.br/2011/11/primefaces-3-0-m4-lancado/</link>
		<comments>http://www.patternizando.com.br/2011/11/primefaces-3-0-m4-lancado/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 12:43:39 +0000</pubDate>
		<dc:creator>Sylvio Barbon Jr</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[PrimeFaces]]></category>

		<guid isPermaLink="false">http://www.patternizando.com.br/?p=720</guid>
		<description><![CDATA[A Prime Technology anunciou ontem (31/10) o lançamento de um dos frameworks líderes no mercado JSF, o PrimeFaces. A versão M4 tem seu foco na manutenção e inserção de novas características em mais de 100 melhorias, podendo ser divididos em melhorias internas e novos componentes com uma atenção especial no Ajax Push e PrimeFaces Push. [...]]]></description>
			<content:encoded><![CDATA[<p>A Prime Technology anunciou ontem (31/10) o lançamento de um dos frameworks líderes no mercado JSF, o PrimeFaces. A versão <strong>M4</strong> tem seu foco na manutenção e inserção de novas características em mais de 100 melhorias, podendo ser divididos em melhorias internas e novos componentes com uma atenção especial no Ajax Push e PrimeFaces Push.</p>
<ol>
<li>Novo componente OrderList;</li>
<li>Novo componente SummaryRow;</li>
<li>O tema padrão foi substituído (Aristo pelo Sam), estando o Sam disponível para download;</li>
<li>PrimeFaces Push (parte 1);</li>
<li>Reimplementação menu, menubar, menubutton, contextMenu e scrollPanel como componentes nativos, removendo o wijmo;</li>
<li>Reimplementação do componente paginator como um componente nativo, removendo o yui. O paginator era o último componente baseado em yui;</li>
<li>Posicionamento inteligente tratando a sobreposição de componentes como: autocomplete e menus utilizando por exemplos janelas redimensionáveis;</li>
<li>Ordenação customizada para os recursos;</li>
<li>Correção de erros nos Hidden Container;</li>
<li>Carregamento dinâmico de conteúdo;</li>
<li>Implementação de diferentes recursos para melhorar a performance de carregamento de página;</li>
<li>Correção de scripts que estavam desatualizados;</li>
<li>Diferentes tipos de context menus para diferentes nós da treeTable;</li>
<li>Corrigido evento de processamento nos inputs da treeTable;</li>
<li>Implementações mais leves removendo dependências do wijmo e yui, que pesavam o cliente.</li>
</ol>
<p>Todas as <a href="http://code.google.com/p/primefaces/issues/list?can=1&amp;q=label%3ATargetVersion-3.0.M4%20status%3AFixed&amp;num=200" target="_blank">mudanças</a> pode ser verificadas na <a href="http://wiki.primefaces.org/display/General/Migration+Guide+to+3.0" target="_blank">documentação oficial para migração</a>, que foi atualizada!</p>
<p>Lembrando que a documentação oficial completa será distribuída gratuitamente.</p>
<p><strong>Download</strong></p>
<p>A versão M4 está disponível para download ou via repositório maven. Clique <a title="Download PrimeFaces versão M4" href="http://www.primefaces.org/downloads.html" target="_blank">aqui</a> para mais informações.</p>
<p><strong>Referências</strong></p>
<p>http://blog.primefaces.org/</p>
<hr /><small>Copyright &copy; 2008<br /> This feed is for personal, non-commercial use only. <br /> The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:<br /> )</small>]]></content:encoded>
			<wfw:commentRss>http://www.patternizando.com.br/2011/11/primefaces-3-0-m4-lancado/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Vídeo sobre o PrimeFaces Mobile</title>
		<link>http://www.patternizando.com.br/2011/10/video-sobre-o-primefaces-mobile/</link>
		<comments>http://www.patternizando.com.br/2011/10/video-sobre-o-primefaces-mobile/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 17:41:53 +0000</pubDate>
		<dc:creator>Sylvio Barbon Jr</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[PrimeFaces]]></category>

		<guid isPermaLink="false">http://www.patternizando.com.br/?p=714</guid>
		<description><![CDATA[<iframe src="http://player.vimeo.com/video/29664718?title=0&#38;byline=0&#38;portrait=0" width="400" height="225" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe>]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://player.vimeo.com/video/29664718?title=0&amp;byline=0&amp;portrait=0" width="400" height="225" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe></p>
<hr /><small>Copyright &copy; 2008<br /> This feed is for personal, non-commercial use only. <br /> The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:<br /> )</small>]]></content:encoded>
			<wfw:commentRss>http://www.patternizando.com.br/2011/10/video-sobre-o-primefaces-mobile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Recuperando parâmetros e sessão com JSF (HttpServletRequest e HttpSession)</title>
		<link>http://www.patternizando.com.br/2011/10/recuperando-parametros-e-sessao-com-jsf-httpservletrequest-e-httpsession/</link>
		<comments>http://www.patternizando.com.br/2011/10/recuperando-parametros-e-sessao-com-jsf-httpservletrequest-e-httpsession/#comments</comments>
		<pubDate>Mon, 03 Oct 2011 19:19:51 +0000</pubDate>
		<dc:creator>Sylvio Barbon Jr</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[HttpSession]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[Parameter]]></category>
		<category><![CDATA[Session]]></category>

		<guid isPermaLink="false">http://www.patternizando.com.br/?p=711</guid>
		<description><![CDATA[É possível recuperar parâmetros da requisição utilizando o &#8220;id&#8221; por meio das expression, exemplo: &#60;h:outputText value="#{param['id']}" /&#62; param—recupera a informação pelo id, sendo param um Map dos parâmetros da requisição. sessionScope— é o Map para os valores armazenados na Sessão (HttpSession), buscando pelo id, como no exemplo anterior. Referências: Sessão 5.3.1.2 da JSF 1.0 specification [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>É possível recuperar parâmetros da requisição utilizando o &#8220;id&#8221; por meio das expression, exemplo:</p>
<pre><code>&lt;h:outputText value="#{param['id']}" /&gt;

</code></pre>
<ul>
<li><em>param</em>—recupera a informação pelo id, sendo param um Map dos parâmetros da requisição.</li>
<li><em>sessionScope</em>— é o Map para os valores armazenados na Sessão (HttpSession), buscando pelo id, como no exemplo anterior.</li>
</ul>
<p>Referências:</p>
<p>Sessão 5.3.1.2 da <a href="http://java.sun.com/javaee/javaserverfaces/reference/api/" rel="nofollow">JSF 1.0 specification</a></p>
</div>
<hr /><small>Copyright &copy; 2008<br /> This feed is for personal, non-commercial use only. <br /> The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:<br /> )</small>]]></content:encoded>
			<wfw:commentRss>http://www.patternizando.com.br/2011/10/recuperando-parametros-e-sessao-com-jsf-httpservletrequest-e-httpsession/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programação para Android com Tiggr (Cliente Twitter)</title>
		<link>http://www.patternizando.com.br/2011/09/programacao-para-android-com-triggr-cliente-twitter/</link>
		<comments>http://www.patternizando.com.br/2011/09/programacao-para-android-com-triggr-cliente-twitter/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 20:59:53 +0000</pubDate>
		<dc:creator>Sylvio Barbon Jr</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Rest]]></category>
		<category><![CDATA[Tiggr]]></category>

		<guid isPermaLink="false">http://www.patternizando.com.br/?p=695</guid>
		<description><![CDATA[Este artigo aborda o desenvolvimento de software para Android utilizando ambiente Web, o Tiggr, mantido pela Exadel. 
O projeto desenvolvido é um cliente para pesquisa no Twitter utilizando REST.

Para baixar o artigo em PDF clique <a href="http://www.patternizando.com.br/wp-content/uploads/2011/09/MiniCursoAndroid.pdf"> aqui </a> ]]></description>
			<content:encoded><![CDATA[<h1><span style="font-family: Arial,sans-serif;">1 – Android</span></h1>
<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;"><strong>Android</strong> é um sistema operacional móvel que roda sobre o kernel Linux. Foi inicialmente desenvolvido pelo Google e posteriormente pela Open Handset Alliance, mas a Google é a responsável pela gerência do produto e engenharia de processos. O Android permite aos desenvolvedores escreverem software na linguagem de programação Java controlando o dispositivo via bibliotecas desenvolvidas pela Google. Para download deste artigo em formato PDF clique <a href="http://www.patternizando.com.br/wp-content/uploads/2011/09/MiniCursoAndroid.pdf">MiniCursoAndroid</a><br />
</span></span></span></p>
<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">As diferentes versões de Android têm desde a versão 1.5, nomes de sobremesas ou bolos (em inglês) e seguem uma lógica alfabética:</span></span></span></p>
<ul>
<li>
<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">1.5: Cupcake (Abril de 2009, com a última revisão oficial a maio de 2010) </span></span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">1.6: Donut (Setembro de 2009, com a ultima revisão oficial a maio de 2010) </span></span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">2.1: Eclair (Janeiro de 2010, com a última revisão oficial a maio de 2010) </span></span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">2.2: FroYo (<em>Frozen Yogourt</em> &#8211; Maio de 2010, com a última revisão oficial a julho de 2010) </span></span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">2.3: Gingerbread (versão atual lançada a 6 de dezembro de 2010) </span></span></span></p>
</li>
<li>
<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">3.0-3.2: Honeycomb (Lançada especialmente para tablets em Janeiro de 2011) </span></span></span></p>
</li>
<li>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">X.X Ice Cream Sandwich &#8211; Lançamento previsto para o quarto trimeste de 2011, o número da versão ainda não foi oficialmente revelado.</span></span></span></p>
</li>
</ul>
<h1><span style="font-family: Arial,sans-serif;">2 – Projeto Android</span></h1>
<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">A distribuição do software é realizada pelo pacote apk. O software pode ser desenvolvido em Java utilizando as tradicionais IDEs, destacando o Eclipse por comportar plugins para facilitar o desenvolvimento. O desenvolvimento com IDEs como o comentado Eclipse e o popular NetBeans não serão foco deste minicurso. O projeto que será desenvolvido fará uso de um ambiente web, sendo uma ferramenta da empresa Exadel chamada Tiggr que utiliza as bibliotecas JqueryMobile e PhoneGap.</span></span></span></p>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Estas bibliotecas forncecessem acesso a itens do aparelho como:</span></span></span></p>
<ol>
<li>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Acelerômetro;</span></span></span></p>
</li>
<li>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Câmera;</span></span></span></p>
</li>
<li>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Multimídia;</span></span></span></p>
</li>
<li>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">GPS;</span></span></span></p>
</li>
<li>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Memórias Não Voláteis;</span></span></span></p>
</li>
<li>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Eventos do SO;</span></span></span></p>
</li>
<li>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Contatos no aparelhos;</span></span></span></p>
<h1><span style="font-family: Arial,sans-serif;">3- Projetando a aplicação: </span></h1>
</li>
</ol>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">O software que será desenvolvido será um cliente que irá realizar pequisas no Twitter (<a href="http://twitter.com/">http://twitter.com</a>) sobre determinado assunto. Para isso será acessaro o serviço Representational State Transfer &#8211; REST do Twitter. </span></span></span></p>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Para o desenvolvimento devemos criar uma conta no <a href="http://www.gotiggr.com/">http://www.gotiggr.com</a> e fazer um cadastro gratuíto na ferramenta.</span></span></span></p>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">A aplicação será divida em 5 etapas:</span></span></span></p>
<ol>
<li>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Prototipação e construção da interface gráfica;</span></span></span></p>
</li>
<li>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Configuração dos serviços que serão utilizados (REST)</span></span></span></p>
</li>
<li>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Acoplando os componentes da interface com a resposta do serviço.</span></span></span></p>
</li>
<li>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Testar a aplicação no navegador;</span></span></span></p>
</li>
<li>
<p align="LEFT"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;"><span style="color: #000000;">Distribuindo a aplicação para os dispositivos móveis.</span></span></span></p>
<p align="LEFT">
</li>
</ol>
<p align="JUSTIFY"><span style="font-family: Arial,sans-serif;"><span style="font-size: small;"><strong>3.1 Prototipação da interface Gráfica:</strong></span></span></p>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">O software terá a interface com o usuário apresentada na Figura 1.</span></span></span></p>
<table width="100%" cellspacing="0" cellpadding="4">
<colgroup>
<col width="128*" />
<col width="128*" /> </colgroup>
<tbody>
<tr valign="TOP">
<td width="50%">
<p style="text-align: center;" align="JUSTIFY"> <a href="http://www.patternizando.com.br/wp-content/uploads/2011/09/figura1.png"><img class="aligncenter size-full wp-image-696" title="figura1" src="http://www.patternizando.com.br/wp-content/uploads/2011/09/figura1.png" alt="" width="364" height="251" /></a></p>
</td>
<td width="50%">
<p style="text-align: center;" align="JUSTIFY"> <a href="http://www.patternizando.com.br/wp-content/uploads/2011/09/figura2.png"><img class="aligncenter size-full wp-image-697" title="figura2" src="http://www.patternizando.com.br/wp-content/uploads/2011/09/figura2.png" alt="" width="364" height="273" /></a></p>
</td>
</tr>
</tbody>
</table>
<p align="CENTER"><span style="font-family: Arial,sans-serif;"><span style="font-size: x-small;">Figura 1 – Telas do Software</span></span></p>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">O Tiggr tras diversos componentes JQuery Mobile (lado esquerdo) para facilitar o desenvolvimento da aplicação. </span></span></span></p>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Para utilizar qualquer componente basta arrastar e soltar na posição desejada na representação do aparelho.</span></span></span></p>
<p align="LEFT"><span style="color: #000000;"> <span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Uma vez que o componente está inserido, você pode selecionar diversas propriedades, ações e eventos que estão do lado direito. A Figura 2 apresenta a interface de desenvolvimento do Tiggr.</span></span></span></p>
<p style="text-align: center;" align="CENTER"><a href="http://www.patternizando.com.br/wp-content/uploads/2011/09/figura3.png"><img class="aligncenter size-large wp-image-698" title="figura3" src="http://www.patternizando.com.br/wp-content/uploads/2011/09/figura3-1024x438.png" alt="" width="717" height="307" /></a></p>
<p align="CENTER"><span style="font-family: Arial,sans-serif;"><span style="font-size: x-small;">Figura 2 – Ambiente de desenvolvimento Tiggr</span></span></p>
<p align="JUSTIFY"><span style="font-family: Arial,sans-serif;"><span style="font-size: small;"><strong>3.2 Configurando o Serviço REST</strong></span></span></p>
<p align="LEFT"><span style="font-size: x-small;"><span style="color: #000000;"><span style="font-family: arial,sans-serif;">Uma aplicação manipulação de dados não pode ser considerada completo. Para configurar o acesso as informações, no caso do nosso projeto ao Twitter, utilizaremos o serviço REST que tem seu retorno baseado em XML ou JSON. A configuração do serviço consistem em 3 passos:</span></span></span></p>
<ol>
<ol>
<ol>
<li>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">URL do serviço;</span></span></span></p>
</li>
<li>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Parametros de requisição do serviço;</span></span></span></p>
</li>
<li>
<p align="LEFT"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Parametros de resposta do serviço.</span></span></span></p>
</li>
</ol>
</ol>
</ol>
<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Para utilizar o serviço será necessário utilizar um componente do tipo DATA SOURCE. Para alimentar o Data Source será preciso criar um serviço e mapear os respectivos parâmetors, para isso deve-se selecionar na barra a esquerda a opção Project → Services. Depois será apresentada uma tela semelhante a da Figura 3. A URL do Serviço do Twitter é <a href="http://search.twitter.com/search.json">http://search.twitter.com/search.json</a>, com o Data Type jsonp.</span></span></span></p>
<p align="CENTER"><a href="http://www.patternizando.com.br/wp-content/uploads/2011/09/figura4.png"><img class="aligncenter size-full wp-image-699" title="figura4" src="http://www.patternizando.com.br/wp-content/uploads/2011/09/figura4.png" alt="" width="475" height="303" /></a></p>
<p align="CENTER"><span style="font-family: Arial,sans-serif;"><span style="font-size: x-small;">Figura 3 – Configurando o REST</span></span></p>
<p style="text-align: left;" align="CENTER"><span style="font-family: Arial,sans-serif;"><span style="font-size: small;"><strong> 3.1 Acoplando componentes e serviços</strong></span></span></p>
<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Os componentes da interface gráfica deverão ser associados ao serviço REST criado, para isso o desenvolvedor deverá manipular o objeto de Data Source. A tela de relacionamento de componente com resposta está exibido na Figura 4.</span></span></span></p>
<p align="JUSTIFY"><a href="http://www.patternizando.com.br/wp-content/uploads/2011/09/figura5.png"><img class="aligncenter size-medium wp-image-700" title="figura5" src="http://www.patternizando.com.br/wp-content/uploads/2011/09/figura5-300x109.png" alt="" width="300" height="109" /></a></p>
<p align="CENTER"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Figura 4 – Relacionando componenentes e elementos de retorno REST.</span></span></span></p>
<p align="JUSTIFY"> <span style="font-family: Arial,sans-serif;"><span style="font-size: small;"><strong>3.2 Testar a aplicação no navegador</strong></span></span></p>
<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">Para o teste da solução desenvolvida, pode-se utilizar diferentes maneiras, uma delas é testar no próprio navegador. Para realizar esta operação basta acessar a opção “Test”, ao lado direito do ambiente de desenvolvimento. É possível testar no próprio aparalho, onde através de um QRCode você pode requisitar o link e baixar a aplicação para o seu dispositivo, conforme a Figura 5.</span></span></span></p>
<p align="CENTER"><a href="http://www.patternizando.com.br/wp-content/uploads/2011/09/figura6.png"><img class="aligncenter size-medium wp-image-701" title="figura6" src="http://www.patternizando.com.br/wp-content/uploads/2011/09/figura6-288x300.png" alt="" width="288" height="300" /></a></p>
<p align="CENTER"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;"><span style="color: #000000;">Figura 5 – Testando a aplicação</span></span></span></p>
<p align="JUSTIFY"> <span style="font-family: Arial,sans-serif;"><span style="font-size: small;"><strong> 3.4 Distribuindo a aplicação para os dispositivos móveis</strong></span></span></p>
<p><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;">A distribuição pode ser feita por meio do próprio arquivo apk, que deverá ser encaminhado ao dispositivo ou criando uma conta e encaminhando o software ao Android Market, tudo isso automaticamente pelo ambiente Tiggr.</span></span></span></p>
<p><span><span style="font-size: small;"><strong>Referências:</strong></span></span></p>
<p align="JUSTIFY"><span style="color: #000000;"><span style="font-family: arial,sans-serif;"><span style="font-size: x-small;"><a href="http://help.gotiggr.com/">http://help.gotiggr.com</a></span></span></span></p>
<hr /><small>Copyright &copy; 2008<br /> This feed is for personal, non-commercial use only. <br /> The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:<br /> )</small>]]></content:encoded>
			<wfw:commentRss>http://www.patternizando.com.br/2011/09/programacao-para-android-com-triggr-cliente-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nova TagLib Namespace URIs para PrimeFaces 3.0</title>
		<link>http://www.patternizando.com.br/2011/09/nova-taglib-namespace-uris-para-primefaces-3-0/</link>
		<comments>http://www.patternizando.com.br/2011/09/nova-taglib-namespace-uris-para-primefaces-3-0/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 11:19:30 +0000</pubDate>
		<dc:creator>Sylvio Barbon Jr</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[PrimeFaces]]></category>

		<guid isPermaLink="false">http://www.patternizando.com.br/?p=690</guid>
		<description><![CDATA[Dentre as várias mudanças da nova versão do PrimeFaces, cuja versão é a 3.0, a URIs para os namespaces da TagLib do prime também foi modificada. Anterioremente o namespace era: http://primefaces.prime.com.tr/ui Agora passou a ser: http://primefaces.org/ui Outra mudança foi na TagLib dos componentes Mobile, que eram: http://primefaces.prime.com.tr/mobile E passaram a ser: http://primefaces.org/mobile Referência: http://blog.primefaces.org; Copyright [...]]]></description>
			<content:encoded><![CDATA[<p>Dentre as várias mudanças da nova versão do PrimeFaces, cuja versão é a 3.0, a URIs para os namespaces da TagLib do prime também foi modificada.</p>
<p>Anterioremente o namespace era:</p>
<p>http://primefaces.prime.com.tr/ui</p>
<p>Agora passou a ser:</p>
<p>http://primefaces.org/ui</p>
<p>Outra mudança foi na TagLib dos componentes Mobile, que eram:</p>
<p>http://primefaces.prime.com.tr/mobile</p>
<p>E passaram a ser:</p>
<p>http://primefaces.org/mobile</p>
<p>Referência:</p>
<p>http://blog.primefaces.org;</p>
<hr /><small>Copyright &copy; 2008<br /> This feed is for personal, non-commercial use only. <br /> The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:<br /> )</small>]]></content:encoded>
			<wfw:commentRss>http://www.patternizando.com.br/2011/09/nova-taglib-namespace-uris-para-primefaces-3-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FileUpload PrimeFaces não funciona do Firefox nem no Chrome (&#8220;IO ERROR&#8221; ou &#8220;HTTP ERROR&#8221;)</title>
		<link>http://www.patternizando.com.br/2011/09/fileupload-primefaces-nao-funciona-do-firefox-nem-no-chrome-io-error-ou-http-error/</link>
		<comments>http://www.patternizando.com.br/2011/09/fileupload-primefaces-nao-funciona-do-firefox-nem-no-chrome-io-error-ou-http-error/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 21:59:21 +0000</pubDate>
		<dc:creator>Sylvio Barbon Jr</dc:creator>
				<category><![CDATA[Só sei que resolveu assim]]></category>
		<category><![CDATA[JSF]]></category>
		<category><![CDATA[PrimeFaces]]></category>

		<guid isPermaLink="false">http://www.patternizando.com.br/?p=686</guid>
		<description><![CDATA[Cenário:
Quando é disparada a ação de upload são emitidos os erros dentro do próprio componente PrimeFaces e nenhum log é exibido.

Erro:
"IO ERROR" ou "HTTP ERROR"]]></description>
			<content:encoded><![CDATA[<div>
<div>
<p><strong>Ambiente:</strong><br />
Sistema Operacional: Windows 2008 / Windows 7 / Ubuntu<br />
Tecnologia: JSF 2.0 com Tomcat 6, 7 e GlassFish 3  com PrimeFaces 2.1<strong></strong></p>
<p><strong>Cenário:</strong><br />
Quando é disparada a ação de upload são emitidos os erros dentro do próprio componente PrimeFaces e nenhum log é exibido.</p>
<p><strong>Erro:</strong><br />
&#8220;IO ERROR&#8221; ou &#8220;HTTP ERROR&#8221;</p>
<p><strong>Solução:</strong></p>
<p>Substituir a versão do PrimeFaces, o erro ocorre na 2.1. Ao substituir para a 2.2  o upload funciona corretamente.</p>
</div>
</div>
<hr /><small>Copyright &copy; 2008<br /> This feed is for personal, non-commercial use only. <br /> The use of this feed on other websites breaches copyright. If this content is not in your news reader, it makes the page you are viewing an infringement of the copyright. (Digital Fingerprint:<br /> )</small>]]></content:encoded>
			<wfw:commentRss>http://www.patternizando.com.br/2011/09/fileupload-primefaces-nao-funciona-do-firefox-nem-no-chrome-io-error-ou-http-error/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

