outubro 2007


Minha página de referências sobre Ferramentas para Ajuste de Código Java foi atualizada hoje com diversos links novos na seção de Ferramentas de Teste.

A página ainda contém referências sobre ferramentas, a maioria delas software livre (open source), nos seguintes tópicos:

  • Geração e Re-estruturação de Código
  • Análise de Qualidade de Código, Métricas e Detecção de Problemas
  • Estilo e Padronização de Código
  • Análise de Desempenho – Profiling
  • Testes de Implementação
  • Cobertura de Testes
  • Ofuscadores e Otimizadores
  • Descompiladores

Confira!

Saiu ontem o NetBeans IDE 6.0 Beta 2, a na reta final para o lançamento oficial da nova versão em novembro.

O anúncio da disponibilidade destaca que o Beta 2 traz no pacote os drivers MySQL e PostgreSQL, melhorias para completamento de código Ruby e o Woodstock 4.1 Build 14. Veja também o artigo da InfoQ Netbeans Ruby Support: A Detailed Walkthrough by Roman Strobl, por Scott Delap, 2007-10-22.

Ainda existem alguns problemas não resolvidos, que devem ser acertados até a versão final. O NetBeans IDE 6.0 Beta 2 Release Notes detalha estes problemas e apresenta formas de contorná-los por enquanto.

Para quem usa arrastar-e-soltar na visualização da árvore de esquema XML nos recursos para SOA, é recomendado usar o JDK 6 Update 02 ou superior (Issue #112344).

Para baixar: NetBeans IDE 6.0 Beta 2 Download.

Experimente também testar os 10 atalhos práticos do editor do NetBeans 6 apresentados por Geertjan Wielenga no fórum ClearspaceX em DZone, 2007-10-23.

Nota: Também estão caminhando os trabalhos de localização (tradução) do NetBeans 6, incluindo Português do Brasil. Você também pode participar!


O Projeto GNU lançou a versão 0.96(.1) do GNU Classpath, uma implementação livre — ainda incompleta — das bibliotecas de classes Java essenciais (core) da Java SE API.

Veja mais em GNU Project Releases Latest Version of GNU Classpath
Incorporates new experimental GStreamer peer –, por Enterprise Open Source News Desk, 2007-10-22, Java Deloper’s Journal (JDJ).


Kshipra Singh anunciou em TheServerSide.COM a publicação de Java EE 5 Development using GlassFish Application Server, primeiro livro sobre o servidor de aplicações Glassfish, software livre que é a implementação de referência do Java EE 5.0.

Por falar em Glassfish, o artigo Scalable Ajax Push with ICEfaces and GlassFish no blog Ted’s Ajax Adventures, 2007-10-23, fala da integração preliminar da biblioteca JSF ICEfaces (1.7DR2) com o GlassFish Grizzly Comet, para suporte a Ajax Push (codinome “Comet”).

Outra nota no TSS, Article: (Re-)introduction to the Spring Framework, por Joseph Ottinger no dia 18, informou que Rod Johnson atualizou seu artigo “Introduction to the Spring Framework” para contemplar as novidades do framework Spring 2.5, como suporte a namespace em configurações XML, anotações e framework de teste do Spring, entre outras.


Para finalizar, o portal JavaLobby traz dois anúncios de utilitários software livre Java que podem ser interessantes.

Java2Script 1.0.0: Java to JavaScript Compiler & AJAX SWT anuncia o lançamento da versão final 1.0 do Java2Script (J2S) Pacemaker, que provê um plugin Eclipse compilador de Java para JavaScript e uma implementação em JavaScript do Eclipse Standard Widget Toolkit (SWT) e outros utilitários comuns como os pacotes java.lang.* e java.util.*.

O Java2Script Pacemaker promete permitir que você converta uma aplicação desktop Rich Client Platform (RCP) baseada na biblioteca de interface gráfica SWT em Rich Internet Application (RIA), para Internet.

E Find Java Heap Leaks with HeapAnalyzer divulga o HeapAnalyzer, tecnologia desenvolvida pelos laboratórios IBM alphaWorks, que roda em plataformas Linux, UNIX e Windows.

HeapAnalyzer permite encontrar possíveis áreas de memória desperdiçadas no heap Java através de seu mecanismo de busca heurístico e análise do Java heap dump em aplicações Java.

BitNami Stacks

BitNami foi criado como um lugar para ajudar a proliferar a adoção de aplicações web Open Source de alta qualidade, disponíveis livremente.

BitNami Stacks é um projeto criado com um objetivo em mente: facilitar ao máximo a instalação de software de código aberto. A iniciativa disponibiliza instaladores para automatizar completamente o processo de instalação e configuração do software incluso em cada Pilha, de forma que você tenha tudo pronto e rodando em poucos cliques.

Estas são as Pilhas (Stacks) de infraestrutura e aplicações atualmente disponíveis:

  • Infraestrutura: Apache + MySQL + PHP (AMP) — LAMPStack (Linux), MAMPStack (Mac OS X) e WAMPStack (Windows).
  • Blog: Roller, WordPress.
  • Acompanhamento de Chamados (Bug-Tracking): Mantis.
  • Gerenciamento de Conteúdo (CMS): Drupal, Joomla.
  • Fórum: phpBB.
  • Gerenciamento de Enquetes/Pesquisas: Opina.
  • Servidor de Portal: Liferay.
  • Wiki: DokuWiki, Mediawiki.

Brevemente estarão disponíveis RubyStack, SugarCRM e KTDMS.

Para saber mais:

Novo driver JDBC da Microsoft para SQL Server

O driver JDBC da própria Microsoft para seu SQL Server era muito deficitário. Natural que a empresa de Bill Gates não tivesse grande interesse em integrar facilmente seu banco de dados com a principal plataforma de desenvolvimento concorrente do Microsoft .NET.

Contudo, o driver JDBC de software livre jTDS se estabeleceu como uma opção viável para a o uso efetivo do SQL Server em Java.

Agora, parece que a Microsoft quer recuperar o espaço perdido. Ela liberou um novo Microsoft SQL Server 2005 JDBC Driver, um driver compatível com o Java Database Connectivity (JDBC) 3.0 que provê, segundo a Microsoft, acesso a dados robusto para bancos de dados Microsoft SQL Server 2000 e SQL Server 2005.

Entre as novidades destacadas neste driver estão uma melhora significativa no desempenho, resultado de uma reestruturação feita na parte de comunicação do driver, Adaptative Buffering para recuperar campos muito grandes de maneira eficiente, criptografia Secure Sockets Layer (SSL) para um canal de comunicação seguro, e suporte a Transações XA “Tightly Coupled”.

Seu sistema de ajuda inclui uma coleção de aplicações de exemplo, que demonstram várias técnicas de uso deste driver JDBC em aplicações Java.

Para saber mais:

Beans Binding (JSR 295)

Shannon Hickey anunciou em seu blog o lançamento da versão 1.1.1 da implementação de referência de Beans Binding, especificada na JSR 295.

De acordo com os dados de Shannon, a versão 1.1.1 bate com larga vantagem a versão 1.0, provendo drástica melhoria em desempenho.

O extremo ganho de desempenho neste release é resultado de um ajuste feito nas classes BeanProperty e ELProperty, que são parte central ao Beans Binding, de forma que agora a maioria das tarefas é realizada várias ordens de magnitude mais rápido.

JSTags

Foi lançada a versão 1.0 do projeto de software livre JSTags.

JSTags é uma biblioteca de tags Java de código aberto, que objetiva prover um conjunto de tags fácil de usar para realizar tarefas que, de outra forma, precisariam ser implementadas com código JavaScript, como efeitos dinâmicos, conteúdo carregado asincronamente com Ajax e exibição condicional de campos em formulários HTML.

Para saber mais:

Eclifox – Eclipse dentro do Firefox

Quem desenvolve para web já deve saber como o Mozilla Firefox, além de ser um excelente navegador internet, é também amplamente extensível, rico em extensões que o tornam uma poderosa plataforma de desenvolvimento e teste.

Mas o artigo Eclifox: Eclipse dentro do Firefox, por Marcos Silva Pereira no JavaFree.org, 2007-10-19, mostra que aparentemente não há limites para o poder das extensões:

O laboratório de pesquisa alphaWorks, da IBM, colocou o Eclipse para rodar embutido dentro do Firefox. A façanha é possível graças a um plugin para o Firefox que traduz interfaces baseadas no Eclipse para XML User Interface Language (XUL), um projeto da fundação Mozilla para a definição de interfaces com usuário utilizando XML. O mecanismo XUL é utilizado nos produtos Mozilla e sua interface de programação pode ser usada na criação da interface de usuário de extensões e aplicações.

Você até pode se perguntar sobre as vantagens de usar o Eclipse dentro do Firefox, afinal, para que serve isso se eu posso simplesmente usar o IDE Eclipse Java diretamente no desktop? Mas pense em poder distribuir suas aplicações baseadas no Eclipse RCP na web com esforço mínimo, ou pense em como a web evoluiu a ponto de termos programas complexos como o Eclipse dentro do browser.

Para saber mais:

Dia 5 de outubro foram divulgadas as JRE Updates para vulnerabilidades na máquina virtual Java Sun. Veja agora novas notas sobre segurança digital.

Mozilla Firefox 2.0.0.8

A empresa de segurança Secunia divulgou publicamente o alerta crítico sobre múltiplas vulnerabilidades encontradas no navagador Internet Mozilla Firefox 2, corrigidas no Firefox versão 2.0.0.8 já disponível.

Como duas vulnerabilidades corrigidas são consideradas críticas — erro no componente XPCNativeWrapper (MFSA 2007-35) e Crashes with evidence of memory corruption (MFSA 2007-29) — a atualização imediata é recomendada para todos os usuários de versões anteriores. O recurso de atualização automática do Firefox, contudo, deve prontamente notificar a existência da atualização e proceder ao download e à instalação.

A atualização do Firefox corrige outras cinco falhas, sendo três de risco médio e duas de baixo risco. Ainda traz um tratamento adicional para prevenir que uma vulnerabilidade do Microsoft Windows no tratamento de URI (alerta Secunia SA26201) possa ser explorada quando se usa o Firefox.

As falhas também afetam a suíte Mozilla Seamonkey 1.1 e, três delas, o leitor de correio Thunderbird 2. As versões atualizadas de ambos 1.1.5 e 2.0.0.8, respectivamente, devem estar disponíveis nas próximas horas.

Para saber mais (em inglês):

Para baixar o Firefox atualizado e demais programas da fundação Mozilla: br.mozdev.org. Disponível para Windows, Linux e Mac OS X, em português do Brasil e vários outros idiomas.

Opera 9.24

Fonte: Browser Opera tem três bugs críticos, por Plantão INFO Online, 2007-10-19.

Três falhas críticas no Opera expõem os usuários a ataques externos. A Opera Software já corrigiu os três problemas na versão 9.24. É recomendada atualização imediata aos usuários de versões anteriores. O alerta foi dado pela Secunia em boletim publicado em seu site.

A primeira falha leva o Opera a abrir de forma incorreta programas clientes de e-mail. Esse erro pode ser explorado para executar códigos na máquina do usuário.

O segundo erro ocorre quando o Opera trata com frames de diferentes websites. A falha permite a execução de uma sessão de browser no contexto de outros sites. Isso pode levar o usuário a navegar num site malicioso acreditando estar em local confiável.

A terceira vulnerabilidade surge no Opera em combinação com o Adobe Flash Player 9.0.47.0 e anteriores, no sistema operacional Mac OS X.

Veja também Varias vulnerabilidades en Opera 9.x (em espanhol), por Hispasec Una-al-Día, 2007-10-19.

Para baixar o Opera atualizado: opera.com.

Microsoft Internet Explorer 7, 6 e 5.01 atualizado

O CAIS — Centro de Atendimento a Incidentes de Segurança da RNP Brasil — alerta sobre Correções de Segurança Acumulativas para Internet Explorer, repassando o Microsoft Security Bulletin (MS07-057) no dia 9 último.

Esta atualização de segurança é considerada moderadamente importante para Internet Explorer 6 e 7 em Windows Server 2003. Para todas as outras versões e sistemas suportados, a atualização é crítica.

Na referida página do alerta do CAIS estão listadas em detalhes as versões de Internet Explorer e Windows afetadas, com links para as atualizações disponíveis.

Para os usuários que têm a Atualização Automática do Windows ativada, configuração extremamente recomendada, devem receber prontamente a atualização. Também pode-se ativar manualmente a atualização do Windows ou utilizar o portal Microsoft Windows Update.

Além do conhecido índice TIOBE (TPCI) e de pesquisas específicas, outro referencial útil para se avaliar tendências de uso de linguagens de programação é o serviço Google Trends.

A base de dados são estatísticas de palavras-chave pesquisadas no Google, o que é um critério genérico de texto, e não de assunto ou tópico. De qualquer forma, no Google Trends pode-se especificar os nomes de algumas linguagens de programação para obter sua intensidade ou tendência de uso em todo o mundo nos últimos anos (desde 2004), ou segmentado por país, ano e até cidade.

Testando as possibilidades do Google Trends, a gente descobre curiosidades como o fato de Rússia, Ucrânia, Brasil e Polônia serem dos poucos países do mundo onde Delphi é bem mais utilizado do que C# ou VisualBasic, por exemplo. Também é fácil comprovar que Java é procurada com larga vantagem na Índia e tem hegemonia no mundo todo, seguida de perto por C.

Veja a seguir alguns exemplos de consulta ao Google Trends por linguagens de programação:

Google Trends: Java, C, PHP, C#, VB

Google Trends: C#, VB, Perl, Delphi

Eclipse

Eis algumas atualidades do mundo Eclipse, desde o lançamento do Eclipse Europa Fall Maintenance Release 3.3.1 no início do mês.

Dia 5 foi liberado o Beta 2 do Red Hat Developer Studio, IDE baseado no Eclipse 3.3 que incorpora o ambiente Exadel Studio Pro e o conjunto de ferramentas JBoss Tools (para RichFaces, Hibernate, JBoss AS, Seam, jBPM, Drools e JBossWS). O Beta 2 passou a incluir também o plug-in para TestNG (Next Generation Java Testing). Veja também JBoss Tools & Red Hat Developer Studio News and Noteworthy.

A distribuição EasyEclipse ainda não disponibilizou o pacote mais completo EasyEclipse Server Java na versão 1.3 (Europa 3.3), mas já atualizou boa parte dos plugins componentes desta distribuição. Por enquanto, você pode instalar a distribuição EasyEclipse Expert Java 1.3 e depois baixar os plugins para Java EE atualizados, em especial Eclipse J2EE tools e Eclipse Web tools editors.

Ainda não estão disponíveis para a distribuição EasyEclipse 1.3 os componentes QuantumDB, Eclipse HTML Tidy, Amateras IDE e HTML/XML editor, Weblogic Server Plugin for Eclipse, JBoss IDE with AOP and EJB3, Hibernate Tools e Spring IDE. Alguns desses sequer já têm versão original totalmente compatível com o Eclipse Europa 3.3, como é o caso do Quantum DB.

NetBeans

Faltando aproximadamente um mês para a versão final do NetBeans 6, você pode ir avaliando na versão Beta1 novos plugins. Um deles é o Feature Viewer, um prático plugin que permite visualizar rapidamente uma lista com todos os plugins instalados, bem como os disponíveis para instalar como atualização. Veja um screenshot e mais detalhes no blog do autor do plugin.

Para quem quiser ajudar na popularização do NetBeans no Brasil, o NetBeans Translation Project está convocando a todos para participar dos trabalhos de localização do NetBeans 6 para os 14 idiomas atualmente suportados, inclusive Português do Brasil.

Veja comunicado divulgado pela Janice Campbell, Globalization Program Manager da Sun, e Leonardo Galvão, Editor-Chefe da revista Java Magazine e Diretor de Comunicação do JUG SouJava:

Você esta interessado em ver seu IDE favorito em português brasileiro? Junte-se à comunidade que está traduzindo o NetBeans 6.0, assinando a lista de discussão pt_BR@translatedfiles.netbeans.org (envie uma mensagem para pt_BR-subscribe@translatedfiles.netbeans.org), depois não deixe de se apresentar na lista! Estudantes serão bem-vindos, assim como desenvolvedores e usuários do IDE em geral.

Troque idéias com desenvolvedores experientes, aprenda sobre novas tecnologias e divirta-se com essa experiência. Você pode participar da tradução em si, do controle de qualidade (revisões, padronizações etc.) e até mesmo oferecer consultoria quanto a termos utilizados. Ao final, você ganhará um certificado de participação. Aguardamos sua colaboração neste projeto que vem crescendo junto com a comunidade Java.

JDeveloper

A Oracle continua refinando seu IDE Java JDeveloper para a nova geração
JDeveloper 11g.

A versão oficial corrente ainda é o JDeveloper 10g (10.1.3.3), mas em 27 de setembro foi lançado o JDeveloper 11g Technology Preview 2 (11.1.1), que está bem estável e cheio de novos recursos.

Para saber mais:

Atualizei hoje meu artigo Monte seu Eclipse 3.3 ou 3.2, apenas “lapidando” o texto original. Devido ao tamanho do artigo, resolvi incluir um sumário em hiperlink, que reproduzo aqui:

Introdução
1. Opções de distribuição e instalação
1.1. Antes do Eclipse 3.2
1.2. Eclipse 3.2 Callisto
1.3. Eclipse 3.3 Europa e EPP
1.4. Outras distribuições Eclipse
2. Eclipse Callisto e Europa
3. Eclipse em Português
4. Distribuições Eclipse independentes
4.1. Red Hat Developer Studio
4.2. EasyEclipse
4.3. IBM developerWorks
4.4. Lomboz
4.5. Tiny Eclipse
5. Plugins independentes de terceiros
5.1. Catálogos de Plug-ins
6. Ambientes para Outras Linguagens e Tecnologias
7. Distribuições comerciais
8. Referências


Aproveitando o post, gostaria de recomendar o excelente artigo The Structured Web – A Primer (em inglês), por Alex Iskold, 2007-10-10. O texto apresenta e analisa muito bem, e com muitas ilustrações, a evolução da estrutura de conteúdo da web. Para saber mais, veja também o conceito de Web semântica na Wikipédia.

Foi só a SAP anunciar a aquisição da Business Objects, empresa de destaque na área de ferramentas para Inteligência de Negócios (BI, OLAP, ETL, DW), em 7 de outubro, para começarem novas especulações do mercado de mega-aquisições e fusões de empresas de tecnologia.

Dia 9, o artigo Is BEA the Next Big Acquisition Target? por i-Technology News Desk, da revista Eclipse Developer’s Journal, anunciava que o analista Jason Maynard da Credit Suisse nomeava BEA, Cognos e Informatica como possíveis novos alvos de aquisições. Cognos e Informatica também atuam na área de BI e são concorrentes diretos da BO, enquanto BEA atua principalmente em tecnologia Java, sendo produtora do consagrado servidor de aplicações Weblogic.

A bola de cristal de Maynard parece afiada, pois hoje CNN noticiou que a Oracle propôs comprar a BEA Systems, segundo nota Oracle announces bid to buy BEA no TheServerSide.COM. A Oracle confirmou a informação em nota de imprensa, conforme comenta artigo Oracle Makes $6.7 Billion Bid For BEA, por Floyd Marinescu em InfoQ.

Veja também Compra da Business Objects pela SAP gera desconfiança no mercado, AFP, de Frankfurt, Alemanha, 2007-10-08.


Outro assunto do mercado de tecnologia que rondou artigos recentes foi o de carreiras de profissionais em TI (agradeço as dicas de Clayton Passos em seu blog):

Quanto você ganharia nos EUA?, por Yuri Gitahy, 2007-09-14, em Mundo IT, baseado no artigo Tech Salaries: From High to Low (em inglês), por James Maguire, 2007-09-12, em Earthweb IT Management.

Empregos tecnologia na Inglaterra/UK, por Emerson Cargnin, 2007-09-02, de Reading, Reino Unido.

Conheça o perfil e os salários dos profissionais que atuam na web, por Lygia de Luca, 2007-10-11, em IDG Now!

Sun JRE Updates corrigem vulnerabilidades críticas

Fonte: CAIS, Secunia Advisory SA27009, 2007-10-05 15:00.

O CAIS está repassando o alerta da Secunia, intitulado “SA27009 – Sun Java JRE Multiple Vulnerabilities”, que trata de múltiplas vulnerabilidades que afetam diversas versões do Sun Java JRE.

As 11 vulnerabilidades corrigidas pela Sun afetam as versões 6, 5, 1.4 e 1.3 do Mecanismo de Execução Java (Java Runtime Engine) da Sun, integrante dos pacotes de software JRE (inclui Java Web Start – JWS) e JDK da Sun disponíveis para vários sistemas, que permite a execução de aplicações Java.

Caso um atacante consiga explorar com sucesso estas vulnerabilidades, ele poderá ler ou alterar dados armazenados em um sistema vulnerável, contornando mecanismos de segurança e comprometendo estes sistemas.

Uma vez que uma das principais características de aplicações Java é a portabilidade, a capacidade de executar aplicações em diversos sistemas operacionais (Windows, distribuições Linux) e classes de dispositivos (PCs, celulares) torna estas vulnerabilidades ainda mais críticas e devem ser corrigidas por meio de atualização o mais breve possível.

Sistemas afetados e correções disponíveis:

Para saber mais:


JavaRebel

Desde que o recurso HotSwap foi introduzido na arquitetura JPDA da Máquina Virtual Java Sun HotSpot 1.4, possibilitando a substituição/atualização de código em execução — apenas corpo de métodos existentes e novas classes — através das APIs de depuração da JVM, desenvolvedores e arquitetos de software esperavam por mais. Além do HotSwap na JVM, servidores de aplicação Java em ambiente de desenvolvimento/teste dispõem da facilidade de redeploy automático de aplicações. Estes recursos em geral são inviáveis em ambiente de produção, pelas limitações de abrangência, desempenho — custo de execução — e pelo fato que um redeploy em geral recarrega toda a aplicação, sem manter o estado de execução anterior da aplicação e seus objetos.

Com foco neste tema, a empresa Zero Turnaround, da Estônia, desenvolveu o mecanismo JavaRebel. Estendendo a Java VM — suporta Sun HotSpot e BEA JRockit, JavaRebel recarrega mudanças em classes individuais em tempo real sob demanda (on-the-fly, “em-pleno-vôo”), sem redeploy ou reinício, incluindo adição ou remoção de métodos e campos. JavaRebel utiliza modificação de bytecode e “um pouco de mágica”, tendo como única limitação não permitir mudanças nas cláusulas extends e implements. Todas as instâncias de objetos existentes na memória são preservadas e as mudanças são imediatamente visíveis na aplicação.

Como imagens falam mais que mil palavras, recomendo assistir esta demonstração de tela (screencast) de 5 minutos para ver JavaRebel em ação: Instalando e usando JavaRebel.

JavaRebel suporta servidores de aplicação BEA Weblogic 8+, Oracle OC4J 9i+, Tomcat 4+ e Jetty 5+.

JavaRebel é um produto comercial, com licenças por desenvolvedor com preço individual de US$99 (diminui de acordo com volume de licenças). Existe também opção de licenciamento gratuito para projetos open source qualificados.

Outro produto interessante da Zero Turnaround é o JSP Weaver, que promete acelerar a recarga de JSP atualizados em até 50 vezes através da interpretação on-the-fly, ao invés da tradução (geração/compilação) para Java convencional.

Para saber mais:


JOSSO

Java Open Single Sign-On (JOSSO), infraestrutura de código aberto para SSO baseada em Java EE que provê uma solução centralizada e independente de plataforma para autenticação de usuários, teve a versão 1.6 lançada em 11 de outubro.

A principal novidade da versão 1.6 é o total suporte ao Spring Framework 2.0, com seu contêiner de inversão de controle (IoC), integrando Acegi Security para controle de acesso e autorização refinados (fine-grained).

Os recursos do JOSSO incluem suporte a: JAAS com SSO em múltiplas máquinas e aplicações; Autenticação Forte com certificados cliente X.509; LDAP, banco de dados ou XML para armazenamento de informação de usuários e credenciais; integração com Microsoft Active Directory; API cliente para PHP e para Microsoft ASP; monitoramento e gerenciamento de SSO por JMX; gerenciamento de evento e auditoria plugável; informação de identidade para aplicações web e EJBs via APIs padrão Servlet e EJB; Web Services/SOAP e Struts.

JOSSO é compatível com Tomcat 5, 5.5 e 6 e JBoss AS 3.2, 4.0 e 4.2.1.

Para saber mais:


Linguagens JVM

Nem só de linguagem de programação Java vive a JVM. Existem pelo menos outras quatro linguagens criadas ou portadas para rodar na plataforma Java, em geral linguagens dinâmicas de alto nível e com sintaxe compacta:

Destaco dois artigos publicados hoje que abordam o tema das novas linguagens no universo Java:

Java: o futuro Cobol?, por Ruben Badaró, 2007-10-12, em Zona J, Portugal.

Groovy, (J)Ruby or Scala? (em inglês), por Frederic Daoud, 2007-10-12.

Além disso, o artigo PHP on Java: Best of Both Worlds? (em inglês), por Mark Figley, 2007-10-09, em InfoQ, destaca a convergência que tem ocorrido de integração e suporte a PHP em camadas Java.

Em especial, destacam-se as iniciativas Project Zero da IBM, ambiente de execução na plataforma Java com suporte a Groovy e PHP, e Quercus da Caucho Technology, implementação 100% Java de PHP 5 como software livre sob licença GPL.

Passaram-se 11 meses desde que a Sun anunciou o Java/JDK como código aberto e foi criado o projeto OpenJDK.

A maior parte do código do OpenJDK está disponível sob licença GNU General Public License Version 2 (GPLv2). Mas ainda não era possível construir uma distribuição do OpenJDK como Software Livre, por causa da presença de alguns “plugs binários”, componentes binários (código não aberto) necessários à compilação do OpenJDK.

Eis a citação do texto em OpenJDK Source Releases (em inglês):

Not all of the source code that makes up the JDK is available under an open-source license. In order to build an OpenJDK binary from source code, you must first download and install one or more of the following files from which the build process will copy over “binary plugs” for these encumbered components. These files are only for the purpose of building an OpenJDK binary and are made available under the Binary License for OpenJDK; if you’re looking for a runnable JDK 7 snapshot build then please go here.

Além disso, é necessário baixar o JDK da Sun, que não é livre, para compilar o OpenJDK.

Por isso, desde junho deste ano, desenvolvedores da comunidade Linux em torno da distribuição livre Fedora (Red Hat) iniciaram um projeto experimental, denominado IcedTea, com o objetivo de gerar uma distribuição do OpenJDK que possa ser construída inteiramente como software livre, substituindo os plugs binários do OpenJDK por software livre baseado no GNU Classpath e removendo a necessidade de bootstrap (inicialização) a partir de software não livre.

A principal motivação desta iniciativa é que as distribuições Linux livres — como Fedora, Debian, Ubuntu etc. — utilizam exclusivamente software livre.

O nome IcedTea (Chá Gelado) foi usado porque JDK e OpenJDK são marcas registradas. O projeto IcedTea não é uma dissidência (fork) do OpenJDK nem inclui o código fonte do OpenJDK. Foca apenas na preparação, adaptação e substituição das partes não livres do OpenJDK e no seu processo de construção como software livre.

O IcedTea foi uma iniciativa separada do projeto OpenJDK apenas pelo seu caráter experimental e para facilitar a criação de um repositório versionado livre para a comunidade trabalhar, já que a Sun ainda não havia disponibilizado um repositório Mercurial para o OpenJDK.

Segundo a nota de anúncio de Andrew Haley (2007-06-07), as contribuições que forem produzidas no IcedTea serão submetidas ao processo OpenJDK tão logo as questões técnicas e legais estejam resolvidas.

Para saber mais:

Próxima Página »