<?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>Zona J &#187; opensource</title>
	<atom:link href="http://www.zonaj.org/category/opensource/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zonaj.org</link>
	<description>Zona Java - Um blog português sobre java.</description>
	<lastBuildDate>Wed, 26 May 2010 17:23:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Mais um projecto open-sourced pelo Google: Protocol Buffers</title>
		<link>http://www.zonaj.org/2008/07/19/mais-um-projecto-open-sourced-pelo-google-protocol-buffers/</link>
		<comments>http://www.zonaj.org/2008/07/19/mais-um-projecto-open-sourced-pelo-google-protocol-buffers/#comments</comments>
		<pubDate>Sat, 19 Jul 2008 19:42:39 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[featured]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/2008/07/19/mais-um-projecto-open-sourced-pelo-google-protocol-buffers/</guid>
		<description><![CDATA[O nome Protocol Buffers não será à primeira vista o mais feliz pois não permite depreender do que se tratao projecto. Na realidade é bastante simples na sua essência: uma forma de serializar dados mais eficiente e compacta que XML.
A descrição no site oficial do projecto Protocol Buffers explica melhor:
Protocol buffers are a flexible, efficient, [...]]]></description>
			<content:encoded><![CDATA[<p>O nome Protocol Buffers não será à primeira vista o mais feliz pois não permite depreender do que se tratao projecto. Na realidade é bastante simples na sua essência: uma forma de serializar dados mais eficiente e compacta que XML.<br />
A descrição no <a href="http://code.google.com/apis/protocolbuffers/">site oficial do projecto Protocol Buffers</a> explica melhor:</p>
<blockquote><p>Protocol buffers are a flexible, efficient, automated mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages. You can even update your data structure without breaking deployed programs that are compiled against the &#8220;old&#8221; format.</p></blockquote>
<p>Basicamente é definido um formato de dados através de ficheiros denominados proto files e depois a partir destes é gerado código que sabe ler e escrever num formato binário que é muito pequeno e muito rapido de fazer parse. Esse código pode ser gerado em diversas linguagens diferentes &#8211; inicialmente Java, C++ e Python, mas muita gente ofereceu-se na mailing list e começou a desenvolver geradores para muitas outras linguagens.</p>
<p>O âmbito do projecto é relativamente bem definido: não define como os dados são transmitidos em rede mas apenas o formato dos mesmos. Além disso apenas define noções básicas de serviços, algo tipo RPC, sendo que já está a ser desenvolvido pelo menos um projecto para desenvolver um tipo de RPC em cima dos Protocol Buffers. </p>
<p>As principais críticas ao projecto foram a possível sobreposição deste formato com coisas como o <a href="http://tools.ietf.org/rfc/rfc4506.txt">XDR</a>, o facto de não ser propriamente um standard e o facto de ser aparentemente incompleto em algumas definições. Todas estas críticas são bastante válidas mas a vantagem em termos de performance e a facilidade &#8211; é mesmo relativamente fácil &#8211; de ter implementações em diferentes linguagens compensam e podem ter aplicações reais imediatas &#8211; o pessoal do <a href="https://svn.apache.org/repos/asf/activemq/trunk/activemq-protocol-buffer/">ActiveMQ</a> fez logo uma implementação do PB como técnica de serialização.<br />
A razão principal para o projecto ter sido lançado agora é porque é usado por outros projectos que o Google irá lançar brevemente e é muito usado internamente no Google para representação de dados &#8211; no site falam-se de mais de 120000 proto files, muita fruta.</p>
<p>Certamente um projecto a seguir com muita atenção para quando se quiser troca de mensagens performante.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2008/07/19/mais-um-projecto-open-sourced-pelo-google-protocol-buffers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaOne &#8211; dia 2 em grande</title>
		<link>http://www.zonaj.org/2008/05/08/javaone-dia-2-em-grande/</link>
		<comments>http://www.zonaj.org/2008/05/08/javaone-dia-2-em-grande/#comments</comments>
		<pubDate>Thu, 08 May 2008 08:13:31 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[dwr]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[evento]]></category>
		<category><![CDATA[gwt]]></category>
		<category><![CDATA[indústria]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[javaone]]></category>
		<category><![CDATA[jug]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[spring]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/2008/05/08/javaone-dia-2-em-grande/</guid>
		<description><![CDATA[O dia dois do JavaOne foi na sua generalidade melhor que o primeiro dia. Ultrapassada a desorientação inicial própria de quem está na primeira vez num evento com mais de 15.000 pessoas todas em filas de um lado para o outro, relaxei mais neste dia e aproveitei as apresentações a que fui.
Todos os dias a [...]]]></description>
			<content:encoded><![CDATA[<p>O dia dois do JavaOne foi na sua generalidade melhor que o primeiro dia. Ultrapassada a desorientação inicial própria de quem está na primeira vez num evento com mais de 15.000 pessoas todas em filas de um lado para o outro, relaxei mais neste dia e aproveitei as apresentações a que fui.</p>
<p>Todos os dias a primeira sessão do dia no JavaOne é uma General Session e começa às 8h30 da manhã. Tendo em conta que normalmente são vendor talks (Oracle, AMD, etc.) ficou oficialmente decidido que essa hora será sempre gasta na noite anterior no consumo de cerveja.</p>
<h3>The Script Bowl: A Rapid-Fire Comparison of Scripting Languages</h3>
<p>O dia começou com um painel muito muito interessante sobre linguagens de scripting ou, como prefiro chamá-las genericamente, dinâmicas. O painel consistiu de 4 linguagens (Groovy, JRuby, Jython e Scala) cada uma com um seu defensor a quem cabia o papel de defender a sua linguagem preferida em 3 rounds. Os defensores eram os seguintes:</p>
<ul>
<li><a href="http://glaforge.free.fr/weblog/">Guillaume Laforge</a> pelo Groovy</li>
<li><a href="http://headius.blogspot.com/">Charles Nutter</a> pelo JRuby</li>
<li><a href="http://fwierzbicki.blogspot.com/">Frank Wierzbicki</a> pelo Jython</li>
<li>Jorge Ortiz pelo Scala</li>
</ul>
<p>A sessão consistiu em 3 rounds, em que o público podia votar por sms em tempo real. Os rounds eram os seguintes:</p>
<ol>
<li>Criar uma aplicação cliente de twitter (applet)</li>
<p>Aqui tanto a aplicação em groovy como em jruby destacaram-se pelo aspecto gráfico polido. A solução em jython foi bastante básica e em cima do joelho e a de Scala mostrou muito bem como usar closures para tratar de eventos e deixou uma impressão muito boa.</p>
<li>Criar uma aplicação web que gerisse países e cidades, com integração com mapa</li>
<p>Aqui o groovy dominou totalmente com o Grails. Além de o código ser muito mais perceptível do que o de jruby com o rails, usou uma tag custom para a integração do mapa que deixou a audiência com os olhos a brilhar. A solução do jython foi com django e limitou-se a demonstrar a geração automática da secção de admin sem grandes costumizações, nem mesmo com o mapa. O moço do Scala deitou tudo a perder não tendo implementado a aplicação web porque perdeu muito tempo na applet &#8211; e ele é um dos core developers do Lift, uma web framework escrita em Scala!. Aproveitou para demonstrar as funcionalidades de comet / reverse ajax / data push de uma forma simples.</p>
<li>O último round foi um vale tudo &#8211; basicamente pediram para mostrarem e defenderem o que a linguagem deles </li>
<p>fazia melhor que as outras.<br />
O defensor do Groovy optou por defender a integração com Java; o Charles Nutter mostrou uma aplicação muito interessante em que uma aplicação de visualização respondia ao som e pitch da voz dele; o do jython não me lembro realmente do que disse; o do Scala defendeu a forma como o Scala trata da questão de concorrência com os actors.
</ol>
<p>Foi uma sessão com um ambiente descontraído, com demonstrações giras. A idea com que fiquei foi muito favorável para o Groovy/Grails e para o Scala, para coisas mais server-side.<br />
Na votaçao do público, o JRuby recebeu os votos dos seus fãs e ficou em primeiro, seguido do Groovy, Scala e Jython em último.</p>
<h3>Improving Application Performance with Monitoring and Profiling Tools</h3>
<p>De seguida fui para uma apresentação que foca no meu outro tema de preferência além da área web: performance/concorrênca. Falou-se de ferramentas de CPU, de memória e de uso genérico.<br />
Esta apresentação consistiu numa apresentação de uma enormidade de aplicações que se podem usar para monitorizar e fazer profiling de aplicações java. Foram elas:</p>
<ul>
<li>DTrace</li>
<p>O <a href="http://www.sun.com/bigadmin/content/dtrace/">DTrace</a> é interessantíssimo e já tinha lido alguma coisas sobre o mesmo, especialmente do pessoal dos Macs. E aí reside a sua principal limitação: apenas está disponível em Solaris e OS X no JDK 6 e eu não conheço nenhum sistema de produção que tenha esta configuração.<br />
Permite obter informações muito importantes como seja a contenção de locks, o tempo de garbage collecting ou os tempos de invocaçao por método. Tudo isto é obtido de forma live, em que se faz attach ao processo java que está a correr e se retiram os dados enquanto ele executa.<br />
No entanto, DTrace é relativamente complexo pois implica a criação de scripts próprios (chamados DScripts). Foram indicadas duas ferramentas auxiliares: <a href="http://opensolaris.org/os/project/dtrace-chime/">Chime</a> para formatar o output e D-Light, que é um UI para criar DScripts facilmente.</p>
<li>Sun Studio Collector/Analyser</li>
<p>Ao contrário do DTrace, o <a href="http://developers.sun.com/sunstudio/overview/topics/analyzer_index.html">Collector</a> não faz attach a um processo e funciona por sampling. Ou seja, temos de correr um processo num outro ambiente, que vai recolher dados para analisar e depois para o processor e usar o Sun Studio. Está disponível tanto em Solaris como em Linux.<br />
Serve como substituto do DTrace para quando não se usa Solaris ou OS X.</p>
<li>JPS, JInfo e JStack</li>
<p>Estas aplicações são bastante simples e disponível nas versões 1.4.2+. O <a href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jps.html">JPS</a> permite listar process IDs de aplicaçoes java a correr; o <a href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jinfo.html">JInfo</a> permite ver informações como propriedades de sistema, flags da VM e inclusivamente mudar as flags da VM (Permite-nos retirar estas informações a partir de um core dump); <a href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jstack.html">JStack</a> permite-nos gerar stack traces de forma simples e é bastante útil para identificar deadlocks.</p>
<li>BTrace</li>
<p>O <a href="https://btrace.dev.java.net/">BTrace</a> não é bem uma aplicação mas mais uma framework. Permite-nos criar os nossos proprios scripts, que tiram partido de anotações, para obtermos as informações desejadas através de bytecode intrumentalization. Está disponível apenas na versão JDK 6 e em Solaris, Linux e OS X.</p>
<li>GCHisto</li>
<p>Esta <a href="https://gchisto.dev.java.net/">pequena aplicação</a> permite-nos detectar o comportamento do garbage collector visualmente. Requer que a aplicação seja executada com as flags -XX:+PrintGCTimeStamps e -XX+PrintGCDetails pois desenha os histogramas baseado nos logs do GC.</p>
<li>JMap</li>
<p>Esta <a href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jmap.html">aplicação</a> permite listar os objectos existentes na heap. Disponível na versão 1.4.2+ mas apenas em Solaris.</p>
<li>JHat</li>
<p>O <a href="http://java.sun.com/javase/6/docs/technotes/tools/share/jhat.html">JHat</a> permite, a partir de um binary heap file (que pode ser criado com o JMap), pesquisar por objectos na heap. Para tal, usa algo a que chamam OQL (Object Query Language), que não é mais que Javascipt com uns objectos especiais para pesquisar na heap. Está disponível a partir da versão 6 do JDK, sendo que para versões anteriores o projecto chamava-se simplesmente <a href="https://hat.dev.java.net/">Hat</a>.</p>
<li>JConsole</li>
<p>A <a href="http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html">JConsole</a> era a única aplicação que eu conhecia de todas as que foram faladas. Disponível desde a versão 1.4.2, permite consultar dados sobre memória, threads, MBeans e outras informações a partir de uma simples applet.</p>
<li>Netbeans Profiling Tools</li>
<p>Incluído com o IDE Netbeans, vem este <a href="http://profiler.netbeans.org/">pacote de profiling tools</a> que usa o motor <a href="http://research.sun.com/projects/jfluid/index.html">JFluid</a> para retirar dados de CPU, memória e threads. A integração com o IDE pareceu interessante embora não tenha sido demonstrada, mas pode-se marcar pontos de profiling como se se marcassem breakpoints directamente no IDE. Certamente a testar, com este hype todo à volta do Netbeans.</p>
<li>VisualVM</li>
<p>O produto <a href="https://visualvm.dev.java.net/">VisualVM</a> foi o culminar da apresentação, o ponto a que eles queriam chegar. Inclui funcionalidades do JPS, JInfo, JStack, Jconsole e JStat. Além disso é extensível com plugins para o Btrace, GCHisto ou mesmo Glassfish ou Terracotta.
</ul>
<h3>Java Persistense API 2.0</h3>
<p>A sessão sobre JPA foi definitivamente a mais fraca dos dois dias até agora. Foi um debitar das alterações existentes na especificação do <a href="http://jcp.org/en/jsr/detail?id=317">JSR 317</a> pela spec leader e muito pouco pedagógica. As pessoas ficaram com sono e não captei realmente nada assim de importante além da ideia que se está a complicar um bocado a coisas. Coisas como o Doctrine para php têm implementações bem fáceis de entender para os mesmos problemas, ou então a sessão conseguiu complica o simples.<br />
O que valeu foi ter podido falar um pouco com o <a href="http://weblogs.java.net/blog/mister__m/">Michael Santos</a> que além de Java Champion, é co-lead do <a href="http://jcp.org/en/jsr/detail?id=310">JSR 310</a> (Date &#038; Time API). Tive a oportunidade de ele referir as relações deste JSR como o de JPA, bem como o do J2EE 6 (<a href="http://jcp.org/en/jsr/detail?id=316">JSR 316</a>)que deverá também usar o JSR 310. Foi uma boa companhia para a sessão.</p>
<h3>Transactional Memory in Java Technology-Based Systems</h3>
<p>Esta foi provavelmente a sessão mais trabalhosa do JavaOne até ao momento. Foi apresentada por dois membros da Intel e um deles tinha um sotaque completamente russo o que tornou quase impossível perceber metade da apresentação. Foi no entanto bastante divertido pois sempre que ele falava saia 5% da sala.<br />
A apresentação em si focou-se nos pontos de atomicidade que já tinha visto ontem nas apresentações de Fortress e do Brian Goetz. Falou-se memória transaccional por software (STM) e também por hardware (HTM), que desconhecia por completo. Dentro da STM, focaram o <a href="http://blogs.intel.com/research/2007/08/terascaleitj.php">McRT</a> que é o Multi-core runtime da intel que oferece funcionalidades de memória transaccional por software. Por enquanto apenas está disponível em C++, mas prometeram a versão para Java num dia de são nunca à tarde.</p>
<h3>JSR 303: From a World of Constraints to Constrain the World</h3>
<p>Sessão bastante interessante apresentado pelo leader do <a href="http://jcp.org/en/jsr/detail?id=303">JSR 303</a>, funcionário da JBoss. Falou-se sobre como e onde definir constraints no nosso modelo de domínio de forma a que seja independente de camada &#8211; uma validação deve ser homogénea desde a apresentação à base de dados.<br />
O que esta especificação permite é a especificação de constraints de validação sobre beans/pojos de diversos tipos &#8211; simples e built-in, custom made, com dependências entre campos, etc. &#8211; e que fornece uma forma de cada camada poder executar as validações. Não define como essas camadas tratam o resultado das validações, portanto é bastante genérico, tem apoio de todos os quadrantes da indústria e rapidamente se vai tornar standard.<br />
Além disso o speaker foi bastante acessível e simpático.</p>
<h3>Comet: The Rise of Highly Interactive Web Sites</h3>
<p>Eu já há bastante tempo que sei o que é Comet, o conceito é bastante simples: permitir que uma acção num cliente (tipicamente página web) seja reflectido em todos os clientes que estão na mesma vista sem que estes tenham que fazer nada. Mas não tinha a noção das diferentes aproximações do problema.<br />
Esta sessão foi apresentada pelo <a href="http://getahead.org/blog/joe/">Joe Walker</a> do <a href="http://getahead.org">DWR</a>, que explicou como o DWR usa o comet para fazer push de dados para o cliente; e pelo <a href="http://alex.dojotoolkit.org/">Alex Russell</a>, o homem do <a href="http://www.dojotoolkit.org/">Dojo Toolkit</a> e do <a href="http://cometd.com/">Cometd</a>. Falaram de duas aproximações distintas: enquanto o DWR tem o Comet embutido e o push de dados para o cliente faz parte da lógica de apresentação da aplicação; o cometd é como que um servidor proxy, muito útil para aplicações já existentes pois os clientes ligam-se é ao servidor Cometd para receberem os updates.<br />
Foi uma apresentação muito esclarecedora de duas pessoas que demonstraram serem mesmo os speakers ideais para o assunto.</p>
<h3>Real World, Not Hello World: GWT Development for Java™ Technology Shops</h3>
<p>Tinha planeado ir ver uma apresentação sobre JRuby pelo <a href="http://ola-bini.blogspot.com/">Ola Bini</a> mas acabei por ficar na mesma sala para a apresentação seguinte. Por um lado, fiquei com menos entusiasmo pela as apresentações jruby depois do script bowl; por outro, conheci o <a href="http://weblogs.java.net/blog/alegomes/">Alexandre Gomes</a> no jantar dos JUG Leaders e fiquei também para o ver a palestrar.<br />
Esta apresentação foi tripartida: o Alexandre falou sobre GWT, um membro da equipa do IceFaces falou sobre o Comet deles e o líder do <a href="https://grizzly.dev.java.net/">project Grizzly</a> falou sobre o projecto em si e a integração com GWT.<br />
Eu pessoalmente continuo a não estar totalmente convencido com a solução GWT mas estou a dar a oportunidade de ser surpreendido. O modelo de desenvolvimento à lá Swing com definição de layout e widgets no código java não me cai bem.<br />
De qualquer modo, gostei bastante da apresentação do Alexandre e dos colegas dele.</p>
<p>No fim do dia, decidi ir até à festa de Eclipse onde supostamente havia cerveja gratis mas nada disso. Pelo caminho conhecemos um texano muito simpático que nos acompanhou numas cervejas e que pensava que Portugal era na América do Sul. Simpáticamente explicámos onde ficava no mapa o que mesmo assim não impediu que ele ficasse realmente envergonhado com a bacorada. Mas foi uma conversa excelente mesmo no que toca a empreendorismo.<br />
O interessante da festa da eclipse foram na realidade 2 outros factos: em primeiro lugar, o director de marketing da Jetbrains, criadores do IntelliJ IDEA estava por lá, esse mesmo que oferece as licensas de IntelliJ que podemos distribuir nos eventos do nosso PT.JUG; também por lá estava o <a href="http://blog.springsource.com/main/author/rodj/">Rod Johnson</a>, criador do Spring a assinar autógrafos e com raparigas giras à volta à procura de festa: é mais uma razão para participar em projectos open-source.</p>
<p>E assim foi, mais um dia cansativo mas a tentar aproveitar ao máximo a experiência do JavaOne.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2008/05/08/javaone-dia-2-em-grande/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ganhar dinheiro com open-source: Netbeans Innovators Grant</title>
		<link>http://www.zonaj.org/2008/02/08/ganhar-dinheiro-com-open-source-netbeans-innovators-grant/</link>
		<comments>http://www.zonaj.org/2008/02/08/ganhar-dinheiro-com-open-source-netbeans-innovators-grant/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 18:30:39 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[Ferramentas]]></category>
		<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[netbeans]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/?p=78</guid>
		<description><![CDATA[Li o post do Bruno Souza no DZone e achei uma excelente ideia. 
Quantas vezes não nos queixámos de esta ou aquela feature no nosso IDE favorito, sem no entanto fazer nada para a melhorar. Ou aquele plugin que gostavamos mesmo de ter.
A Sun criou a Netbeans Innovators Grant que permite que membros da comunidade [...]]]></description>
			<content:encoded><![CDATA[<p>Li o <a href="http://java.dzone.com/news/announcing-netbeans-innovators">post</a> do <a href="http://www.javaman.com.br/">Bruno Souza</a> no DZone e achei uma excelente ideia. </p>
<p>Quantas vezes não nos queixámos de esta ou aquela feature no nosso IDE favorito, sem no entanto fazer nada para a melhorar. Ou aquele plugin que gostavamos mesmo de ter.<br />
A Sun criou a <a href="http://www.netbeans.org/grant/">Netbeans Innovators Grant</a> que permite que membros da comunidade open-source ganhem dinheiro vivo com contributos para o projecto Netbeans. O que a Sun ganha são novas features implementadas para a plataforma a um custo bastante baixo e uma visibilidade pela publicidade que isto dos prémios por desenvolvimento atrai. Aliás, a jetbrains, criadores do fantástico IntelliJ IDEA, <a href="http://plugins.intellij.net/contest/prizes/">fizeram o mesmo há algum tempo atrás com sucesso</a>.</p>
<p>Resumidamente, serão atribuídas as seguintes bolsas:</p>
<ul>
<li>10x bolsas de $11.500 cada, para projectos &#8220;grandes&#8221;</li>
<li>10x bolsas de $2.000 cada, para projectos menores</li>
<li>2x gold awards no valor de $11.000, para atribuir a 2 projectos dos 20 anteriores que tenham muito sucesso</li>
<li>2x silver awards no valor de $5.000, para atribuir a 2 projectos dos 20 anteriores que tenham sucesso</li>
</ul>
<p>Para isto será necessário ter boas ideias. Uma vez escolhidas as 20 ideias, são atribuídas as bolsas às mesmas sendo que só se recebe o dinheiro no fim, se o projecto for concluído com sucesso. Ou seja, não será dinheiro fácil.</p>
<p>A submissão de propostas dura até dia 3 de Março. Podem consultar mais detalhes no <a href="http://www.netbeans.org/grant">site do Netbeans</a>.</p>
<p>Mesmo para gajos do Eclipse como eu isto pode vir a ser motivador <img src='http://www.zonaj.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2008/02/08/ganhar-dinheiro-com-open-source-netbeans-innovators-grant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Podcasts para programadores java</title>
		<link>http://www.zonaj.org/2008/01/31/podcasts-para-programadores-java/</link>
		<comments>http://www.zonaj.org/2008/01/31/podcasts-para-programadores-java/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 18:34:42 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[geral]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[podcasts]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/?p=76</guid>
		<description><![CDATA[Eu sempre tive alguma dificuldade em encontrar podcasts decentes relacionados com a minha área. O único que realmente é conhecido é o The Java Posse e penso que muita gente já o conhecerá. Eles têm também uma lista de discussão no google groups onde falam de alguns temas interessantes.
Sobre java especificamente, há poucos mais, que [...]]]></description>
			<content:encoded><![CDATA[<p>Eu sempre tive alguma dificuldade em encontrar podcasts decentes relacionados com a minha área. O único que realmente é conhecido é o <a href="http://www.javaposse.com/">The Java Posse</a> e penso que muita gente já o conhecerá. Eles têm também uma <a href="http://groups.google.com/group/javaposse">lista de discussão no google groups</a> onde falam de alguns temas interessantes.</p>
<p>Sobre java especificamente, há poucos mais, que tenha encontrado. Mas no grupo do Java Posse tiveram um thread sobre podcasts e encontrei uns quantos interessantes que tenho ouvido e posso partilhar:</p>
<p><strong><a href="http://www.se-radio.net/rss">Software Engineering Radio</a></strong></p>
<p>Temas diversos com uma aproximação por vezes académica, actuais e com convidados de renome também. Frequência semanal. Altamente aconselhado. </p>
<p><strong><a href="http://feeds.feedburner.com/DrunkAndRetiredcomPodcast">Drunk and Retired</a></strong></p>
<p>Ambiente muito relaxado e com algum sentido de humor. Temas bastante actuais, fala-se sobre coisas como java, ruby, jquery, etc. Periocidade mais ou menos semanal.</p>
<p><strong><a href="http://leoville.tv/podcasts/floss.xml">FLOSS Weekly</a></strong></p>
<p>Orientado a open-source em geral, pouco ou nada falam sobre java mas no nosso mundo não podemos estar sempre a olhar só para o nosso umbigo &#8211; também temos de olhar para o dos outros.<br />
É cena para pessoal que não quer propriamente saber de IDEs e gosta mesmo é do vim ou do emacs, daquele pessoal que usa só roupa preta, barba e ouve metal <img src='http://www.zonaj.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Ás vezes tem convidados interessantes (já lá teve o criador da wikipedia, do php, do python, etc.) mas consegue ser sempre interessante.</p>
<p>E poucos mais conheço, agradecem-se sugestões!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2008/01/31/podcasts-para-programadores-java/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Liferay Portal &#8211; Configuração da ligação a uma base de dados MySQL</title>
		<link>http://www.zonaj.org/2007/10/22/todo/</link>
		<comments>http://www.zonaj.org/2007/10/22/todo/#comments</comments>
		<pubDate>Mon, 22 Oct 2007 20:37:49 +0000</pubDate>
		<dc:creator>Ricardo Antunes</dc:creator>
				<category><![CDATA[Ferramentas]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[portal]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/?p=67</guid>
		<description><![CDATA[Tal como prometido no meu último artigo, aqui ficam as instruções para configurar o Liferay Portal para aceder a uma base de dados MySQL usando o ambiente de desenvolvimento com o eclipse.
1 &#8211; Criação da Base de Dados MySQL
Criem a base de dados com o nome lportal.
Poderão fazer isto utilizando o MySQL Administrator (a ferramenta [...]]]></description>
			<content:encoded><![CDATA[<p>Tal como prometido no meu <a href="http://www.zonaj.org/?p=59" target="_blank">último artigo</a>, aqui ficam as instruções para configurar o Liferay Portal para aceder a uma base de dados MySQL usando o ambiente de desenvolvimento com o eclipse.</p>
<h3>1 &#8211; Criação da Base de Dados MySQL</h3>
<p>Criem a base de dados com o nome <em>lportal</em>.</p>
<p>Poderão fazer isto utilizando o MySQL Administrator (a ferramenta de administração do MySQL) ou usando a seguinte linha de comando:<br />
<code>mysqladmin --default-character-set=utf8 create lportal</code></p>
<h3>2 &#8211; Configuração do acesso  à base de dados com o eclipse</h3>
<p>Abram o Data Source Explorer do eclipse (<code>Window -&gt; Show view -&gt; Data Source Explorer</code>).</p>
<p>Seleccionem o icon &#8216;New Connection Profile&#8217; ou usem o botão direito do rato do sobre &#8216;Databases&#8217; e depois seleccionem &#8216;New&#8217;.</p>
<p>Na janela &#8216;New Connection Profile&#8217; seleccionem o tipo <code>SQL Model-JDBC Connection.</code></p>
<p>No quadro seguinte indiquem um nome para o perfil (ex: &#8216;Liferay &#8211; Mysql&#8217;).</p>
<p>No último quadro, usem o botão de procura (&#8217;&#8230;&#8217;) na lista &#8220;Select a browser&#8221;.</p>
<ul> Adicionem uma nova definição:</p>
<li>localizem o template para bases de dados MySQL na árvore (<code>Database -&gt; MySQL -&gt; 5.0 -&gt; MySQL JDBC Driver</code>).</li>
<li>Alterem as definições do driver:
<ul>
<li>Alterem o nome para &#8216;Liferay MySQL Driver&#8217;;</li>
<li>Removam o driver  &#8216;default&#8217; e adicionem um novo Jar correspondente ao ficheiro <code>$WORKSPACE/ext/lib/development/mysql.jar</code> (<code>$WORKSPACE</code> corresponde à localização da pasta do vosso <em>workspace</em> no sistema de ficheiros);</li>
<li>Configurem o valor das propriedades de acesso (username, password, etc&#8230;) tendo em atenção que o valor do &#8216;Database Name&#8217; (e por consequência o final da linha do &#8216;Connection URL&#8217; deverá ser &#8216;<code>lportal</code>&#8216;.</li>
</ul>
</li>
<li> Confirmem as alterações e seleccionem agora este driver nas definições do driver  (<code>Database -&gt; MySQL -&gt; 5.0 -&gt; Liferay MySQL Driver</code>).</li>
</ul>
<p>Voltem de novo à janela de criação do perfil e validem que todas as informações estão de acordo com a vossa configuração (podem testar a ligação a partir desta janela).</p>
<h3>3 &#8211; Criação do modelo de dados</h3>
<p>Editem o ficheiro  <code>create-mysql.sql</code> na pasta <code>/sql/create</code> do projecto &#8216;ext&#8217;.<br />
Caso não tenham memoria para desperdiçar (é o meu caso) respondam afirmativamente quando o eclipse perguntar se pretendem desligar a validação de sintaxe do ficheiro.</p>
<p>No topo da janela de edição do ficheiro encontram a configuração do &#8216;Connection profile&#8217;. Seleccionem o tipo <code>Generic JDBC_1.x</code>, o driver  &#8216;<code>Liferay - Mysql</code>&#8216;  e a base de dados <code>lportal</code>.</p>
<p><strong>Nota</strong>: caso o status não seja &#8216;<code>Connected</code>&#8216; não vão conseguir ver o nome da base de dados.<br />
Neste caso devem aceder ao Data Source Explorer ( <code>Window -&gt; Show View -&gt; Data Source Explorer</code>), seleccionar a Database &#8216;Liferay &#8211; MySQL&#8217; e fazer connect (botão direito do rato)</p>
<p>Comentem as três primeiras linhas do ficheiro, uma vez que a base de dados já foi criada</p>
<p><code>-- drop database if exists lportal;<br />
-- create database lportal character set utf8;<br />
-- use lportal;</code></p>
<p>Gravem e executem o sql (ctrl+alt+X ou Execute All no menu contextual).</p>
<h3>4 &#8211; Configuração do datasource no tomcat</h3>
<p>Editem o ficheiro <code>Root.xml</code> localizado na pasta<code> servers/tomcat/conf/Catalina/localhost</code> do projecto &#8216;ext&#8217;.</p>
<p>Comentem o datasource do Hypersonic e  descomentem o datasource do MySQL.</p>
<p>Preencham os atributos <code>username</code> e <code>password</code> e, caso não estejam a usar os valores <em>default</em> do MySQL, editem tambem o valor do atributo <code>url</code>, de acordo com a vossa configuração.</p>
<p>Gravem as alterações.</p>
<h3>5 &#8211; Deploy da configuração para o servidor</h3>
<p>Copiem o ficheiro <code>Root.xml</code> para a pasta <code>conf/Catalina/localhost</code> do tomcat.</p>
<p>Copiem e o ficheiro <code>mysql.jar</code> para para a pasta <code>lib/ext</code> do tomcat.</p>
<p>Voltarei a falar sobre a forma correcta de fazer deploy destes ficheiros no meu próximo artigo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2007/10/22/todo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Liferay Portal 4.3.1 &#8211; Instalação do ambiente de desenvolvimento no eclipse 3.3 (Europa)</title>
		<link>http://www.zonaj.org/2007/09/19/liferay-portal-instalacao-eclipse/</link>
		<comments>http://www.zonaj.org/2007/09/19/liferay-portal-instalacao-eclipse/#comments</comments>
		<pubDate>Wed, 19 Sep 2007 21:08:39 +0000</pubDate>
		<dc:creator>Ricardo Antunes</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[portal]]></category>

		<guid isPermaLink="false">http://www.zonaj.org/?p=59</guid>
		<description><![CDATA[ O Liferay Portal é uma solução empresarial de portal, open-source, desenvolvida em Java.
Precisei recentemente de instalar o ambiente de desenvolvimento. A documentação disponível refere-se à versão 4.2, está desactualizada e por isso contem bastantes incorrecções.
Como o processo não é lá muito intuitivo resolvi fazer uma lista dos passos necessários para concluir a instalação. Aqui [...]]]></description>
			<content:encoded><![CDATA[<p> O <a href="http://www.liferay.com" target="_blank">Liferay Portal</a> é uma solução empresarial de portal, open-source, desenvolvida em Java.</p>
<p>Precisei recentemente de instalar o ambiente de desenvolvimento. A documentação disponível refere-se à versão 4.2, está desactualizada e por isso contem bastantes incorrecções.</p>
<p>Como o processo não é lá muito intuitivo resolvi fazer uma lista dos passos necessários para concluir a instalação. Aqui fica:</p>
<h3>1 &#8211; Instalar o Liferay Portal</h3>
<ul>
<li>Comecem por fazer o download de um dos <em>bundles</em> do Liferay disponíveis no endereço <a href="http://www.liferay.com/web/guest/downloads" target="_blank">http://www.liferay.com/web/guest/downloads</a>. Eu optei pela versão recomendada, ou seja, com o Tomcat.</li>
<li>Criem uma pasta no vosso filesystem para servir como base da instalação &#8211; <code>$LIFERAY_HOME</code>. Dêem-lhe um nome sugestivo como por exemplo &#8216;liferay-portal&#8217;.</li>
<li>Dentro desta pasta, criem mais duas pastas, uma para conter a instalação do <em>bundle</em> do Liferay e outra para servir como <em>workspace</em> do eclipse (ex: <code>$LIFERAY_HOME/tomcat</code> e <code>$LIFERAY_HOME/workspace</code>).</li>
<li>Descompactem o conteúdo do ficheiro do <em>bundle</em> para a pasta <code>$LIFERAY_HOME</code><code>/tomcat</code>.</li>
</ul>
<h3>2 &#8211; Testar a instalação</h3>
<ul>
<li>Executem o ficheiro <code>$LIFERAY_HOME</code><code>/tomcat/bin/startup.bat</code> (ou <code>startup.sh</code>).</li>
<li>Abram um browser e apontem para o endereço <code>http://localhost:8080/</code>. Se tudo estiver bem devem conseguir ver a página inicial do <em>liferay-portal</em>.</li>
<li>Testar o login com as seguintes credenciais:<br />
[<code>user</code>]: <code>test@liferay.com</code><br />
[<code>pass</code>]: <code>test</code></li>
</ul>
<h3>3 &#8211; Importar o projecto para o eclipse a partir do repositório SVN</h3>
<ul>
<li>Abram o eclipse.</li>
<li>Criem um novo <em>workspace</em> na pasta <code>$LIFERAY_HOME/workspace</code> &#8211; <code>$WORKSPACE</code><br />
<code>File</code> &gt; <code>Switch Workspace</code> &gt; <code>Other </code> (indiquem a pasta <code>$WORKSPACE</code> e confirmem).</li>
<li> Importem o projecto a partir do SVN : <code>File</code> &gt; <code>Import</code> &gt; <code>SVN </code>&gt; <code>Projects from SVN</code>.
<ul>
<li>Como URL indiquem o endereço <code>https://lportal.svn.sourceforge.net/svnroot/lportal</code>.</li>
<li>Seleccionem o projecto &#8216;<code>portal</code>&#8216; e dentro deste o ramo &#8216;<code>trunk</code>&#8216;.</li>
<li>Seleccionem a opção &#8216;<code>Check out as a project with the name specified:</code>&#8216; e indiquem como nome do projecto &#8216;<code>liferay-portal</code>&#8216;.</li>
<li>Deixem a opção &#8216;<code>Checkout recursively</code>&#8216; seleccionada.</li>
<li>Aproveitem agora para fazer uma pausa enquanto o eclipse faz o <em>checkout</em> do projecto. No final deverá aparecer o projecto &#8216;<code>portal</code>&#8216; no <em>Project Explorer</em> do eclipse.</li>
</ul>
<p>Nota: Se tiverem problemas no checkout voltem a repetir os passos anteriores mas desta vez desseleccionem a recursividade (<code>Checkout recursively</code>). O checkout termina rapidamente. Depois usem a opção <em>team syncronize/update</em> para obterem o projecto completo. Isto permite ter mais controlo sobre a operação pois, neste caso, é possível interromper o processo a qualquer altura e retomar posteriormente  desde o ponto onde ficou.</li>
<li>Fechem o eclipse.</li>
</ul>
<h3>4 &#8211; Gerar e configurar o ambiente de desenvolvimento</h3>
<p>Antes de dar inicio a este passo devem verificar se têm o <a href="http://ant.apache.org/"><code>ant 1.7.0</code></a> instalado. O build não funciona com versões anteriores.</p>
<p>O <em>Liferay</em> usa o <a href="http://jikes.sourceforge.net/"><code>Jikes</code></a> como compilador <em>default</em>. Se o pretendem usar e ainda não o têm instalado, agora é a altura ideal para o fazerem <img src='http://www.zonaj.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .<br />
No meu caso, a natural preguiça levou-me a optar pelo habitual <code>javac</code>.</p>
<ul>
<li>Abram uma consola de linha de comando na pasta <code>$WORKSPACE/portal</code>.</li>
<li>Criem o ficheiro <code>build.$USER.properties</code>, onde <code>$USER</code> deve ser substituido pelo vosso username na máquina ou, alternativamente, o nome da própria máquina, com o seguinte conteúdo:<br />
<code>lp.ext.dir=$WORKSPACE/ext<br />
lp.eclipse.project.name=liferay-ext<br />
javac.fork=true<br />
javac.memoryMaximumSize=512m<br />
javac.compiler=modern</code> (ignorem esta se estiverem a usar o <code>jikes</code> e não se esqueçam de substituir <code>$WORKSPACE</code> pelo <em>path </em>correspondente).</li>
<li>Executem o comando:<br />
<code>ant clean start build-ext</code></li>
<li>Aproveitem para fazer mais uma pausa <img src='http://www.zonaj.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  .<br />
Após a conclusão do <em>build</em>, deve existir uma pasta <code>ext</code> no vosso <em>workspace</em>.</li>
<li>Nesta pasta (<code>$WORKSPACE/ext</code>) criem o ficheiro<br />
<code>app.server.$USER.properties</code> onde, mais uma vez, <code>$USER</code> deve ser substituido pelo vosso username na máquina ou, alternativamente, o nome da própria máquina, e com o seguinte conteúdo :<br />
<code>app.server.parent.dir=    $LIFERAY_HOME<br />
app.server.tomcat.dir=${app.server.parent.dir}/tomcat</code><br />
(se estiverem a instalar um <em>bundle</em> diferente devem consultar os nomes das <em>properties </em>no ficheiro <code>app.server.properties</code>).</li>
<li>Caso <strong>não </strong>estejam a usar o <code>jikes</code> como compilador devem ainda criar o ficheiro <code>build.$USER.properties</code>, com o conteúdo:<br />
<code>javac.compiler=modern<br />
javac.fork=true<br />
javac.memoryMaximumSize=256m<br />
</code></li>
<li>Ainda na mesma pasta (<code>$WORKSPACE/ext</code>), executem o comando:<br />
<code>ant deploy</code>.</li>
<li>Mais uma pausa (esta mais pequena).</li>
</ul>
<h3>5 &#8211; Importar o ambiente de desenvolvimento para o eclipse</h3>
<ul>
<li>Voltem a abrir o eclipse.</li>
<li>Importem o projecto ext (<code>File</code> &gt; <code>Import</code> &gt; <code>Other</code> &gt; <code>Existing Folder As New Project</code>). Seleccionem a pasta <code>$LIDERAY_HOME/ext</code>.</li>
<li>Devem ter agora dois projectos no vosso <em>workspace</em> &#8211; <code>portal</code> e <code>ext</code>.</li>
<li>Seleccionem o projecto <code>ext</code> e acedam às suas <code>properties</code>.</li>
<li>Seleccionem a <em>tab</em> &#8216;<em>builders</em>&#8216;.
<ul>
<li>criem um novo <em>builder </em> (botão <em>new</em>).</li>
<li>Seleccionem o <code>Ant Builder</code>.</li>
<li>Nas propriedades do <em>builder</em> indiquem como <em>buildfile</em> o ficheiro <code>build.xml</code> que se encontra na pasta raiz do projecto <code>ext</code> (<code>$WORKSPACE/ext</code>).</li>
<li>De volta à <em>tab</em> &#8216;<em>builder</em>&#8216; desseleccionem o &#8216;<code>Java Builder</code>&#8216;. O eclipse pede uma confirmação: aceitem!</li>
</ul>
</li>
<li>Se tiverem a opção de &#8216;<em>auto-build</em>&#8216; do eclipse activada, o eclipse deve dar inicio à compilação do projecto e&#8230; mais uma pausa.</li>
</ul>
<h3>6 &#8211; Configurar o ambiente de execução</h3>
<ul>
<li>Acedam novamente às <em>properties</em> do projecto <code>ext</code>.</li>
<li>Seleccionem a <em>tab</em> &#8216;<em>Run/Debug Settings</em>&#8216;.</li>
<li>No quadro &#8216;<code>Create, manage and run configurations</code>&#8216; seleccionem a opção &#8216;<code>Run on Server</code>&#8216; e depois o <em>icon</em> &#8216;<code>new</code>&#8216;.</li>
<li>Seleccionem a configuração &#8216;<code>tomcat</code>&#8216; (ou outra, dependendo do <em>bundle</em> que estão a instalar).</li>
<li>Nas propriedades da configuração seleccionem a <em>tab</em> <em>Arguments</em>.
<ul>
<li>Substituam o valor dos argumentos<br />
<code>-Djava.endorsed.dirs=${workspace_loc:ext/servers/tomcat/common/endorsed} -Dcatalina.base=${workspace_loc:ext/servers/tomcat}<br />
-Dcatalina.home=${workspace_loc:ext/servers/tomcat} -Djava.io.tmpdir=${workspace_loc:ext/servers/tomcat/temp}<br />
</code>por<br />
<code>-Djava.endorsed.dirs=${workspace_loc}/../tomcat/common/endorsed -Dcatalina.base=${workspace_loc}/../tomcat<br />
-Dcatalina.home=${workspace_loc}/../tomcat -Djava.io.tmpdir=${workspace_loc}/../tomcat/temp<br />
</code></li>
<li>No &#8216;<em>Working Directory</em>&#8216; indiquem o <em>path</em> para o directorio &#8216;bin&#8217; do tomcat (<code>$LIFERAY_HOME/tomcat/bin</code>).</li>
</ul>
</li>
<li>Ainda nas propriedades da configuração, seleccionem a <em>tab </em><em>Classpath</em>
<ul>
<li>Removam a entrada que está marcada como erro (<code>tools.jar</code>).</li>
<li>Adicionem o <code>bootstrap.jar</code> do <code>tomcat/bin</code> como <em>jar externo</em> e removam a entrada existente para o mesmo ficheiro.</li>
</ul>
</li>
<li>Confirmem as alterações.</li>
<li>Executem o projecto (<em>Run</em>). Devem ver o output do tomcat a ser dirigido para a consola do eclipse.</li>
</ul>
<p>Confirmem que tudo está a funcionar seguindo os passos indicados no ponto 2. É claro que não precisam de executar o tomcat, o eclipse já tratou disso.</p>
<p>O próximo passo será configurar a base de dados, mas isso ficará para um outro post <img src='http://www.zonaj.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2007/09/19/liferay-portal-instalacao-eclipse/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Exadel coloca produtos open-source</title>
		<link>http://www.zonaj.org/2007/03/06/exadel-coloca-produtos-open-source/</link>
		<comments>http://www.zonaj.org/2007/03/06/exadel-coloca-produtos-open-source/#comments</comments>
		<pubDate>Tue, 06 Mar 2007 08:13:19 +0000</pubDate>
		<dc:creator>Ruben Badaró</dc:creator>
				<category><![CDATA[geral]]></category>
		<category><![CDATA[indústria]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://d6038509.u101.jodoshared.com/?p=8</guid>
		<description><![CDATA[Acabado de chegar ao trabalho, fui dar a visita diária pelas minhas feeds no google reader, e encontrei este interessante post com a notícia acabada de sair do forno: a Exadel, conhecida pelos produtos Ajax4jsf, Richfaces e pelo Exadel Studio, decidiu disponibilizar o Richfaces e o Exadel Studio Pro para desenvolvimento da comunidade open-source, colocando-os [...]]]></description>
			<content:encoded><![CDATA[<p>Acabado de chegar ao trabalho, fui dar a visita diária pelas minhas feeds no google reader, e encontrei <a href="http://www.jroller.com/page/rafaelbenevides?entry=exadel_jboss_e_seam" title="Exadel Studio Pro + JbossIDE = Red Hat Developer Studio">este interessante post</a> com a <a href="http://jboss.com/partners/exadel#announcing">notícia acabada de sair do forno</a>: a Exadel, conhecida pelos produtos Ajax4jsf, Richfaces e pelo Exadel Studio, decidiu disponibilizar o Richfaces e o Exadel Studio Pro para desenvolvimento da comunidade open-source, colocando-os sobre a égide do JBoss.org. <br />O Ajax4jsf já tinha sido integrado no java.net e passa agora para o JBoss.org. Tanto o Ajax4jsf como o Richfaces estão já disponíveis como projectos JBoss, como <a href="http://labs.jboss.com/portal/jbossajax4jsf">JBoss Ajax4jsf</a> e <a href="http://labs.jboss.com/portal/jbossrichfaces">JBoss RichFaces</a>, respectivamente, enquanto que o Red Hat Developer Studio &#8211; que substituirá o Exadel Studio &#8211; estará disponível lá para o verão e virá tomar o espaço ocupado pelo JBoss IDE, também ele já baseado no Eclipse IDE. Enquanto não sai o Developer Studio, a Exadel colocou a versão Pro do Studio em trial, até ser lançado o RHDS que pode ser sacado <a href="http://www.exadel.com/web/portal/download/esp35">aqui</a>.</p>
<p>Teremos, assim, um ambiente de desenvolvimento open-source, uma ferramenta de alta qualidade especializada para trabalhar com JSF, ADF, Seam e outros, e com especial cuidado à integração de componentes da família jboss. Destaca-se, especialmente, a atenção que será dada ao <a href="http://labs.jboss.com/portal/jbossseam/">JBoss Seam</a>, tecnologia que falarei num próximo post.</p>
<p>A Exadel, passa para um modelo de serviço e não de produtização, sendo que teremos a hipótese de contratar suporte. Os detalhes de como funcionará a parceria Red Hat / Exadel encontram-se <a href="http://blogs.jboss.com/blog/slabourey/2007/03/05/Red_Hat_partners_with_Exadel_The_Grand_Unification_is_en_route.txt">neste post do Sacha Labourey</a>, general manager da JBoss.</p>
<p>Isto são mesmo excelentes notícias. O Ajax4jsf é, pelo que ouvi falar, um bom produto para desenvolver ajax e Development Studio pode aumentar muito a produtividade, porque vai ter estas ferramentas todas integradas com wizards e coisas do género.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zonaj.org/2007/03/06/exadel-coloca-produtos-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
