<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2portuguesefull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Bruno Braga</title>
	
	<link>http://www.brunobraga.com.br</link>
	<description>Um pouco sobre Java, Produtividade e Ferramentas IBM</description>
	<pubDate>Mon, 11 Jul 2011 17:19:58 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/brunobraga" /><feedburner:info uri="brunobraga" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fbrunobraga" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fbrunobraga" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fbrunobraga" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/brunobraga" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fbrunobraga" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fbrunobraga" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fbrunobraga" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item>
		<title>O que o RTC 3.0 pode fazer por você</title>
		<link>http://feedproxy.google.com/~r/brunobraga/~3/RPtbFTMmRZA/</link>
		<comments>http://www.brunobraga.com.br/2010/11/29/o-que-o-rtc-3-pode-fazer-por-voce/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 13:17:41 +0000</pubDate>
		<dc:creator>Bruno Braga</dc:creator>
		
		<category><![CDATA[IBM]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Agile]]></category>

		<category><![CDATA[Jazz]]></category>

		<category><![CDATA[Team Concert]]></category>

		<guid isPermaLink="false">http://www.brunobraga.com.br/?p=77</guid>
		<description><![CDATA[Para quem ainda não conhece, o IBM Rational Team Concert (RTC) é uma ferramenta para gestão do ambiente de desenvolvimento de forma colaborativa e pode ser usada tanto com desenvolvimento tradicional quanto com desenvolvimento ágil.
O que a ferramenta faz na prática é combinar recursos de gerencia de defeito (bug tracking) com gestão de mudanças, com [...]]]></description>
			<content:encoded><![CDATA[<p>Para quem ainda não conhece, o IBM Rational Team Concert (RTC) é uma ferramenta para gestão do ambiente de desenvolvimento de forma colaborativa e pode ser usada tanto com desenvolvimento tradicional quanto com desenvolvimento ágil.</p>
<p>O que a ferramenta faz na prática é combinar recursos de gerencia de defeito (bug tracking) com gestão de mudanças, com planejamento e gerenciamento de projeto, com controle de versão (SCM) e com integração contínua – tudo isso em uma única solução sem necessidade de integrações, configurações complicadas e investimentos adicionais.</p>
<p>Além de um grande número de features, a simplicidade, usabilidade e performance foram as prioridades da IBM neste projeto comandado por Erich Gamma e lançado em 2008. Em 2010 foi eleito pela Forrester Research Inc em sua pesquisa “Agile Development Management Tools” como a melhor do mercado em número/qualidade das features (current offering). Segue abaixo uma cópia da pesquisa para consulta:</p>
<p><a href="ftp://public.dhe.ibm.com/common/ssi/ecm/en/ral14023usen/RAL14023USEN.PDF" target="_blank">ftp://public.dhe.ibm.com/common/ssi/ecm/en/ral14023usen/RAL14023USEN.PDF</a></p>
<p>O detalhe é que a versão analisada pelo Forrester foi o RTC 2.0. Agora (dia 23/11) foi lançamento a versão 3.0 com muito mais features e diferenciais estrategicos e de negocio para os usuários. Segue abaixo um resumo das principais novidades:</p>
<ul>
<li><strong>Distribuição e Licenciamento:</strong><br />
A forma de distribuição da ferramenta foi alterada. Agora não é mais  necessário pagar pelo server. Ou seja: comprando 10 licenças de usuário  você pode ter até 10 servers. Essa flexibilidade permite criar ambiente  de treinamento, homologação e produção para o RTC sem custos adicionais.</li>
<li><strong>Versão Gratuita com mais funcionalidades:</strong><br />
Até o RTC 2.x a distribuição era dividida em Express-C, Express,  Standard e Enterprise. Cada uma com um conjunto de funcionalidades  diferentes. Na pratica o Express-C (versão gratuita até 10 usuários) era  a versão mais simples e não possuia muitos recursos de customização por  exemplo. Agora não existe mais versão de RTC Server e a lista de  funcionalidades está associada ao tipo de licença de usuário ao invés do  tipo de server. Com essa mudança os “Free Developers” tem acesso a  maior parte das funcionalidades da ferramenta sem custo!</li>
<li><strong>Gerenciamento de Projetos:</strong><br />
Houve uma mudança de estrategia / escopo dos produtos e as principais  features de gerenciamento de projetos formais (não-ageis) que estavam  no RPC (Rational Project Conductor) foram incorporadas ao RTC. Com isso o  RTC 3.0 possui gantt chart, dependencia entre tarefas, restrições,  alocação de recursos, time tracking, gerenciamento de riscos entre  outros recursos que já estavam presentes no RTC 2.x.<img style="border: 0pt none;" src="http://www.brunobraga.com.br/img/rtc_gantchart.png" alt="" width="550" height="234" /></li>
<li><strong>Nova Interface WEB:</strong><br />
A interface WEB que já era excelente foi melhorada. Os pontos  positivos foram mantidos mas foi adicionado mais flexibilidade em  personalizações como menu customizável e gadgets OpenSocial. Além disso o  carregamento via interface web ficou mais leve com melhoras notáveis  nos planos do projeto.<br />
Essa reestruturação serviu também para implementar novos recursos  na interface web que até então estavam disponíveis somente via interface  Eclipse.</li>
<li><strong>SCM Distribuído:</strong><br />
Muitas empresas tem a necessidade de dividir o desenvolvimento de  software com parceiros e fábricas externas. Com o SCM distribuído isso  ficou mais fácil. Agora é possível armazenar os artefatos no SCM de um  RTC local e depois sincronizá-lo com um RTC remoto.</li>
<li><strong>Suporte ao Visual Studio Melhorado:</strong><br />
Vários recursos avançados foram implementados para o Visual Studio que  está mais alinhado com os recursos presentes no Eclipse. Outra melhora  considerável é o suporte ao Visual Studio 2010.</li>
<li><strong>Mais Integrações e Suporte ao Legado:</strong><br />
A solução de integração do RTC 1.0 com ferramentas legadas era  exclusivamente via connector que na prática é um duplicador de dados  automatizado. Na versão 2.0 surgiu o brigde que estabelece um link entre  dados do RTC e ferramentas externas sem a necessidade de duplicações.  Na versão 3.0 as ferramentas passaram a utilizar melhor o bridge com  links bidirecionais e a suporte a mais ferramentas legadas / versões.<br />
No Brasil grande parte dos clientes de ClearCase usam ClearCase  Base ao invés do UCM e a integração com ClearCase Base agora é  suportada. Além disso falando de produtos Rational, as integrações com  Rational ClearQuest, Rational Synergy e Rational Change sofreram  melhoras significativas.</li>
</ul>
<p>O RTC faz parte do projeto Jazz (jazz.net) que é a plataforma de integração de ferramentas de desenvolvimento lançado junto com o RTC. Vale lembrar que este projeto seguiu o sucesso e experiencia da IBM no projeto Eclipse. Através do jazz.net você pode: interagir com a comunidade, deixar sugestões de melhorias, reportar defeitos, discutir com os desenvolvedores, baixar o código fonte e versões free, estudar a arquitetura do produto e o padrão aberto OSLC, acessar o roadmap das novas versões, enfim participar do desenvolvimento colaborativo da única plataforma ALM aberta do mercado.</p>
<p>Isso é um pouco do que o RTC pode fazer por você e sua equipe. Descubra mais em:<br />
<a href="http://jazz.net/projects/rational-team-concert" target="_blank">http://jazz.net/projects/rational-team-concert</a></p>
<p>Conheça e acesse este conteúdo também no blog da IBM Rational: <a href="http://bit.ly/dRDILC" target="_blank">http://bit.ly/dRDILC</a></p>
<img src="http://feeds.feedburner.com/~r/brunobraga/~4/RPtbFTMmRZA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.brunobraga.com.br/2010/11/29/o-que-o-rtc-3-pode-fazer-por-voce/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.brunobraga.com.br/2010/11/29/o-que-o-rtc-3-pode-fazer-por-voce/</feedburner:origLink></item>
		<item>
		<title>Tendências do projeto Eclipse e como elas podem influenciar nas ferramentas IBM Rational</title>
		<link>http://feedproxy.google.com/~r/brunobraga/~3/f_fF3GKepCE/</link>
		<comments>http://www.brunobraga.com.br/2010/11/29/tendencias-eclipse/#comments</comments>
		<pubDate>Mon, 29 Nov 2010 12:43:18 +0000</pubDate>
		<dc:creator>Bruno Braga</dc:creator>
		
		<category><![CDATA[IBM]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Eclipse]]></category>

		<category><![CDATA[Jazz]]></category>

		<category><![CDATA[Team Concert]]></category>

		<guid isPermaLink="false">http://www.brunobraga.com.br/?p=76</guid>
		<description><![CDATA[Esse blog estava meio parado desde que comecei a viajar muito e ficar sem tempo. Mas vou postar aqui alguns tópicos que postei no blog da IBM Rational para começar a movimentá-lo novamente =)
O projeto Eclipse (eclipse.org) foi originalmente criado pela IBM em 2001 e tem desde então recebido cada vez mais apoio de empresas [...]]]></description>
			<content:encoded><![CDATA[<p>Esse blog estava meio parado desde que comecei a viajar muito e ficar sem tempo. Mas vou postar aqui alguns tópicos que postei no blog da IBM Rational para começar a movimentá-lo novamente =)</p>
<p>O projeto Eclipse (eclipse.org) foi originalmente criado pela IBM em 2001 e tem desde então recebido cada vez mais apoio de empresas e comunidades de software livre.<br />
Com o sucesso desse modelo de desenvolvimento envolvendo simultaneamente empresas e comunidade, em 2004 foi criada uma entidade independente chamada Eclipse Foundation. Essa entidade tem até hoje o objetivo de preservar a independencia do projeto Eclipse de desejos da empresa A ou B, dando voz a todos o envolvidos.<br />
Os resultados são expressivos. Há algum tempo temos o Eclipse como base de ferramentas IBM e vários outros players, sem falar em projetos da comunidade.<br />
Tudo isso tem feito o Eclipse evoluir muito rápido gerando beneficios para todos. Neste sentido, uma feature nova não é importante apenas para o software eclipse que baixamos do eclipse.org, ela gera valor para software livre e comercial e mais ainda para você usuário de alguma dessas ferramentas.</p>
<p>Já que o Eclipse é tão importante por ser a base de outros softwares, quais são suas tendências e o que está por vir para beneficiar nosso dia a dia?<br />
Olhando o presente, o Eclipse 3.6 lançado recentemente provavelmente vai ser a utilizado em ferramentas Rational que serão lançadas em 2011. Essa versão possui uma série de pequenas melhorias em cima de uma base consolidada. Mas para falarmos de tendencias temos que olhar mais a frente.</p>
<p>Conhecendo o Eclipse e olhando para o futuro é fácil prever que: as ferramentas que serão lançadas em meados de 2012 e que talvez nem começaram a ser projetadas vão ter sua interface visual “repaginada” com um design similar a imagem abaixo.</p>
<p><img style="vertical-align: middle; border: 0pt none;" src="http://www.brunobraga.com.br/img/eclipse-4.png" alt="" width="650" height="510" /></p>
<p>Esse é um print do Eclipse 4 para &#8220;Early Adopters&#8221; que acaba de ser liberado. Basicamente essa é uma versão inicial do Eclipse 4 direcionada apenas para que desenvolvedores de plug-ins comecem a adaptar suas extensões para essa nova versão do Eclipse.</p>
<p>Ainda pensando em interface visual, este novo Eclipse vai suportar temas baseados em CSS, maior customização de widgets (campos e componentes visuais) e a tendencia é que cada aplicativo baseado nesta IDE tenha cada vez mais uma identidade visual diferenciada. Em alguns casos a primeira vista possivelmente nem vamos perceber que o software que iremos utilizar tem por trás uma solução tão madura e cada vez mais customizável.</p>
<p>Por falar em Eclipse, não foi atoa que seu modelo de desenvolvimento foi escolhido pela IBM para ser a base de outro projeto – http://www.jazz.net onde encontramos o Rational Team Concert, Rational Quality Manager, Rational Requirements Composer, entre outros que tem seguido o mesmo caminho de sucesso.</p>
<p>link original: <a href="http://bit.ly/go5qIB" target="_blank">http://bit.ly/go5qIB</a></p>
<img src="http://feeds.feedburner.com/~r/brunobraga/~4/f_fF3GKepCE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.brunobraga.com.br/2010/11/29/tendencias-eclipse/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.brunobraga.com.br/2010/11/29/tendencias-eclipse/</feedburner:origLink></item>
		<item>
		<title>SPIDER on Rails no Demoiselle (projeto do governo)</title>
		<link>http://feedproxy.google.com/~r/brunobraga/~3/ZFZb3uwDZDk/</link>
		<comments>http://www.brunobraga.com.br/2010/02/02/spider-on-rails-no-demoiselle-projeto-do-governo/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 03:22:04 +0000</pubDate>
		<dc:creator>Bruno Braga</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Demoiselle]]></category>

		<category><![CDATA[SPIDER on Rails]]></category>

		<guid isPermaLink="false">http://www.brunobraga.com.br/?p=75</guid>
		<description><![CDATA[Uma boa notícia: o Demoiselle - framework do governo (SERPRO) para desenvolvimento Java avaliou e divulgou em seu blog um post sobre a ferramenta SPIDER on Rails:
http://sourceforge.net/apps/wordpress/demoiselle/2010/01/26/spider-on-rails-gerando-codigo-demoiselle/
O resultado da analise detalhada (ver link acima) e criação de um template para o Demoiselle foram bastante positivos e podemos destacar alguns trechos dessa analise:
&#8220;Continuando minha busca por [...]]]></description>
			<content:encoded><![CDATA[<p>Uma boa notícia: o <a href="http://www.frameworkdemoiselle.gov.br" target="_blank">Demoiselle</a> - framework do governo (SERPRO) para desenvolvimento Java avaliou e divulgou em seu blog um post sobre a ferramenta <a href="http://www.spideronrails.org/cnf/display/PT/Home" target="_blank">SPIDER on Rails</a>:</p>
<p><a href="http://sourceforge.net/apps/wordpress/demoiselle/2010/01/26/spider-on-rails-gerando-codigo-demoiselle" target="_blank">http://sourceforge.net/apps/wordpress/demoiselle/2010/01/26/spider-on-rails-gerando-codigo-demoiselle/</a></p>
<p>O resultado da analise detalhada (ver link acima) e criação de um template para o Demoiselle foram bastante positivos e podemos destacar alguns trechos dessa analise:</p>
<blockquote><p><em>&#8220;Continuando minha busca por alternativas legais para geração automática de código usando <em>templates</em> encontrei na <a href="http://www.infoq.com/news/2008/03/J2EE-Spider" target="_self">InfoQ</a> o interessantíssimo projeto<em> open source</em> <a href="http://www.spideronrails.org/cnf/display/PT/Home" target="_self">SPIDER On Rails</a>, um plug-in Eclipse bastante customizável que possibilita a criação de aplicações completas em várias linguagens&#8221;</em></p></blockquote>
<blockquote><p><em>&#8220;A geração automática de código costuma ser bastante criticada pela impossibilidade em se controlar a qualidade do que é produzido. O SPIDER permite uma grande flexibilidade para que deixemos o código do “nosso jeito” ou do “jeito da nossa organização”.&#8221;</em></p></blockquote>
<blockquote><p><em>&#8220;Vale destacar aqui uma funcionalidade muito interessante do SPIDER. O uso de incrementos com base em Expressões Regulares, permite incluir um pequeno trecho de código (incremento) em arquivos já existes sem perder configurações e/ou customizações do desenvolvedor realizadas anteriormente. Isso permite, por exemplo, alterar conteúdo de classes, páginas e arquivos de propriedades, a cada geração de um novo CRUD&#8221; </em>(sem perder nada).</p></blockquote>
<img src="http://feeds.feedburner.com/~r/brunobraga/~4/ZFZb3uwDZDk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.brunobraga.com.br/2010/02/02/spider-on-rails-no-demoiselle-projeto-do-governo/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.brunobraga.com.br/2010/02/02/spider-on-rails-no-demoiselle-projeto-do-governo/</feedburner:origLink></item>
		<item>
		<title>Mitos sobre geração de código</title>
		<link>http://feedproxy.google.com/~r/brunobraga/~3/yQzMJ-TIhpM/</link>
		<comments>http://www.brunobraga.com.br/2009/12/24/mitos-sobre-geracao-de-codigo/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 01:43:22 +0000</pubDate>
		<dc:creator>Bruno Braga</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Geração de Código]]></category>

		<category><![CDATA[SPIDER on Rails]]></category>

		<guid isPermaLink="false">http://www.brunobraga.com.br/?p=74</guid>
		<description><![CDATA[Segue abaixo um artigo que escrevi no site do projeto SPIDER on Rails:
O termo &#8220;mito&#8221; é, por vezes, utilizado de forma pejorativa para se referir às crenças comuns.
E existe uma cresca comum que geração de código é algo ruim em projetos.
Encarnando os MythBusters vamos tentar analisar objetivamente se esse mito é válido.
A geração de código [...]]]></description>
			<content:encoded><![CDATA[<p>Segue abaixo um artigo que escrevi no site do projeto SPIDER on Rails:</p>
<blockquote><p>O termo &#8220;mito&#8221; é, por vezes, utilizado de forma pejorativa para se referir às crenças comuns.<br />
E existe uma cresca comum que geração de código é algo ruim em projetos.</p>
<p>Encarnando os <strong>MythBusters</strong> vamos tentar analisar objetivamente se esse mito é válido.</p></blockquote>
<p>A geração de código é a capacidade de gerar artefatos a partir de diagramas, templates ou até comandos.</p>
<p>Um fato constatável é que alguns desenvolvedores são um pouco resistentes ao termo &#8220;Geração de Código&#8221;.<br />
As principais reclamações são:</p>
<ul>
<li>O código gerado não respeita nenhuma regra de arquitetura, é simplesmente &#8220;um monte de código&#8221; de má qualidade;</li>
<li>Não é possível manter o código gerado porque ele não segue nenhum padrão e é difícil de entender, sempre é necessário regerar o código em caso de mudanças;</li>
<li>Após gerar o código a minha aplicação fica sempre depedente da ferramenta de geração, sem ela o projeto não pode ser alterado;</li>
</ul>
<p>Dada à diversidade de ferramentas dessa área, estes pontos parecem estar corretos. É fácil encontrar esses tipos de problemas e limitações.<br />
Indo mais além, muitos de nós já se deparou com projetos que prometiam criar um sistema por completo usando geração de código (ferramentas CASE), porém sabemos que isso não é a realidade. Não podemos substituir as pessoas, os programadores, criar regras de negócios automaticamente, prever e implementar soluções para todos os cenários somente gerando código. O computador não possui autonomia para sozinho atender aos nossos clientes exigentes =)&#8230; Muito menos foi projetado para tomar todas as decisões no lugar das pessoas.</p>
<p>Então o mito tem fundamento? Geração de código é realmente algo ruim? Vai gerar código que não preciso e atrapalhar o meu projeto?</p>
<p>Essas questões são interessantes, e para buscar uma resposta precisamos isolar os problemas e conceitos, entender o que de fato é geração de código e de onde vem todo o problema.</p>
<p><strong>Ferramentas CASE e similares</strong></p>
<p>Essas ferramentas criadas na década de 90 são responsáveis por boa parte das promessas de &#8220;mágica&#8221; utilizando geração de código através de modelos. Muitas dessas ferramentas prometiam criar sistema inteiros sem programar nenhuma linha de código. Foi uma estratégia que nunca deu certo e essas falsas promessas surgiram de algumas empresas e das ferramentas e não do conceito de geração de código que é utilizado até hoje (mesmo sem percebermos) em quase todos os softwares que desenvolvemos.</p>
<p><strong>Geração de código</strong></p>
<p>Neste tópico o objetivo é descobrir porque praticamente todo projeto usa geração de código e o que de fato é isso.</p>
<p>Alguns exemplos comuns a todos os projetos:</p>
<ul>
<li>Um wizard da IDE para criar novos projetos é um gerador de código. A partir de dados informados pelo usuário, a ferramenta vai gerar artefatos (arquivos) que inicializem um novo projeto.</li>
<li>Por mais estranho que possa parecer, a compilação de código fonte em arquivos binários é geração de código. A partir de comandos de uma linguagem de alto nível são gerados artefatos de outra linguagem de máquina (baixo nível).</li>
</ul>
<p>Esses exemplos podem parecer polêmicos para alguns pontos de vista, mas a verdade é que não existe uma definição precisa sobre o conceito de geração de código. Existem opiniões e interpretações diferentes que nos levar a ter um certeza - geração de código é algo muito mais amplo do que conhecemos na maioria das ferramentas e é utilizado com muito mais frequencia do que imaginamos.</p>
<p>Vejamos por exemplo o que diz a Wikipedia:<br />
&#8220;Gerador de Código é aquela ferramenta que possui a capacidade de gerar código a partir de um determinado modelo de software. Inclusive, de acordo com alguns pontos de vista e a partir das características específicas do tipo de Gerador de Código, ele passa a ser conversor de códigos de linguagens distintas. Isso acontece, por exemplo, com o compilador, que transforma um código escrito através de uma linguagem de programação para código de máquina ou código objeto.&#8221;</p>
<p>Já Kathleen Dollard em 2004 no livro Code Generation in Microsoft .NET, foi mais genérica ainda ao definir: “Geração de código é o código que gera código”. Em 2003, Jack Herrington no livro Code Generation in Action preferiu dividir a geração de código entre passiva e ativa. Onde os wizards seriam um exemplo de geração passiva, pois não mantém responsabilidade com o código gerado – qualquer alteração depois da geração é realizada pelo desenvolvedor manualmente, e o tipo ativo que segundo ele mantém a responsabilidade - um código poderia ser gerado em ciclos e quando precisasse de alterações o desenvolvedor recorreria novamente a ferramenta de geração, forneceria novos dados e seria gerado o código de novo.</p>
<p>Aqui não vamos dividir a geração de código em tipos, até porque seguindo ao pé da letra as definições de Herrington, o projeto SPIDER on Rails não faz geração de código 100% ativa nem passiva, ele é orientado as necessidades do desenvolvedor, podendo se comportar das duas formas no mesmo projeto inclusive. O que temos que ter em mente é que se havia alguma dúvida, agora é fato: a Geração de Código faz parte do dia a dia dos desenvolvedores e todos a utilizam, mesmo sem perceber. Ela é extremamente importante para evitar tarefas repetitivas ou trabalhosas, já que muitas podem ser automatizadas de alguma forma para ganhar produtividade. Só devemos lembrar que em nenhum momento a geração de código tem como objetivo fazer tudo sozinha.</p>
<p><strong>Conclusão</strong></p>
<p>Voltando a pergunta: &#8220;Geração de código é realmente algo ruim? Vai gerar código que não preciso e atrapalhar o meu projeto?&#8221;</p>
<p><ins>A resposta é não! Geração de código não é ruim, não vai atrapalhar o seu projeto e nem tem o objetivo de criar código totalmente pronto.</ins></p>
<p>Existem algumas características que devem que existir para que a geração de código seja algo útil, entre elas:</p>
<ul>
<li>Suporte a templates para alterar o comportamento da ferramenta;</li>
<li>Seja fácil de utilizar;</li>
<li>O projeto tem que continuar sem depender da ferramenta de geração de código;</li>
<li>Ao gerar o código novamente a ferramenta não pode apagar as customizações do desenvolvedor;</li>
<li>Não tentar fazer o projeto todo gerando código, as pessoas são importantes e elas devem tomar as maiores decisões. A ferramenta é apenas um suporte para melhorar a produtividades em alguns pontos;</li>
</ul>
<p><span style="color: green;"><strong>São esses e outros pontos que valorizamos no projeto SPIDER on Rails.</strong></span></p>
<p>fonte: <a href="http://www.spideronrails.org/cnf/pages/viewpage.action?pageId=5111911" target="_blank">http://www.spideronrails.org/cnf/pages/viewpage.action?pageId=5111911</a></p>
<img src="http://feeds.feedburner.com/~r/brunobraga/~4/yQzMJ-TIhpM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.brunobraga.com.br/2009/12/24/mitos-sobre-geracao-de-codigo/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.brunobraga.com.br/2009/12/24/mitos-sobre-geracao-de-codigo/</feedburner:origLink></item>
		<item>
		<title>Twitter ativado</title>
		<link>http://feedproxy.google.com/~r/brunobraga/~3/rBuxB8RMz7A/</link>
		<comments>http://www.brunobraga.com.br/2009/12/07/twitter-ativado/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 03:07:29 +0000</pubDate>
		<dc:creator>Bruno Braga</dc:creator>
		
		<category><![CDATA[Pessoal]]></category>

		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.brunobraga.com.br/?p=73</guid>
		<description><![CDATA[Eu já havia criado a algum tempo mas resisti um pouco para postar no Twitter devido a correria e falta de tempo. Mas agora com um HTC Hero (android OS) ficou mais fácil e posso fazer atualizações de qualquer lugar.
Segue o link:
http://www.twitter.com/bgbraga
Algumas pessoas as vezes me perguntam sobre o projeto J2EE Spider (ainda existe?) então [...]]]></description>
			<content:encoded><![CDATA[<p>Eu já havia criado a algum tempo mas resisti um pouco para postar no Twitter devido a correria e falta de tempo. Mas agora com um <a href="http://www.htc.com/pt/product/hero/overview.html" target="_blank">HTC Hero</a> (<a href="http://www.android.com" target="_blank">android OS</a>) ficou mais fácil e posso fazer atualizações de qualquer lugar.</p>
<p>Segue o link:</p>
<p><a href="http://www.twitter.com/bgbraga" target="_blank">http://www.twitter.com/bgbraga</a></p>
<p>Algumas pessoas as vezes me perguntam sobre o projeto <a href="http://www.j2eespider.org" target="_blank">J2EE Spider</a> (ainda existe?) então vou tentar postar algumas novidades rápidas sobre ele e outras coisas de tecnologia.</p>
<img src="http://feeds.feedburner.com/~r/brunobraga/~4/rBuxB8RMz7A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.brunobraga.com.br/2009/12/07/twitter-ativado/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.brunobraga.com.br/2009/12/07/twitter-ativado/</feedburner:origLink></item>
		<item>
		<title>World Community Grid</title>
		<link>http://feedproxy.google.com/~r/brunobraga/~3/SYDiT7GfcGs/</link>
		<comments>http://www.brunobraga.com.br/2009/10/21/world-community-grid/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 22:50:36 +0000</pubDate>
		<dc:creator>Bruno Braga</dc:creator>
		
		<category><![CDATA[Pessoal]]></category>

		<category><![CDATA[World Community Grid]]></category>

		<guid isPermaLink="false">http://www.brunobraga.com.br/?p=72</guid>
		<description><![CDATA[Agora aqui no blog, na coluna da direita vou exibir um widget como esse:

Já participo do programa a alguns meses e para quem não conhece o World Community Grid (WCG) é uma comunidade mundial onde as pessoas podem ajudar a descoberta de curas para doenças como Influenza A, Câncer, Diabetes, Dengue, etc..
A ajuda é feita [...]]]></description>
			<content:encoded><![CDATA[<p>Agora aqui no blog, na coluna da direita vou exibir um widget como esse:</p>
<p style="text-align: center;"><code><iFrame frameborder="0" src="http://www.worldcommunitygrid.org/getDynamicImage.do?memberName=bruno.braga&amp;mnOn=true&amp;stat=1&amp;imageNum=4&amp;rankOn=true&amp;projectsOn=false&amp;special=true" width="130" height="190"></iFrame></code></p>
<p>Já participo do programa a alguns meses e para quem não conhece o <a href="http://www.worldcommunitygrid.org" target="_blank">World Community Grid (WCG)</a> é uma comunidade mundial onde as pessoas podem ajudar a descoberta de curas para doenças como Influenza A, Câncer, Diabetes, Dengue, etc..<br />
A ajuda é feita de uma forma muito simples. A pessoa instala um software em uma máquina e nos momentos de ociosidade este software realiza cálculos que vão ajudar na cura de doenças.<br />
A idéia do Grid é utilizada pelos cientistas para dividir os cálculos de algumas pesquisas entre diversos computadores sem impactar o trabalho das pessoas.</p>
<p>Além de ajudar, o WCG gera um ranking com as colaborações. No momento tenho #98,360 pontos e estou em #141,516 no ranking das pessoas que mais colaboraram.</p>
<p>Uma boa entrevista sobre esse programa pode ser vista no GloboNews através deste link:</p>
<p><a href="http://video.globo.com/Videos/Player/Noticias/0,,GIM1053196-7823-A+FILANTROPIA+VIRTUAL+AUXILIA+PESQUISAS+PARA+CURA+DE+DOENCAS,00.html " target="_blank">http://video.globo.com/Videos/Player/Noticias/0,,GIM1053196-7823-A+FILANTROPIA+VIRTUAL+AUXILIA+PESQUISAS+PARA+CURA+DE+DOENCAS,00.html </a></p>
<p>O software do World Community Grid geralmente não executa os cálculos de forma concorrente com o usuário. Mas ele também pode ser configurado para executar os cálculos somente quando a pessoa não estiver na máquina, ou seja: quando a máquina estiver bloqueada (essa inclusive é a forma que utilizo). Então contribua sem medo de deixar a máquina lenta!</p>
<img src="http://feeds.feedburner.com/~r/brunobraga/~4/SYDiT7GfcGs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.brunobraga.com.br/2009/10/21/world-community-grid/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.brunobraga.com.br/2009/10/21/world-community-grid/</feedburner:origLink></item>
		<item>
		<title>Smart Work e Sr. Ping</title>
		<link>http://feedproxy.google.com/~r/brunobraga/~3/kGsmydXMnFY/</link>
		<comments>http://www.brunobraga.com.br/2009/09/16/smart-work-e-sr-ping/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 03:12:52 +0000</pubDate>
		<dc:creator>Bruno Braga</dc:creator>
		
		<category><![CDATA[IBM]]></category>

		<category><![CDATA[Agile]]></category>

		<category><![CDATA[Jazz]]></category>

		<category><![CDATA[Smart Work]]></category>

		<category><![CDATA[Team Concert]]></category>

		<guid isPermaLink="false">http://www.brunobraga.com.br/?p=69</guid>
		<description><![CDATA[Smart Work
A IBM está lançando uma iniciativa chamada Smart Work que visa criar um ambiente de trabalho melhor para as pessoas e organizações, com mais produtividade, agilidade e colaboração.
Na prática um dos pilares desta iniciativa é o desenvolvimento ágil.
Veja alguns trechos da chamada:
&#8220;O mundo dos negócios muda rapidamente, e somente serão bem-sucedidas aquelas pessoas e [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Smart Work</strong></p>
<p>A IBM está lançando uma iniciativa chamada Smart Work que visa criar um ambiente de trabalho melhor para <a href="http://www.brunobraga.com.br/wp-content/uploads/2009/09/smartwork_168x64.jpg"><img class="alignleft size-full wp-image-70" style="float: left;" title="smartwork_168x64" src="http://www.brunobraga.com.br/wp-content/uploads/2009/09/smartwork_168x64.jpg" alt="" width="168" height="64" /></a>as pessoas e organizações, com mais produtividade, agilidade e colaboração.<br />
Na prática um dos pilares desta iniciativa é o desenvolvimento ágil.</p>
<p>Veja alguns trechos da chamada:</p>
<p>&#8220;O mundo dos negócios muda rapidamente, e somente serão bem-sucedidas aquelas pessoas e organizações que respondam a estas mudanças de maneira ágil e eficaz. Para otimizar o desempenho da sua empresa, não é necessário trabalhar mais ou fazer maiores despesas em recursos, mas sim trabalhar de modo mais inteligente. O trabalho mais inteligente cria um ambiente de negócios colaborativo e conectado, que dá poder às pessoas e foi criado para enfrentar as mudanças.&#8221;</p>
<p>&#8220;Para a IBM, trabalhar de forma mais inteligente significa atuar em um ambiente de negócios colaborativo e conectado, que capacita as pessoas e é orientado à mudança.&#8221;</p>
<p>Para participar desta iniciativa e discutir sobre o assunto durante 72 horas com outros lideres se inscreva no endereço abaixo:</p>
<p><a href="http://www-01.ibm.com/software/solutions/smartwork/virtual" target="_blank">http://www-01.ibm.com/software/solutions/smartwork/virtual<br />
</a></p>
<p><strong>Sr. Ping</strong></p>
<p>Falando em ambiente colaborativo, a campanha do Sr. Ping sobre plataforma colaborativa <a href="http://jazz.net" target="_blank">Jazz</a> da IBM está voltando e com novidades.</p>
<p><a href="http://www.viagemdosrping.com.br" target="_blank"><img class="aligncenter size-full wp-image-71" title="sr_ping2" src="http://www.brunobraga.com.br/wp-content/uploads/2009/09/sr_ping2.jpg" alt="" width="499" height="517" /></a></p>
<p>Agora ela fala sobre um ambiente colaborativo ALM (Application Lifecycle Management) através da integração do Rational Team Concert (RTC) com outras ferramentas como o Rational Requirement Composer (RRC).</p>
<img src="http://feeds.feedburner.com/~r/brunobraga/~4/kGsmydXMnFY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.brunobraga.com.br/2009/09/16/smart-work-e-sr-ping/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.brunobraga.com.br/2009/09/16/smart-work-e-sr-ping/</feedburner:origLink></item>
		<item>
		<title>Case Study mundial de IBM Rational Team Concert</title>
		<link>http://feedproxy.google.com/~r/brunobraga/~3/tq5WFhY_Ans/</link>
		<comments>http://www.brunobraga.com.br/2009/09/08/case-study-mundial-de-rational-team-concert/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 03:58:42 +0000</pubDate>
		<dc:creator>Bruno Braga</dc:creator>
		
		<category><![CDATA[IBM]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Pessoal]]></category>

		<category><![CDATA[Case]]></category>

		<category><![CDATA[Team Concert]]></category>

		<guid isPermaLink="false">http://www.brunobraga.com.br/?p=68</guid>
		<description><![CDATA[A GlobalValue (GVS), já era referência no Brasil sobre IBM Rational Team Concert (RTC), e a poucos dias atrás concluímos mais um passo desse trabalho. O pessoal da IBM internacional gostou da nossa implementação e agora somos Case Study mundial de RTC.
Eles disponibilizaram várias informações sobre nossa implementação no site www da IBM com acesso [...]]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://www.globalvalue.com.br" target="_blank">GlobalValue (GVS)</a>, já era referência no Brasil sobre IBM Rational Team Concert (RTC), e a poucos dias atrás concluímos mais um passo desse trabalho. O pessoal da IBM internacional gostou da nossa implementação e agora somos Case Study mundial de RTC.</p>
<p>Eles disponibilizaram várias informações sobre nossa implementação no site www da IBM com acesso livre para todos que tiverem interesse:</p>
<p><a href="http://www-01.ibm.com/software/success/cssdb.nsf/CS/CCLE-7UZUKJ" target="_blank">http://www-01.ibm.com/software/success/cssdb.nsf/CS/CCLE-7UZUKJ</a></p>
<p>Há um link para o PDF a direita.</p>
<p>Essa ferramenta tem ajudado a resolver muitos problemas do nosso dia a dia e esse Case Study foi muito bacana porque poucas empresas do Brasil tem referencias publicadas nesta database. Sinal que estamos fazendo coisas boas e no caminho certo <img src='http://www.brunobraga.com.br/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Para quem trabalha com desenvolvimento de software e ainda não conhece o RTC, não deixe de espiar o site <a href="http://www.jazz.net" target="_blank">jazz.net</a>. A ferramenta é 3 em 1 (controle de mudança, controle de versão e integração continua) e possui muitos recursos para desenvolvimento agil (como SCRUM) e também pode ser utilizada em outro cenários mais tradicionais.</p>
<p>Informações sobre este case também foram apresentados nos eventos <a href="http://www.brunobraga.com.br/2009/08/10/rational-comes-to-you-bh" target="_blank">Rational Comes to You</a> em várias cidades este ano.</p>
<img src="http://feeds.feedburner.com/~r/brunobraga/~4/tq5WFhY_Ans" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.brunobraga.com.br/2009/09/08/case-study-mundial-de-rational-team-concert/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.brunobraga.com.br/2009/09/08/case-study-mundial-de-rational-team-concert/</feedburner:origLink></item>
		<item>
		<title>Programa de Certificações IBM em Belo Horizonte por 30 dólares</title>
		<link>http://feedproxy.google.com/~r/brunobraga/~3/jG0GT492Bqk/</link>
		<comments>http://www.brunobraga.com.br/2009/09/07/programa-de-certificacoes-ibm-em-belo-horizonte-por-30-dolares/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 14:11:10 +0000</pubDate>
		<dc:creator>Bruno Braga</dc:creator>
		
		<category><![CDATA[IBM]]></category>

		<category><![CDATA[certificação]]></category>

		<guid isPermaLink="false">http://www.brunobraga.com.br/?p=67</guid>
		<description><![CDATA[Pessoal,
Repassando o recado do nosso colega Adriano Tavares,
Recentemente a IBM lançou um promoção de certificações pro 30 dolares, e para  incluir Belo Horizonte no circuito precisamos de confirmar no mínimo 20 inscrições. As datas de aplicação do exame serão definidas posteriormente.
As provas de certificação disponíveis são:

Certificações UML, RUP, SOA e XML por US$30 cada.
Todas [...]]]></description>
			<content:encoded><![CDATA[<p>Pessoal,</p>
<p>Repassando o recado do nosso colega Adriano Tavares,</p>
<p>Recentemente a IBM lançou um promoção de certificações pro 30 dolares, e para  incluir Belo Horizonte no circuito precisamos de confirmar no mínimo 20 inscrições. As datas de aplicação do exame serão definidas posteriormente.</p>
<p>As provas de certificação disponíveis são:</p>
<ul>
<li>Certificações UML, RUP, SOA e XML por US$30 cada.</li>
<li>Todas as certificações das linhas de produto Information Management (DB2, Content Manager, Informix, Optim, SolidDB, U2), Rational, WebSphere e Tivoli, por US$30 cada.</li>
<li>Certificações Lotus e WebSphere Portal com 50% de desconto.</li>
</ul>
<p>Para obter o código do exame, visite o link:<br />
<a href="http://www-03.ibm.com/certify/tests/test_index_bd.shtml" target="_blank">http://www-03.ibm.com/certify/tests/test_index_bd.shtml</a></p>
<p>Para confirmar seu interesse acesse o link:<a href="http://tinyurl.com/cert-ibm-bh" target="_blank"><br />
http://tinyurl.com/cert-ibm-bh</a></p>
<img src="http://feeds.feedburner.com/~r/brunobraga/~4/jG0GT492Bqk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.brunobraga.com.br/2009/09/07/programa-de-certificacoes-ibm-em-belo-horizonte-por-30-dolares/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.brunobraga.com.br/2009/09/07/programa-de-certificacoes-ibm-em-belo-horizonte-por-30-dolares/</feedburner:origLink></item>
		<item>
		<title>Rational Comes to You - BH</title>
		<link>http://feedproxy.google.com/~r/brunobraga/~3/2Pi-dKy2wkk/</link>
		<comments>http://www.brunobraga.com.br/2009/08/10/rational-comes-to-you-bh/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 03:27:43 +0000</pubDate>
		<dc:creator>Bruno Braga</dc:creator>
		
		<category><![CDATA[IBM]]></category>

		<category><![CDATA[Team Concert]]></category>

		<guid isPermaLink="false">http://www.brunobraga.com.br/?p=66</guid>
		<description><![CDATA[Dia 12/08 (quarta-feira) vai acontecer o evento Rational Comes to You aqui em BH organizado pela IBM.
Será na Sucesu e a entrada é gratuita.
O foco é ferramenta de testes (segurança) e plataforma Jazz. Na parte final do evento (Case de Sucesso) eu devo falar alguns minutos sobre a implementação de Rational Team Concert (RTC) na [...]]]></description>
			<content:encoded><![CDATA[<p>Dia 12/08 (quarta-feira) vai acontecer o evento Rational Comes to You aqui em BH organizado pela IBM.</p>
<p>Será na Sucesu e a entrada é gratuita.<br />
O foco é ferramenta de testes (segurança) e <a href="http://www.jazz.net" target="_blank">plataforma Jazz</a>. Na parte final do evento (Case de Sucesso) eu devo falar alguns minutos sobre a implementação de <a href="https://jazz.net/projects/rational-team-concert" target="_blank">Rational Team Concert (RTC)</a> na <a href="http://www.globalvalue.com.br" target="_blank">GVS</a>.</p>
<p>Mais informações no folder abaixo:</p>
<p><img src="http://www.brunobraga.com.br/img/rational_comes_to_you_2009.jpg" alt="" /></p>
<p><a href="http://www-03.ibm.com/e-business/br/campaign/2009/downloads/rational_comes_to_you_mg.html" target="_blank">http://www-03.ibm.com/e-business/br/campaign/2009/downloads/rational_comes_to_you_mg.html</a></p>
<img src="http://feeds.feedburner.com/~r/brunobraga/~4/2Pi-dKy2wkk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.brunobraga.com.br/2009/08/10/rational-comes-to-you-bh/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.brunobraga.com.br/2009/08/10/rational-comes-to-you-bh/</feedburner:origLink></item>
	</channel>
</rss>

