[IMPORTANTE] – Oracle anuncia fusão de suas Java Virtual Machines

Notícia muito importante retirada do site InfoQ. Espero que dê certo a idéia mesmo, pois são duas excelentes máquinas virtuais. Espero que a Sun Hotspot continue aberta e gratuita, tendo a Oracle a partir de agora três modelos disponíveis de JVM, coisa incrível para a empresa. Leiam a notícia na íntegra abaixo:

No webcast da Oracle que ocorreu na última semana, o principal engenheiro da empresa, Mark Reinhold, disse que uma nova JVM acontecerá em no máximo 2 anos. Esta nova JVM será o resultado da fusão entre a HotSpot da Sun e a JRockit herdada da compra da BEA. Reinhold disse que a empresa continuará mantendo as duas versões da JVM em um curto espaço de tempo, devido a empresas que ainda as utilizam:

Não é tão fácil pegar o melhor de cada uma. Não vamos simplesmente parar de fazer uma delas. Consumidores têm coisas em produção para ambos e tomam vantagem de recursos específicos de cada uma. Não vamos causar um terremoto e fazer os sistemas caírem.

A Oracle já havia expressado a vontade de juntar as duas JVM’s na última sessão do Sun-Oracle roadmap. Ele revelou que a nova JVM finalmente sairá, mas estipulou um prazo entre 18 meses à 2 anos para que isso aconteça. A idéia é unir o melhor dos dois mundo. Reinhold se diz admirado com as funcionalidades da JRockit:

Existem funcões no JRockit que, francamente, sentimos inveja por alguns anos. O controle de missão é muito bom.

Ele diz que a HotSpot também tem muitas vantagens, especialmente vantagens em relação a desempenho:

Acreditamos que o código da HotSpot, especialmente o compilador do servidor, é muito mais sofisticado.

Reinhold também especulou que a junção das JVM’s deve juntar o garbage collector da JRockit e o compilador runtime da HotSpot.

É fascinante aprender mais sobre a JRockit nos últimos dois meses. Ela é realmente um VM incrível.

Ter uma JVM unindo o melhor de duas grandes JVMs é uma boa notícia?

Encontre os bugs perdidos no seu código com Sonar

Artigo proveniente do site Boaglio.com. Uma ferramenta para ser usada em conjunto (DEV & QA), e se prometer o que faz é muito poderosa. Gostaria de poder achar reports de uso para ver as impressões. No momento apresento-lhes o conteúdo da ferramente abaixo:

Sonar é uma sigla para SOund NAvigation and Ranging, ou seja, variação e navegação do som, que é justamente o uso das ondas do som para detectar a presença de objetos estranhos no seu caminho.

Sonar

Pois bem, é exatamente essa a proposta do projeto opensource Sonar faz, ele vasculha o código dos seus projetos, faz uma boa análise e gera relatórios que podem ser acessados com o seu web browser favorito.

Existem alguns vídeos disponíveis para mostrar o poder da ferramenta, que é interessante assistir enquanto você faz o download.

O seu projeto precisa usar Maven2 para se integrar ao Sonar, e isso é feito magicamente apenas com um único comando:

1.mvn org.codehaus.sonar:sonar-maven-plugin:1.8:sonar

O Sonar vai agrupar o resultado dessa análise e armazenar em um banco de dados.

Sonar
// //

O interessante também é o recurso chamado Time Machine que permite o acompanhamento da evolução da qualidade do código de seus projetos através de gráficos.

As regras impostas pelas análises são totalmente configuráveis. Se você acha que seu projeto não precisa ter a regra If Stmts Must Use Braces, afinal na sua opinião não há problema em existir comando IF sem as chaves, não tem problema, basta você criar o seu próprio perfil do Sonar e nele desativar e ativar o que quiser. Depois que alterar
o perfil, basta atribuir a esse novo perfil os projetos que desejar e pronto, na próxima análise ou no próximo build, o Sonar usará esse novo perfil.

Veja um exemplo de análise de um projeto:

dashboard do Sonar

Depois de tudo feito, o Sonar permite que você exporte todas suas configurações para um arquivo XML e restaure em outra instância qualquer do Sonar.

Uma ótima saída para automatizar isso é usar o Apache Continuum, vejam no blog do Fernando Franceschi como instalar em seu ambiente.

Existem opções pagas, como o Sonar PL/SQL plugin, que custa duas mil libras e com ele você analisa o código Oracle PL/SQL de sua empresa, o que é muito útil para medir a qualidade interna de seus desenvolvedores, ou de um projeto terceirizado.

Os seus projetos só tem a ganhar se adotarem o Maven, o Sonar é um excelente exemplo disso.

O que Significa para o Java a Aquisição Planejada da Sun pela Oracle

Artigo traduzido retirado do InfoQ.

Embora a Sun Microsystems e Oracle estão celebrando a compra da Sun pela Oracle como um enorme impulso para o Java, muitos na comunidade não estão seguros, pensando que tipo de controle a Oracle vai buscar a exercer sobre a plataforma.

“Java é uma das marcas mais conhecidas e a tecnologia mais implantada da indústria da computação, e é o software mais importante que a Oracle adquiriu,” disse a companhia ao anunciar a aquisição. “Oracle Fusion middleware, o mais rápido crescimento de negócios da Oracle, foi construído no topo da linguagem Java e software da Sun. A Oracle pode agora assegurar inovação continuada e investimento na tecnologia Java para o benefício dos clientes e a comunidade Java.”

Dana Gardner, Principal Analista da Interarbor Solutions, concorda:

“Vencedores do negócio incluem o próprio Java na acepção mais ampla e completa. Oracle e IBM são os principais vendedores de Java, e a força da IBM (e clientes e desenvolvedores) no mercado irão forçar a Oracle a manter o Java aberto e vibrante, enquanto a inclinação da Oracle para controle e sucesso comercial manterão o Java seguro e singular.”

Também parece provável que a Oracle possa resolver alguma das longas disputas na comunidade Java. Mike Milinkovich, o Diretor executivo da Fundação Eclipse, vê OSGi como um vencedor igualmente, contando a InfoQ:

“A aquisição da Sun e o Java pela Oracle segura alguma promessa real para resolver uma das disputas na comunidade Java. Nomeadamente, a direção técnica da modularidade no Java. OSGi está por perto por alguns anos e tem demonstrado sua utilidade como uma boa solução de arquitetura na modularidade Java em domínios desde mobile até enterprise middleware. OSGi foi adotado pelas maiores empresas que licenciam o Java, incluindo a Oracle.Durante alguns anos atrás, parecia que a Sun estava no caminho de reinventar a roda. Com a Oracle dirigindo existe uma chance que a plataforma Java será movida para frente com OSGi como um modelo padronizado para modularidade.”

No espaço empresarial muitos comentaristas parecem concordar que o Java está razoavelmente seguro com a Oracle. Certamente eles ofereceram por um bom tempo suporte ao Java EE e estão envolvidos fortemente em várias JSRs incluindo aquelas para JSF e EJB. E mesmo se eles não manterem o investimento, argumenta Rod Johnson da SpringSource, isso não deve significar muito:

“…inovação em volta da plataforma Java há muito tempo tem sido dirigida por desenvolvedores, através do open source – não por mega vendors. Inovação da comunidade tem transformado produtividade e propulsionado o enterprise Java para fora da era das pedras da arquitetura J2EE da Sun.”

Os efeitos a curto prazo, no entanto são susceptíveis a ser prejudicados. Alex Miller espera ver Java 7 atrasado:

“Integração a uma nova empresa é um processo doloroso e envolve tempo para formular estratégias, reorganizar linhas de negócios e times, possibilidade de demisões e quase certamente pessoas saindo por sua própria conta, trocando para novo IT, HR, e outros sistemas. Tudo que significa tempo de contruir software e a meta para Java 7 já parecia apertado para mim. Eu posso imaginar que esse tempo escorregue de 3 a 6 meses.”

Existe também uma preocupação real sobre outras partes do ecossistema Java – browsers, telefones mobile, smartcards e outros sistemas embutidos. Escrevendo no Ars Technica Paul Ryan colocou o ponto:

“O valor do Java para a Oracle é confinado quase inteiramente no mercado de servidor, então parece extremamente improvável que a Oracle vai querer seguir com os esforços da Sun em restaurar as relevâncias do Java no browser com projetos como JavaFX que tem por objetivo competir com o Framework Flash da Adobe.

Similarmente, o impulso renovado da Sun para o Java em dispositivos mobile podem também potencialmente ser visto como supérfluo pela Oracle. A tendência de toolkits nativos e frameworks no espaço mobile está fazendo Java ME um anacronismo. Java ME não está realmente competindo com a experiência do iPhone, o qual todos os vendors da plataforma mobile estão tentando imitar agora. O Java só está em vantagem no ambiente mobile em se tratando de consistências entre dispositivos, o qual não está realmente bom na prática.”

A Oracle, no entanto, estará interessada em ver um rápido retorno sobre seu investimento. Um grande mito da mordomia da Sun no Java é que ele falhou em fazer qualquer retorno financeiro da tecnologia. De fato, ignorando receitas de serviços, a Sun escreveu em torno de $220 milhões da receita do Java para o ano fiscal de 2008 e $34m para os primeiros quatro meses de 2009. Muito disso é gerado pela licença da empresa ISVs e manufaturas de dispositivos, particularmente aqueles mobile handsets que continua sendo formentente suportado pelo Java ME apesar das pressões do iPhone e Android do Google. Embora mais comumente posicionado como concorrente do Flash da Adobe e Silverlight da Microsoft para navegadores PC, JavaFX é tão importante como uma maneira de proteção ao domínio do Java para o telefone mobile e mercados embutidos. Nessa visão, a Oracle pode ver o investimento continuado aqui como mérito. Além disso, a Oracle nunca foi tímida em levantar custos de licenças e pode usar essa receita estabilizada como uma maneira de aumentar rapidamente o valor da licença da plataforma Java. Nesse contexto será fascinante ver o que a Oracle faz com respeito à disputa com Apache Harmony, desde que Harmony representa um pequeno time que ameaça as receitas do licenciamento do Java. Se a Oracle é capaz de executar a estratégia da Sun e transferir a maior parte da taxa da licença da marca Java para JavaFX, Harmony tem muito menos de um problema para eles, e pode mesmo ser visto como uma oportunidade. Stephen Colebourne, que tem blogado extensivamente no assunto, permanece cético:

“…nós temos uma indicação clara de Dezembro de 2007 que a Oracle esteve ativamente suportando o ASF na disputa com a Sun.

É claro, pode ter sido um movimento competitivo contra a Sun. Agora que a Oracle tem o poder, ele pode escolher usar o poder muito diferentemente.”

O mais problemático ainda é o resto da pilha do software da Sun orientado à Java. A Oracle tem se comprometido publicamente a favor do Eclipse ao invés do NetBeans, o qual faz o suporte deles ao NetBeans mais do que um pouco duvidoso. GlassFish tem estabilizado uma boa reputação entre os desenvolvedores como uma alternativa ao JBoss e a parte do mercado tem crescido rapidamente, mas tem ainda um longo caminho atrás da propriedade da Oracle chamada WebLogic e pode ter o investimento puxado. É uma história similar para os dois portais oferecidos (BEA Portal Server e Sun Portal Server respectivamente). Em algumas formas a questão mais intrigante é que acontece com JRocket e Hotspot. Alex Miller faz o ponto que essas duas implementações da JVM são muito diferentes e existe provavelmente lugar para ambos, mas se somente uma vai sobreviver, como uma referência de implementação, Hotspot parece ser mais provável.

Outra área de preocupação é a gestão global do Java através do JCP. Alex Miller suspeita que a Oracle vai buscar manter o status “quo” embora com eles agora no controle:

“IBM e Oracle claramente tem vedado o mesmo território e apostar na mesma linguagem. Certamente a Oracle irá querer deduzir todos valores estratégicos que podem da aquisição e subsequente controle da JCP. Eu não posso imaginar que eles estariam dispostos a desistir do controle da JCP em favor de uma organização mais aberta.”

James Staten da Forrester Research adiciona. Citado na BusinessWeek ele argumenta que enquanto muitos dos softwares da IBM estão correntemente baseados em Java, a Oracle poderia impor restrições nesse uso da linguagem do rival em produtos futuros. Isso parece um pouco rebuscado. Se a Oracle busca impor muito controle no Java eles iriam correr um risco de minar um dos princípios ativos de quem eles estão buscando adiquirir. James Gosling iria certamente ter cautela contra isso. Falando sobre sua própria regra de Computer Business Review ele comentou:

“Eu tento e influencio coisas na direção certa, mas existe uma comunidade tão grande de pessoas que ninguém poderia controlar. Se alguém tentou isso iria estragar tudo.”