<?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>Bruno Pereira &#187; eclipse</title>
	<atom:link href="http://brunopereira.org/tag/eclipse/feed/" rel="self" type="application/rss+xml" />
	<link>http://brunopereira.org</link>
	<description>Open source, Java, web, python, client-side e outros hobbies :)</description>
	<lastBuildDate>Thu, 20 Oct 2011 00:47:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>À procura de uma maneira produtiva de trabalhar com web services SOAP</title>
		<link>http://brunopereira.org/2008/12/08/a-procura-de-uma-maneira-produtiva-de-trabalhar-com-web-services-soap/</link>
		<comments>http://brunopereira.org/2008/12/08/a-procura-de-uma-maneira-produtiva-de-trabalhar-com-web-services-soap/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 00:28:03 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[posts em português]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[apache cxf]]></category>
		<category><![CDATA[aqualogic]]></category>
		<category><![CDATA[axis]]></category>
		<category><![CDATA[axis 2]]></category>
		<category><![CDATA[bea]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[glassfish]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[metro]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[web services]]></category>
		<category><![CDATA[wsdl]]></category>

		<guid isPermaLink="false">http://brunopereira.org/?p=262</guid>
		<description><![CDATA[Com a minha mudança de alocação da Globo.com para a Globosat, continuo trabalhando bastante com integração de aplicações, mas agora com um ferramental e paradigmas diferentes.
Na Globo.com eu trabalhei muito com open source, e estava acostumado a montar as aplicações a partir de componentes &#8220;crus&#8221;, em vez de usar ferramentas sofisticadas. Open source faz parte [...]]]></description>
			<content:encoded><![CDATA[<p>Com a minha <a href="http://brunopereira.org/2008/11/28/adeus-globocom-foi-um-grande-prazer/" target="_blank">mudança de alocação</a> da <a href="http://www.globo.com" target="_blank">Globo.com</a> para a <a href="http://globosat.globo.com/" target="_blank">Globosat</a>, continuo trabalhando bastante com integração de aplicações, mas agora com um ferramental e paradigmas diferentes.</p>
<p>Na Globo.com eu trabalhei muito com open source, e estava acostumado a montar as aplicações a partir de componentes &#8220;crus&#8221;, em vez de usar ferramentas sofisticadas. Open source faz parte da cultura da empresa, e tínhamos uma boa liberdade de escolha de tecnologias e arquiteturas.</p>
<p>Como falei algumas vezes no passado, nós migramos boa parte da arquitetura legada com EJBs para serviços <a href="http://brunopereira.org/tag/rest/" target="_blank">REST</a> usando por baixo o <a href="https://jersey.dev.java.net/" target="_blank">Jersey</a>, <a href="http://www.springframework.org/" target="_blank">Spring</a> e <a href="http://ibatis.apache.org/" target="_blank">Ibatis</a>. A produtividade no desenvolvimento de serviços REST me agrada muito, e mesmo alguém que não conheça muito de serviços REST consegue desenvolver um serviço sem tanto esforço.</p>
<p>Agora vou trabalhar mais com serviços SOAP, mas usando ferramentas muito produtivas, como o <a href="http://www.bea.com/framework.jsp?CNT=index.htm&amp;FP=/content/products/aqualogic/service_bus/" target="_blank">Aqualogic ESB</a> e o <a href="http://www.bea.com/framework.jsp?CNT=index.htm&amp;FP=/content/products/weblogic/workshop/" target="_blank">Workshop</a>, entre outros. Essas ferramentas facilitam muito o trabalho oferecendo <a href="http://brunopereira.org/2008/12/04/abstracoes-transparentes-e-abstracoes-opacas/" target="_blank">Abstrações Opacas</a>. Como ainda estou muito ligado ao trabalho com Open Source, eu venho tentando no meu tempo vago encontrar ferramentas open source com a mesma proposta.</p>
<p>Neste momento estou tentando encontrar a maneira mais produtiva de se trabalhar com web services SOAP usando open source. No passado eu desenvolvi serviços com o <a href="http://xfire.codehaus.org/" target="_blank">XFire</a>, com o <a href="http://ws.apache.org/axis2/" target="_blank">Axis 2</a> e com o <a href="https://jax-ws.dev.java.net/" target="_blank">JAX-WS</a>, mas achei interessante reavaliar as opções existentes atualmente.</p>
<p>Nos últimos dias eu fiz testes com o Axis 2, com o <a href="http://cxf.apache.org/" target="_blank">Apache CXF</a> e com o JAX-WS.</p>
<p>Eu não gosto muito do Axis 2. Você até consegue desenvolver serviços rapidamente com ele, mas ele gera um código tão sujo que é muito triste colocar qualquer coisa em produção com ele, sabendo que você vai ter que manter depois aquele código. Além disso, para utilizá-lo você precisa levar nada menos que 51 jars para sua aplicação, o que transforma qualquer aplicação em um mastodonte. Um outro problema dessa lista massiva de dependências é que a chance de uma aplicação pré-existente ter conflitos de dependências com o Axis é grande.</p>
<p>Na prática, eu só utilizaria o Axis 2 (e mesmo assim com má vontade) para desenvolver serviços se fosse numa estrutura como o <a href="http://wso2.org/projects/wsas/java" target="_blank">WSO2 Web Services Application Server</a>, que é um servidor de aplicações &#8220;dedicado&#8221; a serviços Axis.</p>
<p>O Apache CXF oferece um &#8220;front-end&#8221; com JAX-WS (que é o mais recomendado) e um &#8220;front-end&#8221; alternativo, que usa o Aegis Databinding. Por enquanto olhei apenas o front-end com JAX-WS, mas não vi nenhuma vantagem em utilizar o CXF em vez da implementação de referência presente no <a href="https://glassfish.dev.java.net/" target="_blank">Glassfish</a>. Se pintar disposição eu darei uma olhada no front-end com Aegis Databinding, mas por enquanto não tenho grandes expectativas em relação a ele não.</p>
<p>Para finalizar, fiz muitos experimentos com a implementação de referência do JAX-WS, embutido no Glassfish V2. A forma de trabalho que achei mais produtiva nestes meus testes foi desenvolvendo com JAX-WS no <a href="http://www.netbeans.org" target="_blank">Netbeans</a> (utilizei a versão 6.5).</p>
<p>Tentei desenvolver a partir de classes Java, e a partir do <a href="http://www.w3.org/TR/wsdl" target="_blank">WSDL</a>, e esta última me trouxe melhores resultados.A melhor forma que achei foi começar desenhando os schemas XML com o editor do Netbeans:</p>
<p><a href="http://brunopereira.org/wp-content/uploads/2008/12/xml_schema_editor.jpg"><img class="alignnone size-full wp-image-263" title="xml_schema_editor" src="http://brunopereira.org/wp-content/uploads/2008/12/xml_schema_editor.jpg" alt="" width="471" height="586" /></a></p>
<p>Criei um Complex Type para cada classe de domínio, e 1 Complex Type para o Request de cada operação e 1 Complex Type para o Response de cada operação. Tendo feito isso, criei depois 1 Element para o Request de cada operação e 1 Element para o Response de cada operação. Com o schema XML criado dessa forma, criei em seguida o WSDL, com o editor do Netbeans também:</p>
<p><a href="http://brunopereira.org/wp-content/uploads/2008/12/wsdl_editor.jpg"><img class="alignnone size-full wp-image-264" title="wsdl_editor" src="http://brunopereira.org/wp-content/uploads/2008/12/wsdl_editor.jpg" alt="" width="418" height="702" /></a></p>
<p>Na criação do WSDL, coloquei nas mensagens de Request/Response das operações os <strong><em>Elementos</em></strong> declarados no schema XML anterior. É importante prestar atenção nisso. Usando Elementos nas mensagens, você está criando serviços no modelo <em><strong>Document/Literal</strong></em>. Se você colocar nas mensagens um <em><strong>Complex Type</strong></em> diretamente, em vez de colocar um <em><strong>Elemento</strong></em>, você estará criando um serviço no modelo <strong><em>RPC/Literal</em></strong>. Eu particularmente prefiro Document/Literal, e o código gerado pelo JAX-WS neste modelo me agrada mais.</p>
<p>A implementação do serviço com JAX-WS ficou parecida com isso aqui:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">org.brunopereira.cadastro</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javax.jws.WebService</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.brunopereira.schema.cadastroclientes.CadastroClienteRequestType</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.brunopereira.schema.cadastroclientes.CadastroClienteResponseType</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.brunopereira.schema.cadastroclientes.Cliente</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">org.brunopereira.wsdl.cadastrocliente.CadastroClientePortType</span><span style="color: #339933;">;</span>
&nbsp;
@WebService<span style="color: #009900;">&#40;</span>serviceName <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;CadastroClienteService&quot;</span>, portName <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;CadastroClientePort&quot;</span>,
endpointInterface <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;org.brunopereira.wsdl.cadastrocliente.CadastroClientePortType&quot;</span>,
targetNamespace <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://brunopereira.org/wsdl/CadastroCliente&quot;</span>,
wsdlLocation <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;WEB-INF/wsdl/CadastroCliente/CadastroCliente.wsdl&quot;</span><span style="color: #009900;">&#41;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> CadastroCliente <span style="color: #000000; font-weight: bold;">implements</span> CadastroClientePortType <span style="color: #009900;">&#123;</span>
<span style="color: #000000; font-weight: bold;">public</span> CadastroClienteResponseType cadastrarCliente<span style="color: #009900;">&#40;</span>CadastroClienteRequestType request<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Cadastro de cliente foi invocado!! Será feito o roteamento para o serviço adequado!!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
Cliente cliente <span style="color: #339933;">=</span> request.<span style="color: #006633;">getCliente</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
CadastroClienteResponseType response <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> CadastroClienteResponseType<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
response.<span style="color: #006633;">setCliente</span><span style="color: #009900;">&#40;</span>cliente<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">return</span> response<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>O código do cliente foi gerado bem facilmente a partir do WSDL também, e ficou bem limpo. O que achei bem fraco foi a parte de teste dos serviços tanto no Netbeans como no Eclipse. No Eclipse você só consegue usar os plugins de teste se você tiver desenvolvido os serviços dentro do Eclipse, o que inviabilizou o meu uso. E o Netbeans tem um suporte que só serve pra HelloWorld, pra aqueles serviços de Calculadora, que você passa uns parâmetros primitivos e recebe um resultado simples. A interface do testador do meu serviço ficou dessa forma:<br />
<a href="http://brunopereira.org/wp-content/uploads/2008/12/web_services_tester.jpg"><img class="alignnone size-full wp-image-265" title="web_services_tester" src="http://brunopereira.org/wp-content/uploads/2008/12/web_services_tester.jpg" alt="" width="800" height="500" /></a></p>
<p>Dá pra ver que não serve para nada além de um HelloWorld basicão.</p>
<p>Bom, de uma maneira geral, o suporte a Web Services no Netbeans é muito melhor do que no Eclipse, que pra piorar só suporta a criação de serviços com o Axis. Até agora a maneira mais produtiva que encontrei de trabalhar com serviços SOAP foi essa que descrevi. Nos próximos dias olharei o que tem de interessante no projeto Metro e no JBoss ESB. Se encontrar coisas interessantes falarei mais por aqui. Ah, e se alguém tiver dicas para melhorar esta forma de trabalho que descrevi, por favor me avisem, pois estou avaliando muita coisa e não dá tempo de dedicar tanto tempo a cada opção dessas.</p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2008/12/08/a-procura-de-uma-maneira-produtiva-de-trabalhar-com-web-services-soap/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>m2eclipse is the most unstable Eclipse plugin I&#8217;ve ever used</title>
		<link>http://brunopereira.org/2008/11/16/m2eclipse-is-the-most-unstable-eclipse-plugin-ive-ever-used/</link>
		<comments>http://brunopereira.org/2008/11/16/m2eclipse-is-the-most-unstable-eclipse-plugin-ive-ever-used/#comments</comments>
		<pubDate>Mon, 17 Nov 2008 01:16:05 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[eclipse europa]]></category>
		<category><![CDATA[eclipse ganymede]]></category>
		<category><![CDATA[m2eclipse]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[pom]]></category>

		<guid isPermaLink="false">http://brunopereira.org/?p=257</guid>
		<description><![CDATA[I gave up using m2eclipse with Eclipse Ganymede. That&#8217;s not premature. I tried my best to figure out a way to use the plugin in a reliable way. However, that&#8217;s over now, I quit!
The plugin would be great and extremely useful if it worked. Really, I&#8217;d love to have this plugin as an everyday tool, [...]]]></description>
			<content:encoded><![CDATA[<p>I gave up using <a href="http://m2eclipse.codehaus.org/" target="_blank">m2eclipse</a> with <a href="http://www.eclipse.org/ganymede/" target="_blank">Eclipse Ganymede</a>. That&#8217;s not premature. I tried my best to figure out a way to use the plugin in a reliable way. However, that&#8217;s over now, I quit!</p>
<p>The plugin would be great and extremely useful if it worked. Really, I&#8217;d love to have this plugin as an everyday tool, helping me deliver software. It offers a very productive way to work with <a href="http://maven.apache.org" target="_blank">Maven</a> in <a href="http://www.eclipse.org" target="_blank">Eclipse</a>, except that it brakes Eclipse in such an unbearable way that I cannot afford to think about using it anymore.</p>
<p>Initially I was using m2eclipse with an external Maven installation, instead of the embedded one. With this setup, I was facing many (and I mean MANY) NullPointerExceptions doing some Maven stuff in the IDE. It was impossible to work with that much errors, so I tried using the embedded Maven installation.</p>
<p>Initially it seemed like I was gonna be able to work without problems, but I was wrong. Instead of all the NullPointerExceptions, now Eclipse itself would crash hard when I used the POM editor. Adding a dependency, adding a new build plugin. I was frequently having Eclipse crashes doing this stuff.</p>
<p>I first thought that it could be just an issue in the &#8220;graphical&#8221; POM editor, so I tried using the simple XML editor. The errors kept occuring, and I got mad.</p>
<p>I could live with this problem if my Eclipse crashed 2 or 3 times a day. I&#8217;d gladly restart it, and keep working. However, facing Eclipse crashes every 5-10 minutes can make you crazy before you deliver any piece of software.</p>
<p>I am a man of faith, so I&#8217;ll try using it with Eclipse Europa and with minimal features, to see if it hangs on. I use this setup at work, and although it doesn&#8217;t work perfectly, at least it stands a whole day without crashing.</p>
<p>Maven is such a widespread Java tool. It&#8217;s far from unanymous among developers, but it&#8217;s a very valuable tool for me. I think it deserves much better tooling support, so I hope this Ganymede mess is fixed someday. But maybe the Eclipse ecosystem got so complex that it&#8217;s becoming impossible to keep everything stable.</p>
<p>I&#8217;ve tried using Netbeans before, but I couldn&#8217;t be nearly as productive as I am with Eclipse. So please Eclipse, please don&#8217;t let me down!</p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2008/11/16/m2eclipse-is-the-most-unstable-eclipse-plugin-ive-ever-used/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Aniversário do CEJUG &#8211; Retrospectiva</title>
		<link>http://brunopereira.org/2008/09/20/aniversario-do-cejug-retrospectiva/</link>
		<comments>http://brunopereira.org/2008/09/20/aniversario-do-cejug-retrospectiva/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 23:00:58 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[eventos]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[viagem]]></category>
		<category><![CDATA[cejug]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[glassfish]]></category>
		<category><![CDATA[hudson]]></category>
		<category><![CDATA[kohsuke]]></category>
		<category><![CDATA[osgi]]></category>
		<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://brunopereira.org/?p=202</guid>
		<description><![CDATA[Como eu havia falado, esta terça-feira eu me apresentei no evento do aniversário do CEJUG.
Foi uma ocasião muito legal. Além de conhecer a rapaziada do grupo, eu também conheci a cidade de Fortaleza e já voltei para casa querendo retornar mais vezes ao Ceará. Do CEJUG eu conheci o Rafael Carneiro, Silveira,  Milfont, Tarso, Rafael [...]]]></description>
			<content:encoded><![CDATA[<p>Como <a href="http://brunopereira.org/2008/09/09/aniversario-do-cejug-6-anos/" target="_self">eu havia falado</a>, esta terça-feira eu me apresentei no <a href="http://www.cejug.org/pages/viewpage.action?pageId=30900360" target="_blank">evento do aniversário</a> do <a href="http://www.cejug.org" target="_blank">CEJUG</a>.</p>
<p>Foi uma ocasião muito legal. Além de conhecer a rapaziada do grupo, eu também conheci a cidade de Fortaleza e já voltei para casa querendo retornar mais vezes ao Ceará. Do CEJUG eu conheci o <a href="http://www.rafaelcarneiro.org" target="_blank">Rafael Carneiro</a>, <a href="http://silveiraneto.net/" target="_blank">Silveira</a>,  <a href="http://milfont.org/tech" target="_blank">Milfont</a>, <a href="http://osmachistas.blogspot.com/" target="_blank">Tarso</a>, <a href="http://www.rponte.com.br/" target="_blank">Rafael &#8220;Foquinha&#8221; Ponte</a>, <a href="http://www.handersonfrota.com.br/" target="_blank">Handerson</a>, <a href="http://www.igocoelho.com.br/" target="_blank">Igo</a>, <a href="http://renearaujo.blogspot.com/" target="_blank">René</a>, <a href="http://www.paulojdev.com.br/" target="_blank">Paulo</a>, Tales, Marum e mais alguns que eu esqueci o nome <img src='http://brunopereira.org/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Como eu já esperava o pessoal me recebeu muito bem e foi muito bacana conhecê-los pessoalmente. Além disso, já sou agora conhecedor de uma vasta gama de termos genuinamente cearenses <img src='http://brunopereira.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Diabéisso maxo!</p>
<p>Além de conhecer o pessoal do CEJUG, também tive a oportunidade de conhecer o <a href="http://weblogs.java.net/blog/maltron/" target="_blank">Maurício Leal</a> e o <a href="http://weblogs.java.net/blog/kohsuke/" target="_blank">Kohsuke</a>, ambos da <a href="http://www.sun.com" target="_blank">Sun</a>. Ambos são muito simpáticos e me passaram uma idéia legal de bastante coisa que está rolando na Sun.</p>
<p><a href="http://brunopereira.org/wp-content/uploads/2008/09/dsc03048.jpg"><img class="alignnone size-medium wp-image-203" title="Almoço" src="http://brunopereira.org/wp-content/uploads/2008/09/dsc03048-300x225.jpg" alt="Silveira, Kohsuke, Rafael, Eu e Maurício" width="300" height="225" /></a></p>
<p>O Kohsuke é também provavelmente o cara de mais prestígio técnico que já conheci, pois é nada menos que o criador do <a href="https://hudson.dev.java.net/" target="_blank">Hudson</a> e um dos principais responsáveis pelo <a href="https://jaxb.dev.java.net/" target="_blank">JAXB</a> e pelo <a href="https://glassfish.dev.java.net/" target="_blank">Glassfish</a> v3. Inclusive uma das coisas mais marcantes da participação dele no evento foi trazer a todos o desejo de conhecer melhor o Glassfish e acompanhar as grandes novidades prometidas para esta nova versão. Uma das coisas que mais me interessou é a arquitetura modular com o <a href="http://www.osgi.org/Main/HomePage" target="_blank">Osgi</a>. Eles estão apostando no Osgi junto com o <a href="http://www.eclipse.org" target="_blank">Eclipse</a>, e isto me trouxe a curiosidade de conhecer mais detalhes da tecnologia.</p>
<p>Bom, para destacar ainda mais a hospitalidade do pessoal, eles ainda me deram uma cesta recheada de ítens característicos cearenses. Gostei bastante dos presentes e quem quiser degustar a mais pura Ypioca aqui no Rio é só falar comigo <img src='http://brunopereira.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://brunopereira.org/wp-content/uploads/2008/09/dsc03123.jpg"><img class="alignnone size-medium wp-image-204" title="Cesta de presentes cearenses" src="http://brunopereira.org/wp-content/uploads/2008/09/dsc03123-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>O evento em si foi bem legal e ainda teve uma banda animando o intervalo. Os coitados deram o azar de tocar logo na hora que o povo foi correndo comer, mas quem ficou assistindo curtiu bastante <img src='http://brunopereira.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://brunopereira.org/wp-content/uploads/2008/09/banda_cejug.jpg"><img class="alignnone size-medium wp-image-205" title="Banda" src="http://brunopereira.org/wp-content/uploads/2008/09/banda_cejug-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>Depois das palestras, bastante gente foi na confraternização e a bagunça lá foi até depois de meia-noite.</p>
<p><a href="http://brunopereira.org/wp-content/uploads/2008/09/confraternizacao.jpg"><img class="alignnone size-medium wp-image-206" title="Confraternização" src="http://brunopereira.org/wp-content/uploads/2008/09/confraternizacao-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>Para finalizar, eu gostaria de agradecer a todo o pessoal da organização lá em Fortaleza e também ao <a href="http://weblogs.java.net/blog/felipegaucho/" target="_blank">Gaúcho</a> e ao <a href="http://planexstrategy.blogspot.com" target="_blank">Hildeberto</a> por fazerem um evento tão legal e continuamente levar o CEJUG às cabeças. Esse tipo de comunidade traz uma enorme força ao mercado de software nacional e seria excelente que tivéssemos outros grupos com tanta energia como o do Ceará. Agradeço muito pela oportunidade e deixo meus parabéns à comunidade de software cearense!</p>
<p><a href="http://brunopereira.org/wp-content/uploads/2008/09/organizacao.jpg"><img class="alignnone size-medium wp-image-207" title="Organização" src="http://brunopereira.org/wp-content/uploads/2008/09/organizacao-300x225.jpg" alt="" width="300" height="225" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2008/09/20/aniversario-do-cejug-retrospectiva/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Netbeans growing stronger</title>
		<link>http://brunopereira.org/2008/05/12/netbeans-growing-stronger/</link>
		<comments>http://brunopereira.org/2008/05/12/netbeans-growing-stronger/#comments</comments>
		<pubDate>Tue, 13 May 2008 01:07:01 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[eclipse ganymede]]></category>
		<category><![CDATA[ganymede]]></category>
		<category><![CDATA[grails]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[jersey]]></category>
		<category><![CDATA[jruby]]></category>
		<category><![CDATA[jruby on rails]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rest]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[swing]]></category>

		<guid isPermaLink="false">http://blpsilva.wordpress.com/?p=178</guid>
		<description><![CDATA[During several years I&#8217;ve been a pretty happy Eclipse user, rarely feeling the need to use anything else. We know there are plugins for many many things, and a lot of development tools are Eclipse-based right now. The editor is awesome, and so are the refactoring tools. The support for web app development is also [...]]]></description>
			<content:encoded><![CDATA[<p>During several years I&#8217;ve been a pretty happy <a href="http://www.eclipse.org" target="_blank">Eclipse</a> user, rarely feeling the need to use anything else. We know there are plugins for many many things, and a lot of development tools are Eclipse-based right now. The editor is awesome, and so are the refactoring tools. The support for web app development is also very nice. Eclipse supports a wide set of frameworks and technologies, and it&#8217;s not only aimed at Java development.</p>
<p>Why would someone even look at anything else, having such a great tool? Well, it turns out that our field is evolving really fast, and it&#8217;s very hard to follow this current pace, even for the most dedicated and passionate ones. Currently there are several technologies evolving very fast, and they are meaningful to a lot of enterprise developers. The rise of the JVM&#8217;s dynamic languages is crystal clear. Strong is also the growth of <a href="http://en.wikipedia.org/wiki/REST" target="_blank">RESTFul</a> web services. I&#8217;m personally very interested in both fields.</p>
<p>I&#8217;m currently using REST (lately with <a href="http://jersey.dev.java.net" target="_blank">Jersey</a>) for a lot of integrations between applications. The power it gives me is really nice, and I&#8217;m improving my developments each new month. I have also studied <a href="http://groovy.codehaus.org/" target="_blank">Groovy</a>/<a href="http://grails.codehaus.org/" target="_blank">Grails</a> recently and really liked it. I wanna try <a href="http://jruby.codehaus.org/" target="_blank">JRuby</a> <a href="http://www.rubyonrails.org/" target="_blank">on Rails</a> sometime in the next weeks, to see what it offers and check how it compares to Grails. If you&#8217;re a Java enterprise developer, I&#8217;m sure you&#8217;re following the growth of these nitty things.</p>
<p>But where does <a href="http://www.netbeans.org" target="_blank">Netbeans</a> enter this talk? Well, Netbeans is doing a great job supporting these new technologies, and it&#8217;s way ahead of Eclipse in this field right now. Have you seen how easily you can develop RESTFul web services with Netbeans 6.1? Jersey support is great, very productive. The support for JRuby on Rails and Grails is also present, in a much more advanced state than Eclipse&#8217;s. Netbeans is doing a much better job than Eclipse regarding Web Services and JVM languages right now.</p>
<p>Swing development in Netbeans is very nice since version 5.0 (with the release of <a href="http://www.netbeans.org/kb/articles/matisse.html" target="_blank">Matisse</a>), and developing for mobile devices is also easier in Netbeans. Currently I don&#8217;t develop swing nor mobile applications, so this doesn&#8217;t really affect me.</p>
<p>However, I develop many RESTFul web services. And I wanna use more and more the JVM&#8217;s dynamic languages. Ignoring Netbeans is not a clever idea right now.</p>
<p>I still find Eclipse&#8217;s interface and editor much better than Netbeans&#8217;s. I also know a lot of Eclipse&#8217;s shortcuts and know very few in Netbeans. <a href="http://www.eclipse.org/swt/" target="_blank">SWT</a> is also faster than <a href="http://en.wikipedia.org/wiki/Swing_(Java)" target="_blank">Swing</a>, so Eclipse is faster than Netbeans. But considering what I said, I&#8217;m leaning towards the use of both IDEs at the same time. Since our machines are now much better equipped with RAM, I can have them open at the same time and also a couple of servers, with no memory shortage.</p>
<p>My Eclipse days are definitely not over, but now he&#8217;s gonna divide my attention with Netbeans <img src='http://brunopereira.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   I hope I can become as productive with Netbeans as I am with Eclipse, even if it takes a few weeks. My first wish would be the Eclipse&#8217;s Quick Fix (Ctrl + 1) avaiable in Netbeans. Even without it, I&#8217;m sure my usage of Netbeans will certainly grow, and think this competition between the IDEs is very good for us. Let <a href="http://wiki.eclipse.org/Ganymede" target="_blank">Eclipse Ganymede</a> come!</p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2008/05/12/netbeans-growing-stronger/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Melhorando a aparência do Eclipse no Linux</title>
		<link>http://brunopereira.org/2008/01/18/melhorando-a-aparencia-do-eclipse-no-linux/</link>
		<comments>http://brunopereira.org/2008/01/18/melhorando-a-aparencia-do-eclipse-no-linux/#comments</comments>
		<pubDate>Fri, 18 Jan 2008 11:16:03 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[eclipse appearance]]></category>
		<category><![CDATA[eclipse fonts linux]]></category>
		<category><![CDATA[eclipse linux]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blpsilva.wordpress.com/2008/01/18/melhorando-a-aparencia-do-eclipse-no-linux/</guid>
		<description><![CDATA[Eu já há um bom tempo utilizo o Linux como ambiente de trabalho em casa, e felizmente, há mais de 6 meses já tenho o prazer de usar Linux aqui na Globo.com também. Uma das coisas que me incomodava um pouco quando comecei a usar o Eclipse no Linux era a aparência do mesmo. O [...]]]></description>
			<content:encoded><![CDATA[<p>Eu já há um bom tempo utilizo o Linux como ambiente de trabalho em casa, e felizmente, há mais de 6 meses já tenho o prazer de usar Linux aqui na Globo.com também. Uma das coisas que me incomodava um pouco quando comecei a usar o Eclipse no Linux era a aparência do mesmo. O Eclipse por default no Linux não fica com uma interface muito legal, dependendo das fontes que você esteja usando no seu ambiente gráfico.Já há bastante tempo eu utilizo como a Tahoma tamanho 9 como fonte principal no KDE e também no Eclipse. Esta fonte me agrada bastante e com ela eu considero bem mais agradável o uso do Eclipse, comparando com as fontes padrão que vêm configuradas no Linux. Esta semana saiu um post no <a href="http://in.relation.to/Bloggers/MakingEclipseLookGoodOnLinuxRevisited" target="_blank">Planet Eclipse</a> falando deste mesmo assunto, e eles mostraram uma configuração de fonte que o pessoal do JBoss utiliza para trabalhar.</p>
<p>Eu baixei as fontes <a href="https://www.redhat.com/promo/fonts/" title="Donwload das fontes Liberation" target="_blank">Liberation</a> que eles usam e fiz um teste aqui para ver se gostava ou não da aparência. Realmente essa fonte que eles usam é bem legal, e eu cheguei a ficar em dúvida se mantinha a Tahoma ou se mudava para <a href="https://www.redhat.com/promo/fonts/" target="_blank">Liberation</a>. Claro que esta é uma decisão de gosto pessoal, cada um tem suas preferências, e eu por enquanto estou mantendo Tahoma, pois já estou bastante acostumado e satisfeito com ela.</p>
<p>Para que vocês possam ver a diferença, seguem abaixo dois screenshots do Eclipse rodando aqui no Kubuntu, o primeiro delas com o uso da Tahoma 9 como fonte do Eclipse e fonte do editor Java e o segundo com o uso da Liberation Sans tamanho 10 (o tamanho 9 aqui estava com a largura estranha para algumas letras).</p>
<p><a href="http://brunopereira.org/wp-content/uploads/2008/01/eclipse_tahoma.jpg" title="Eclipse com fontes Tahoma 9"><img src="http://blpsilva.files.wordpress.com/2008/01/eclipse_tahoma.thumbnail.jpg" alt="Eclipse com fontes Tahoma 9" /></a></p>
<p><a href="http://brunopereira.org/wp-content/uploads/2008/01/eclipse_liberation.jpg" title="Eclipse com fontes Liberation Sans 10"><img src="http://blpsilva.files.wordpress.com/2008/01/eclipse_liberation.thumbnail.jpg" alt="Eclipse com fontes Liberation Sans 10" /></a></p>
<p>E aí, de qual vocês gostaram mais?? Eu não consigo me decidir sobre qual fica mais interessante pra mim, então estou mantendo o time vencedor com Tahoma. <img src='http://brunopereira.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>OBS: A renderização das fontes varia de um sistema operacional pro outro, e no Eclipse no Windows eu não gosto da aparência da fonte Tahoma, e mantenho as configurações de fontes padrão do Eclipse no Windows, pois elas são satisfatórias pra mim (e afinal de contas, eu quase não uso Windows, não faz muita diferença&#8230; hehehe).</p>
<p>Update: Para melhorar MUITO o espaçamento das linhas no package explorer, navigator e outras views estilo Árvore, recomendo a criação do arquivo .gtkrc-2.0 no seu diretório home, com o seguinte conteúdo (experimente este conteúdo primeiro, e então modifique o que achar interessante) :<br />
<code><br />
style "gtkcompact" {<br />
font_name="Sans 8"<br />
GtkButton::default_border={0,0,0,0}<br />
GtkButton::default_outside_border={0,0,0,0}<br />
GtkButtonBox::child_min_width=0<br />
GtkButtonBox::child_min_heigth=0<br />
GtkButtonBox::child_internal_pad_x=0<br />
GtkButtonBox::child_internal_pad_y=0<br />
GtkMenu::vertical-padding=1<br />
GtkMenuBar::internal_padding=0<br />
GtkMenuItem::horizontal_padding=4<br />
GtkToolbar::internal-padding=0<br />
GtkToolbar::space-size=0<br />
GtkOptionMenu::indicator_size=0<br />
GtkOptionMenu::indicator_spacing=0<br />
GtkPaned::handle_size=4<br />
GtkRange::trough_border=0<br />
GtkRange::stepper_spacing=0<br />
GtkScale::value_spacing=0<br />
GtkScrolledWindow::scrollbar_spacing=0<br />
GtkExpander::expander_size=10<br />
GtkExpander::expander_spacing=0<br />
GtkTreeView::vertical-separator=0<br />
GtkTreeView::horizontal-separator=0<br />
GtkTreeView::expander-size=8<br />
GtkTreeView::fixed-height-mode=TRUE<br />
GtkWidget::focus_padding=0<br />
}<br />
class "GtkWidget" style "gtkcompact"<br />
style "gtkcompactextra" {<br />
xthickness=0<br />
ythickness=0<br />
}<br />
class "GtkButton" style "gtkcompactextra"<br />
class "GtkToolbar" style "gtkcompactextra"<br />
class "GtkPaned" style "gtkcompactextra"<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2008/01/18/melhorando-a-aparencia-do-eclipse-no-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Java Server Faces x Wicket: great framework of old paradigm vs new paradigm</title>
		<link>http://brunopereira.org/2008/01/16/java-server-faces-x-wicket-great-framework-of-old-paradigm-vs-new-paradigm/</link>
		<comments>http://brunopereira.org/2008/01/16/java-server-faces-x-wicket-great-framework-of-old-paradigm-vs-new-paradigm/#comments</comments>
		<pubDate>Wed, 16 Jan 2008 02:27:15 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[apache wicket]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java server faces]]></category>
		<category><![CDATA[java web frameworks]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[jsf]]></category>
		<category><![CDATA[struts]]></category>
		<category><![CDATA[taglibs]]></category>
		<category><![CDATA[wicket]]></category>

		<guid isPermaLink="false">http://blpsilva.wordpress.com/2008/01/16/java-server-faces-x-wicket-great-framework-of-old-paradigm-vs-new-paradigm/</guid>
		<description><![CDATA[Just beginning 2008, I went to a new area, new team at Globo.com. There are several promising projects for this year, and this team switch will make it easier for me to properly evaluate and judge what I consider the 2 leading Java web frameworks nowadays.Like I said here, on my spare time I (try [...]]]></description>
			<content:encoded><![CDATA[<p>Just beginning 2008, I went to a new area, new team at <a href="http://www.globo.com" target="_blank">Globo.com</a>. There are several promising projects for this year, and this team switch will make it easier for me to properly evaluate and judge what I consider the 2 leading Java web frameworks nowadays.Like I said <a href="http://brunopereira.org/2007/11/28/dvogadocom-aprovado-no-javanet/" target="_blank">here</a>, on my spare time I (try to) develop a lawyer application which uses <a href="http://wicket.apache.org" target="_blank">Apache Wicket</a> as its web framework. One of the projects I&#8217;m now working at Globo.com uses Java Server Faces. This should be a great opportunity to finally go deeply on both frameworks and see in which cases each one is better than the other. Based on what i have already studied and used of both, i do have some opinions that may or may not change several months from now.</p>
<p>First, a little background. When i was studying to pass the <a href="http://www.sun.com/training/certification/java/scwcd.xml" target="_blank">SCWCD</a> exam, I saw enough of tag libraries to get really sick of them <img src='http://brunopereira.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  JSTL, Struts 1.x Taglib, Expression Language, etc etc etc. Every new taglib was a new syntax to learn, and the result of using taglibs to implement complex web pages is the famous tag soup. Not being a purist, although I don&#8217;t like scriptlets in general, I do think that in some cases they produce much cleaner code than the heavy use of taglibs.</p>
<p>Having said that, let&#8217;s start talking about JSF. Being a standard technology backed by Sun, and present on Java EE 5 specifications, you know that you&#8217;re gonna find plenty of support by development tools, many examples on the web and an already mature community of users to help you. JSF offers a huge set of components ready to use, and many of them are very pretty and easy to use. In my case, we&#8217;re using JBoss Tools + Rich Faces, and the Eclipse plugins avaiable here are just awesome.</p>
<p>Most of the web applications I have worked until now used Struts 1.x, and although Struts is by far the most successful Java web framework til now, developing with JSF is reasonably easier and more pleasant. However, even considering the clear evolution of JSF over Struts 1.x, I still qualify both within the same paradigm. That is, both have a massive dose of non-markup code in their views, and if you&#8217;re gonna work with them, you better have your spoon ready to dig into the tag soup <img src='http://brunopereira.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Ok, ok, JSF offers very nice components and manages a lot of the work that was left to the developer in the old times, such as managing the application state and offering a beautiful presentation layer without requiring the direct manipulation of javascript. But you&#8217;re still going to have your view layer full of taglibs, coding in a special syntax (the custom tags syntax) that will make it tough to track for problems when they happen within the tag soup. You better have a magical spoon to manipulate it <img src='http://brunopereira.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Rather new in the Java web frameworks field is the very innovative Apache Wicket project. Wicket allows Java programmers to focus on what they do best: write Java code. No taglibs, how refreshing! <img src='http://brunopereira.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Wicket also uses componentized development, and it isolates the view from your model in the best manner I have seen til now in Java frameworks. It does not seem so intuitive in the beginning, because you code for a web application in a similar way as you would code a Swing application. Specifically the component&#8217;s event handling code in Wicket reminds me a lot of the approach used in Swing applications.</p>
<p>Being a new framework that went out of the Apache incubation just several months ago, you can&#8217;t expect great tooling support at this point. Drag and drop tools to design screens? Forget about it! Component options similar to JSF ones? You&#8217;re not gonna find it either. However, Wicket has a very active community and it&#8217;s evolving fast. The second book on Wicket will be avaiable in a few months and the number of users and successful implementations is growing steadily. The set of avaiable components is growing and it&#8217;s becoming much easier to find support in their forums.</p>
<p>As I said, I&#8217;m far from an expert in both frameworks, and I hope this year I&#8217;ll have a long enough exposure to them and probably in a few months I&#8217;ll have more valuable opinions. Something I think about is that perhaps knowing Wicket and JSF well can be really useful, because it doesn&#8217;t seem like we have a &#8220;one size fits all&#8221; choice here. Wicket seems great for a company to base its developments and have good and maintainable code that will be easy to build over for several years. JSF certainly can offer that too, but i find it tough to consider taglib code as easy to maintain. However, JSF offers such great components that even a Java developer like me with no talent to create good looking pages is able to generate a very decent user interface.</p>
<p>I&#8217;ll confess I have a natural preference for Wicket since the beginning, but I promise I&#8217;ll try to evaluate these 2 options without any passion during this year and later this year I&#8217;ll post again telling my conclusions (if any) <img src='http://brunopereira.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2008/01/16/java-server-faces-x-wicket-great-framework-of-old-paradigm-vs-new-paradigm/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mylyn Trac Connector: accessing web task editor on Linux</title>
		<link>http://brunopereira.org/2008/01/13/mylyn-trac-connector-accessing-web-task-editor-on-linux/</link>
		<comments>http://brunopereira.org/2008/01/13/mylyn-trac-connector-accessing-web-task-editor-on-linux/#comments</comments>
		<pubDate>Sun, 13 Jan 2008 15:06:03 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[mylyn]]></category>
		<category><![CDATA[mylyn-trac]]></category>
		<category><![CDATA[mylyn-trac-connector]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[trac]]></category>
		<category><![CDATA[xulrunner]]></category>

		<guid isPermaLink="false">http://blpsilva.wordpress.com/2008/01/13/mylyn-trac-connector-accessing-web-task-editor-on-linux/</guid>
		<description><![CDATA[My friend Bairos provides me a Subversion repository and a Trac server, and I use both for personal projects.In my job, our issue tracker is JIRA, and I&#8217;m using it with Mylyn for several months. However, just recently i started using Mylyn with Trac, in a project I&#8217;m developing at home. The Trac server I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>My friend <a href="http://neobject.wordpress.com" target="_blank">Bairos</a> provides me a Subversion repository and a <a href="http://trac.edgewall.org/" target="_blank">Trac</a> server, and I use both for personal projects.In my job, our issue tracker is JIRA, and I&#8217;m using it with <a href="http://www.eclipse.org/mylyn" target="_blank">Mylyn</a> for several months. However, just recently i started using Mylyn with Trac, in a project I&#8217;m developing at home. The Trac server I&#8217;m using doesn&#8217;t have the XmlRpc plugin, so I&#8217;m not able to use Mylyn&#8217;s rich task editor with this server, and I faced some problems using the web task editor inside Eclipse on Linux.</p>
<p>Every time i tried to open the task editor, i was getting the following error message: &#8220;Could not create Browser page: XPCOM error -2147221164&#8243;. I&#8217;m not going to detail my analysis of this error, but I was able to fix it installing the packages <b>xulrunner</b> and <b>xulrunner-gnome-support</b> (I&#8217;m not sure if both are needed, though).</p>
<p>From my google searches, I could see that this error happens with a lot of applications on Linux, so probably several people using the Trac Connector with the web task editor on Linux faced the same problem. I hope this tip can help.</p>
<p>Just for the records, my environment here is: MEPIS Linux 7.0, Eclipse 3.3.1 with WTP, JDK 1.6.0_03 32 bits, Mylyn 2.2 and Trac 0.10.4</p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2008/01/13/mylyn-trac-connector-accessing-web-task-editor-on-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Problema de acesso ao Subversion resolvido</title>
		<link>http://brunopereira.org/2008/01/13/problema-de-acesso-ao-subversion-resolvido/</link>
		<comments>http://brunopereira.org/2008/01/13/problema-de-acesso-ao-subversion-resolvido/#comments</comments>
		<pubDate>Sun, 13 Jan 2008 12:08:36 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[posts em português]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[kubuntu]]></category>
		<category><![CDATA[mepis]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://blpsilva.wordpress.com/2008/01/13/problema-de-acesso-ao-subversion-resolvido/</guid>
		<description><![CDATA[Eu estava com um problema bem chato aqui no meu notebook. Eu utilizo em projetos pessoais o servidor Subversion do Bairos, e eu não estava conseguindo conectar lá a partir do note. Nas primeiras vezes em que isto ocorreu, era um fim de semana e eu achei que o servidor dele estava fora do ar, [...]]]></description>
			<content:encoded><![CDATA[<p>Eu estava com um problema bem chato aqui no meu notebook. Eu utilizo em projetos pessoais o servidor Subversion do <a href="http://neobject.wordpress.com/" target="_blank">Bairos</a>, e eu não estava conseguindo conectar lá a partir do note. Nas primeiras vezes em que isto ocorreu, era um fim de semana e eu achei que o servidor dele estava fora do ar, pois as tentativas de conexão estavam dando timeout.Após verificar com ele que o servidor estava ligado direto, cheguei a pensar que meu plugin do SVN no Eclipse (<a href="http://subclipse.tigris.org/" target="_blank">Subclipse</a>) estava com algum problema. Tentei reinstalar o plugin e fiz até testes com o Subversive também. Nada funcionava.  Eu estava achando muito estranho, pois do trabalho eu estava conseguindo acessar o servidor normalmente, com as mesmas configurações do plugin.</p>
<p>Hoje por sorte eu instalei o Limewire aqui no note, e apareceu uma mensagem dizendo que o software havia detectado um firewall na minha rede. Pronto, desconfiei na hora que este era o problema do meu acesso ao servidor. Como estou usando o <a href="http://www.mepis.org" target="_blank">MEPIS</a> no note em vez do habitual <a href="http://www.kubuntu.org" target="_blank">Kubuntu</a>, logo imaginei que as configurações padrão do firewall são diferentes entre as 2 distribuições.</p>
<p>O MEPIS oferece um software chamado Guarddog para gerenciar as regras do iptables, e acessando o mesmo eu pude ver que o tráfego TCP pela porta 81 (utilizada pelo servidor SVN do Bairos)  não estava liberado. Criei uma nova regra, liberando explicitamente o tráfego TCP pela porta 81 e pronto, imediatamente consegui me conectar ao Subversion <img src='http://brunopereira.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Segue abaixo a imagem com a interface do Guarddog, que utilizei para definir a minha nova regra do firewall.</p>
<p><a href="http://brunopereira.org/wp-content/uploads/2008/01/guarddog.jpg" title="guarddog.jpg"><img src="http://blpsilva.files.wordpress.com/2008/01/guarddog.thumbnail.jpg" alt="guarddog.jpg" /></a></p>
<p>Como eu havia falado: nova distribuição, novos aprendizados. Agora já conheço um software bem amigável para gerenciar o iptables <img src='http://brunopereira.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2008/01/13/problema-de-acesso-ao-subversion-resolvido/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Entrevista com Robert Elves, do projeto Mylyn</title>
		<link>http://brunopereira.org/2008/01/07/entrevista-com-robert-elves-do-projeto-mylyn/</link>
		<comments>http://brunopereira.org/2008/01/07/entrevista-com-robert-elves-do-projeto-mylyn/#comments</comments>
		<pubDate>Tue, 08 Jan 2008 01:14:44 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[posts em português]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[eclipse mylyn]]></category>
		<category><![CDATA[gail murphy]]></category>
		<category><![CDATA[mik kersten]]></category>
		<category><![CDATA[mylyn]]></category>
		<category><![CDATA[robert elves]]></category>
		<category><![CDATA[tasktop]]></category>

		<guid isPermaLink="false">http://blpsilva.wordpress.com/2008/01/07/entrevista-com-robert-elves-do-projeto-mylyn/</guid>
		<description><![CDATA[Nesta entrevista, falarei com Robert Elves, um dos principais committers do projeto Mylyn. Robert é uma peça chave no desenvolvimento do Mylyn e do Tasktop, e nós falaremos sobre estes projetos, Eclipse, processo de desenvolvimento de software e open source software. Vamos começar!
Bruno Pereira: Robert, como começou o seu envolvimento com o projeto Mylyn? Você [...]]]></description>
			<content:encoded><![CDATA[<p>Nesta entrevista, falarei com Robert Elves, um dos principais committers do projeto <a href="http://www.eclipse.org/mylyn" target="_blank">Mylyn</a>. Robert é uma peça chave no desenvolvimento do Mylyn e do <a href="http://tasktop.com" target="_blank">Tasktop</a>, e nós falaremos sobre estes projetos, Eclipse, processo de desenvolvimento de software e open source software. Vamos começar!<b></b></p>
<p><b>Bruno Pereira:</b> Robert, como começou o seu envolvimento com o projeto Mylyn? Você tinha alguma experiência prévia com desenvolvimento de plugins do <a href="http://www.eclipse.org" target="_blank">Eclipse</a>?</p>
<p><b>Robert Elves:</b> Meu caminho no Mylyn começou como um estudante de graduação no laboratório <a href="http://www.thechiselgroup.org" target="_blank">CHISEL</a> na Universidade de Victoria. Eu estava pesquisando sobre locomoção em espaços de informação com foco em ajudar desenvolvedores de software. Durante este período eu desenvolvi o protótipo de um plugin para o Eclipse chamado NavTracks que utilizava o histórico de navegação de um editor para recomendar arquivos relacionados com o arquivo atualmente sendo editado.</p>
<p>Por volta desta época eu conheci <a href="http://www.cs.ubc.ca/~murphy/" target="_blank">Gail Murphy</a> e <a href="http://kerstens.org/mik/" target="_blank">Mik Kersten</a> e aprendi o que era então o projeto Mylar, atualmente Mylyn. Logo após a graduação eu me juntei a eles no <a href="http://www.cs.ubc.ca/labs/spl/" target="_blank">Laboratório de Práticas de Software</a> na Universidade da Columbia Britânica para trabalhar no Mylyn.</p>
<p><b>BP:</b> O Mylyn 1.0 foi lançado independentemente de outros projetos. Entretanto, a versão 2.0 foi parte do enorme lançamento do Eclipse Europa. Você poderia descrever esta experiência? Como este processo foi coordenado de forma que fosse possível que múltiplos projetos lançassem novas versões ao mesmo tempo e tudo se mantivesse compatível?</p>
<p><b>RE:</b> Com o lançamento da versão 1.0 do Mylyn nós já podíamos ver as estatísticas de download crescer na ordem de dezenas de milhares por mês, e uma forte comunidade de usuários se formando em torno do projeto. Centenas de notificações de bugs nos ajudaram a amadurecer o Mylyn até um ponto em que ficou fácil o bastante para programadores que utilizam o Eclipse adotarem esta nova maneira de trabalhar com foco em tarefas. Nesta mesma época, o projeto de empacotamento do Eclipse nos contactou pedindo que incluíssemos o Mylyn nos downloads padrão do Eclipse.</p>
<p>Nós decidimos que a tecnologia estava pronta, concordamos com o pedido e desde então o Mylyn está disponível para todos os desenvolvedores que baixem o Eclipse Europa. Para participar da versão Europa, os projetos devem atender alguns padrões de maturidade. Por exemplo, nós tivemos que nos provar capazes de gerenciar um site de atualizações, lidar com a agenda de lançamentos e manter um contrato de API. Os requisitos para a próxima versão do Eclipse (chamada Ganymede) estão descritas <a href="http://wiki.eclipse.org/index.php/Ganymede_Simultaneous_Release#Must_Do" target="_blank">aqui</a>.</p>
<p>Mik liderou o projeto Mylyn para o cumprimento destes requisitos na versão Europa. Nós adotamos a disciplina necessária para atender aos marcos de lançamento simultâneos trabalhando ao mesmo tempo em ritmo frenético para atingir os objetivos de performance e usabilidade. Neste mesmo período, conseguimos realizar a mudança de nome do projeto de Mylar para Mylyn (que implicou na mudança de nome de todos os pacotes Java do projeto) e revisamos e aceitamos numerosos patches contribuídos pela comunidade. Os projetos foram coordenados com muita comunicação através de wiki e listas de discussão inter-projetos. Para resumir, esta experiência foi como estar dentro de um redemoinho e nós estamos ansiosos para mais diversões na versão Ganymede!</p>
<p><b>BP:</b> De tempos em tempos eu fico impressionado com o aumento do alcance e escopo do Eclipse. Eu considero o projeto Eclipse um fantástico exemplo de como construir software. Com seu excelente modelo de componentes, ele oferece uma plataforma muito boa para se construir em cima. Como o Mylyn faz ótimo uso deste modelo de componentes, eu gostaria de saber das suas opiniões sobre isto.</p>
<p><b>RE:</b> Na minha opinião, e tenho certeza de que o Mik concorda, <a href="http://www.eclipse.org/equinox/" target="_blank">Equinox</a> e <a href="http://www.osgi.org/" target="_blank">OSGi</a> facilitam que desenvolvedores construam melhores sistemas de software. O framework nos dá um mecanismo de explicitamente separar o domínio do problema em plugins flexíveis que colaboram entre si. Você ganha deployment e carregamento sob demanda dos seus componentes praticamente de graça! Sem esta flexibilidade e plugabilidade, o Mylyn não existiria, pois não poderíamos plugar ao núcleo do Eclipse as funcionalidades que a interface focada em tarefas precisa estender. O Mylyn contribui e usa alguns pontos de extensão que permitem que muitas das visões padrão do Eclipse como Package Explorer e Synchronize passem a utilizar foco.  Eu ainda não vi uma plataforma de ferramentas tão flexível como o Eclipse, e o Equinox/OSGi tem sido um incrível framework para se trabalhar.</p>
<p><b>BP:</b> O Mylyn tem crescido e visto sua adoção por parte dos usuários do Eclipse aumentar constantemente. Junto com esta adoção, muitos bugs e solicitações de melhorias foram abertos e solucionados. Como vocês selecionam entre estas requisições o que vai entrar em cada versão?</p>
<p><b>RE:</b> Desde a versão Europa, nós temos verificado crescente atividade na comunidade do Mylyn, incluindo mais notificações de bugs e solicitações de melhorias. Cada notificação de bug é revisada por um committer do Mylyn. É importante para nós responder em um tempo curto, pois cada solicitação representa uma aresta a ser aparada ou uma nova melhoria. Tendo dito isto, são apenas 4 committers no projeto, então nós precisamos fazer uma triagem com base nos pedidos da comunidade e também analisando como cada requisição se encaixa no plano geral (ver plano do Mylyn 3.0 <a href="http://wiki.eclipse.org/index.php/Mylyn_3.0_Plan" target="_blank">aqui</a>).</p>
<p><b>BP:</b> Aqui no Brasil estamos vendo mais e mais empresas começando a abraçar metodologias e práticas ágeis de desenvolvimento, provavelmente com o <a href="http://www.scrumalliance.org/" target="_blank">Scrum</a> liderando estas iniciativas. Eu gostaria que você descrevesse o processo de desenvolvimento de vocês e quão desafiador é fazer com que isso funcione tendo um time distribuído.</p>
<p><b>RE:</b> Ágil é certamente como eu descreveria o nosso time, embora nós não adotemos nenhuma metodologia em particular. Nós temos reuniões de planejamento semanais e constantemente re-priorizamos solicitações com base nos pedidos da comunidade de uma forma que seja transparente para os usuários. O próprio Mylyn é uma de nossas ferramentas chave para uma colaboração de sucesso. Ele permite o compartilhamento do contexto das tarefas e a funcionalidade de notificação de novos pedidos realmente ajuda a minimizar a sobrecarga das caixas de e-mail, ao mesmo tempo em que aumenta a ciência do time sobre o que está ocorrendo. Nós tentamos manter todas as discussões de projeto nos reportes de bugs (em vez de utilizar Skype ou algum IM) para que as decisões de projeto fiquem disponíveis para que outros membros dos time e pessoas interessadas possam revisá-las assincronamente. Este sistema certamente não é perfeito e nós estamos sempre procurando maneiras de melhorar e otimizar o processo.</p>
<p><b>BP:</b> O Mylyn foi integrado com algumas ferramentas de controle de tarefas, está disponível em um amplo conjunto de distribuições do Eclipse e está sendo constantemente refinado por solicitações de usuários e feedback dos mesmos. Eu recentemente soube que vocês estão trabalhando em uma nova ferramenta chamada Tasktop, que é relacionada ao Mylyn. Você poderia dar uma visão do futuro do projeto Mylyn e dizer o que o Tasktop trará aos usuários?</p>
<p><b>RE:</b> Mylyn continuará evoluindo tanto como uma ferramenta quanto como um framework para interface focada. A <a href="http://tasktop.com" target="_blank">Tasktop Technologies</a> lidera e suporta o projeto Mylyn. Alguns dos commiters do Mylyn são nossos contratados e cada um de nossos desenvolvedores contribui regularmente com patches no Mylyn.</p>
<p>No ciclo da versão 3.0 você pode esperar a mesma taxa de melhorias de usabilidade, integração e performance mantida entre as versões 2.0 e 2.2, lançada recentemente. Para oferecer aos usuários estas muitas melhorias, nós ofereceremos versões finais a cada trimestre. Alguns pontos-chave para se acompanhar nas futuras versões 2.3 e 3.0 são as grandes evoluções no editor de tarefas (que é um ponto focal de interação dos desenvolvedores com o Mylyn) e a adição de um leve workflow de integração para reduzir a quantidade de cliques exigida dos usuários.</p>
<p>O produto Tasktop estende o alcance do Mylyn para além do workspace do Eclipse e atinge o sistema operacional (atualmente apenas o Windows, mas o Mac será suportado ainda no primeiro trimestre de 2008). Com o Tasktop, o tempo gasto em outras aplicações como o Word ou Excel é capturado como sendo parte da tarefa atual. Janelas externas de aplicações são gerenciadas de forma semelhante ao que é feito com editores dentro do Eclipse. Além disso, o Tasktop é capaz de sincronizar com os calendários do Outlook e do Google, dando aos usuários uma visão geral do cronograma de suas tarefas dentro das suas aplicações nativas de calendários. Mas a melhor parte é que o Tasktop foca toda a sua navegação na internet. Agora eu posso navegar e utilizar aplicações na web dentro da área de trabalho do Eclipse com o mesmo foco que o Mylyn traz para as minhas atividades de programação. Confira o <a href="http://tasktop.com" target="_blank">site</a> para obter a versão beta.</p>
<p><b>BP:</b> Mensagem final&#8230;</p>
<p><b>RE:</b> É ótimo saber do interesse no Mylyn vindo da comunidade de desenvolvedores do Brasil. Eu encorajo nossos leitores a tentar usar a ferramenta caso ainda não o tenham feito. Além disso, sintam-se à vontade para ajudar a colaborar com o Mylyn submetendo notificações de bugs ou contribuindo com patches. Nós somos bastante abertos à contribuição da comunidade!</p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2008/01/07/entrevista-com-robert-elves-do-projeto-mylyn/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Mylyn&#8217;s missing feature that would make me advocate it instead of just suggesting it</title>
		<link>http://brunopereira.org/2007/11/24/the-mylyns-missing-feature-that-would-make-me-advocate-it-instead-of-just-suggesting-it/</link>
		<comments>http://brunopereira.org/2007/11/24/the-mylyns-missing-feature-that-would-make-me-advocate-it-instead-of-just-suggesting-it/#comments</comments>
		<pubDate>Sat, 24 Nov 2007 17:48:07 +0000</pubDate>
		<dc:creator>blpsilva</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[feature]]></category>
		<category><![CDATA[mylyn]]></category>

		<guid isPermaLink="false">http://blpsilva.wordpress.com/2007/11/24/the-mylyns-missing-feature-that-would-make-me-advocate-it-instead-of-just-suggesting-it/</guid>
		<description><![CDATA[First a little disclaimer: I really like Mylyn and find it one of the most useful and certainly one of the most innovative development tools ever. I am using it for quite some time and started using its version 2.x since the JIRA Connector started working correctly with ISO-8859-1 againHowever, there is something in the [...]]]></description>
			<content:encoded><![CDATA[<p>First a little disclaimer: I really like <a href="http://www.eclipse.org/mylyn" title="Mylyn's homepage" target="_blank">Mylyn</a> and find it one of the most useful and certainly one of the most innovative development tools ever. I am using it for quite some time and started using its version 2.x since the JIRA Connector <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=200430" target="_blank">started working correctly with ISO-8859-1 again</a>However, there is something in the use of Mylyn that I would really like to be customizable. I thought that maybe I would get used to the default plugin behavior after some time using it, but unfortunately it didn&#8217;t happen for me and for most of my working mates.</p>
<p>I would like to be able to configure Mylyn&#8217;s task context management so that files are added to the task context only when saving them, instead of adding at the time the file is opened.</p>
<p>For example, very frequently when developing some new feature I open some files that are not related to the current task just to see how something was implemented on some other class or file.  I don&#8217;t want to have this file I just opened added to the context. I want to be able to add to the context only the files I actually changed during the task activity.</p>
<p>As I don&#8217;t know if this is a common desire among Mylyn&#8217;s users in general, the ideal solution would be to have the configuration option of adding files to task context at opening or only when saving the files.</p>
<p>As i said I can&#8217;t speak for Mylyn&#8217;s users in general, but at least here at <a href="http://www.globo.com" target="_blank">Globo.com</a> (where we have 100-200 Java developers) most of the guys who used Mylyn had the same opinion.</p>
<p>I have already requested this enhancement at Mylyn&#8217;s <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=209027" target="_blank">Bugzilla</a>, and I would really appreciate having a nice feedback on that, telling if this could be done in the future, if it&#8217;s too complicated, if it&#8217;s just a misuse of the tool, et cetera.</p>
<p>I have previously talked directly to <a href="http://tasktop.com/blog/" target="_blank">Mik</a> and <a href="http://www.jroller.com/eu/" target="_blank">Eugene</a>  regarding the JIRA Connector and their response exceeded the best expectations I could have. So, in this humble space of mine, I would like to receive some feedback on this new feature I am requesting. I can assure that it would take my Mylyn satisfaction to an even higher level and it would turn a reasonable bunch of users into very happy advocates of this great tool, starting with me <img src='http://brunopereira.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://brunopereira.org/2007/11/24/the-mylyns-missing-feature-that-would-make-me-advocate-it-instead-of-just-suggesting-it/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

