Arquivo da tag: oracle

IcedTea, Harmony, IKVM e mais: altos e baixos do Java Open Source

Este artigo traz um panorama de projetos open source relacionados com o coração da plataforma Java, e em que tem havido extremos de altos e baixos. Em outubro, o IcedTea liberou sua versão 2.0, baseada no OpenJDK 7, que já está disponível como o Java 7 oficial do Fedora e do Ubuntu Linux; em novembro a Apache anunciou que o Harmony estava sendo rebaixado para o “sótão” da Fundação. São dois exemplos (e dois extremos) de projetos trazendo novidades que poderão afetar o futuro da tecnologia Java, mesmo sem o apoio de gigantes como Oracle e IBM.

IcedTea

Quando a Sun liberou em 2007 os fontes da sua JVM e sua biblioteca de classes, criando o projeto OpenJDK, atual implementação de referência do Java 7, o resultado não era imediatamente usável pela comunidade open source, pois alguns componentes licenciados de terceiros não puderam ser abertos naquele momento. Exemplos de APIs que não foram incluídas no código inicial do OpenJDK são as de gerência de fontes tipográficas e de interação com dispositivos de som. Sem falar de complementos indispensáveis para algumas aplicações, como o plugin web para Applets e o Java Web Start, que embora sejam parte do produto da Sun e Oracle há tempos, cobrem funcionalidades não-padronizadas como parte do Java SE.

Para remediar esses problemas, a comunidade open source criou, com patrocínio da Red Hat, o projeto IcedTea. O objetivo era substituir os componentes proprietários necessários para compilação e execução do OpenJDK, pelos equivalentes em outros projetos open source, especialmente o projeto GNU Classpath.

Na verdade, já havia conversas entre membros importantes da comunidade open source e da Sun bem antes do lançamento do OpenJDK, e não foi acidente a opção da Sun pela licença GPL, em vez das licenças usadas no Glassfish e no extinto Open Solaris. O objetivo era permitir a mistura de código com o ecossistema do GNU Classpath, baseado na GPL.

Já há alguns anos, as distribuições do Linux incluem binários certificados do IcedTea, mas que são distribuídos usando o nome OpenJDK como parte de um acordo com a Sun para acesso ao TCK, o kit de testes de compatibilidade do Java.

Algumas distribuições ofereciam como alternativa o Java proprietário da Sun, empacotado nos repositórios “não-livres”, usando a licença DLJ (Operating System Distribution License for Java). Mas a DLJ foi descontinuada pela Oracle com a liberação do Java 7, não apenas para o novo Java mas também para as versões anteriores. Por isso o IcedTea se tornou o único Java certificado a ser fornecido como parte dos sistemas Fedora, Ubuntu e Debian, além de se tornar também o preferencial para uso em distribuições comerciais com RHEL e SuSE.

O escopo do projeto IcedTea aumentou desde a sua criação. Ele implementou melhorias sobre o OpenJDK, para melhor compatibilidade com o Linux, por exemplo o suporte ao PulseAudio para multimídia; e evoluiu para uso de JVMs alternativas, como a JamVM, entrando no lugar do HotSpot do OpenJDK original.

Ampliando o alcance do OpenJDK

A maior contribuição do IcedTea para o OpenJDK provavelmente foi os projetos Zero e Shark. O Zero é um interpretador genérico de alta performance, que torna o OpenJDK viável em várias plataformas embarcadas, em que o custo de memória e bateria de um compilador JIT seria proibitivo.

Já o Shark utiliza a infraestrutura do LLVM para criar um compilador JIT portável para múltiplas arquiteturas de CPU, evitando a necessidade de se escrever um novo JIT para cada arquitetura de processador. Graças a estes projetos o OpenJDK vem se tornando a implementação do Java preferencial em algumas CPUs populares em plataformas voltadas para a computação embarcadas, como ARM e MIPS.

Note que o IcedTea não é um fork do OpenJDK. Alguns dos seus contribuidores estão no Community Board do OpenJDK e vários dos patches do projeto migraram para o OpenJDK e se tornaram parte do Java 7 oficial.

Outra contribuição importante do IcedTea é um processo de compilação mais simples para o OpenJDK, reduzindo a barreira de entrada para potenciais contribuidores. O projeto OpenJDK não fornece binários para nenhuma plataforma, somente fontes. O JDK fornecido pela Oracle à partir dos fontes do OpenJDK usa uma licença proprietária. Mas, graças ao processo simplificado do IcedTea hoje é possível baixar, sob uma licença open source, binários para Windows no site do Open SCG, que é o mesmo grupo responsável pelo porte nativo do PostgreSQL para Windows.

A certificação do Java SE é realizada sobre binários, não sobre fontes, e os binários do IcedTea inclusos no Ubuntu, Fedora e derivados (como RHEL e CentOS) são certificados desde 2009. Mas os binários do OpenJDK 7/IcedTea 2 inclusos nas distribuições do Linux não são certificados ainda, e nem os fornecidos pelo OpenSCG para Windows. Ambas as comunidades estão trabalhando no processo, e estão em busca de patrocinadores.

Ainda há espaço para outras JVMs open source?

A criação do projeto OpenJDK diminuiu o incentivo a continuidade de vários projetos de JVMs open source. O SableVM foi uma das vítimas. O desenvolvimento do GNU Classpath, que fornecia a biblioteca de classes do Java SE para a maioria destes projetos, ficou congelado no Java SE 5, e o venerável Kaffe apenas recentemente voltou a ter atividade, sendo transferido para o Github.

Poderia ser argumentado que não há mais necessidade de outros projetos de JVMs open source, uma vez que a Sun abriu sua implementação, e ainda mais agora que a Oracle oficializou o OpenJDK como a implementação de referência (RI) para o Java 7. A competição trazida por estes projetos foi benéfica porque estimulou a evolução e a abertura do JDK pela Sun, mas qual seu papel no futuro do Java?

Na época o Classpath estava chegando perto do 100% do Java SE 5 e se tornaria certificável. Com dois Javas open source plenamente funcionais (GCJ+Classpath e Apache Harmony) ficaria complicado manter restrições ao TCK do Java SE, e mais importante, o fluxo de caixa originado pelo licensiamento do JDK da Sun para fabricantes de plataformas móveis e embarcadas. A criação do OpenJDK sob licença GPL permitiu unir esforços à comunidade open source, sem abrir o TCK para projetos externos.

Por outro lado, sem projetos open source independentes, deixa-se de explorar alternativas de design para a JVM, que poderiam atender a nichos específicos ou se tornarem importantes em plataformas futuras. O fato de smartphones e tablets atuais em sua maioria ignorarem a plataforma Java SE (e também a Java ME) mostra que essas alternativas podem estar fazendo falta.

Por exemplo, o GCJ, que é parte da suite de compiladores GCC, tem a opção de gerar código nativo (que não necessita de uma JVM para executar). Era uma opção interessante para aplicações desktop e sistemas embarcados, tanto que foi utilizado pelo RHEL e pela comunidade Fedora para suportar o Eclipse e o Tomcat, antes da criação do OpenJDK. Sem falar na ampla cobertura de arquiteturas de CPU e SOs do GCC, muito superior à suportada pelo Java “oficial” na época.

As releases recentes do GCC continuam suportando o GCJ, e ele continua sendo incluído nas principais distribuições do Linux; mas, infelizmente não parece haver planos para atualizar seu suporte à linguagem Java, nem para completar o GNU Classpath ou atualizá-lo para além do Java 5.

JVMs alternativas ao OpenJDK

O OpenJDK, no entanto, não parece ter diminuído o ritmo do JikesRVM, que tem o diferencial de ser escrito quase que inteiramente em Java. Infelizmente ele não tem a pretenção de ser uma JVM para “uso real”, seu objetivo é ser uma plataforma de testes para novos algoritmos internos à JVM para projetos acadêmicos.

Dois dos projetos baseados no GNU Claspath, o JamVM e o Cacao continuam vivos. Eles colaboram com o projeto IcedTea e hoje podem utilizar a biblioteca de classes do OpenJDK em lugar do GNU Classpath, voltando assim a acompanhar a evolução da plataforma oficial. Apesar de os seus releases mais recentes terem mais de um ano, existe grande atividade nos repositórios de código do JamVM e do Cacao, e espera-se para breve novos releases que finalmente atualizarão suas respectivas JVMs para compatibilidade com as novas versões do Java.

Ambos o JamVM e o Cacao são focados em plataformas embarcadas, explorando diferentes designs para componentes da JVM, como o coletor de lixo, o interpretador de bytecodes e o compilador JIT. A comunidade do JamVM afirma, por exemplo, que é possível gerar um executável da sua JVM ocupando menos de 100 Kb.


Java no .NET

Outro projeto de JVM open source que continua vivo e pode ser interessante para alguns nichos é o IKVM, que roda dentro do CLR do .NET ou do Mono, e permite convivência “sem costuras” entre código escrito em Java e código escrito em C#, VB.Net ou outras linguagens que rodam sob o CLR.

O IKVM também permite empacotar aplicações Java como assemblies nativas do .NET. O projeto ganhou certa popularidade entre desenvolvedores que gostariam de continuar tendo acesso a bibliotecas Java em um projeto .NET. É também o projeto mais atualizado em relação aos padrões do Java, pois já oferece um release candidate com suporte ao Java 7.

Com o fim do Harmony, como fica o Android?

A DalvikVM, que é a base das aplicações Android, é baseada na biblioteca de classes do Java SE fornecida como parte do Apache Harmony. Originalmente este projeto tinha apoio da IBM, que contribuiu com a maior parte do código para a biblioteca de classes, mas quando a IBM decidiu focar seus esforços no OpenJDK, o Harmony ficou “órfão”. O projeto Harmony foi oficialmente descontinuado pela Apache Software Foundation em novembro deste ano. Ao contrário do que muitos esperavam, o Google não assumiu o projeto, mantendo o desenvolvimento do Dalvik como um fork separado, provavelmente devido ao processo aberto pela Oracle por violação de patentes.

O Dalvik não é exatamente uma JVM, pois roda seu próprio bytecode, e usa uma arquitetura interna bem diferente da usada no OpenJDK, embora semelhante ao JamVM e ao CacaoVM. O desenvolvimento das aplicações para o Dalvik é feito na linguagem Java, e os bytecodes Java são convertidos em bytecodes Dalvik. Está disponível apenas um subconjunto da API do Java SE, embora maior do que o incluso no Java ME, mas o Dalvilk não traz nada do Java oficial para celulares, sendo incompatível com MIDP ou CDC. Recursos que seriam parte do Java ME são fornecidos por APIs proprietárias para o Android, ou por acesso a serviços do Google.

A omissão do Google quanto ao Harmony dá margem a dúvidas sobre qual será o futuro do “Java” no Android:

  • O Google vai continuar evoluindo o Dalvik usando ideias do Java, de modo similar feito pela Microsoft com o .NET?
  • Ou será o HTML 5 quem poderá provocar um futuro abandono do DalvikVM e Java no Android?

Qualquer que seja o futuro do Dalvilk, ele representa uma linha que poderia ter sido incorporada ao Java oficial e que garantiria a popularidade do Java na computação móvel. A disputa entre Google e Oracle não atende aos interesses da comunidade Java, e a recente ênfase no HTML 5 mostra bem como o mercado ainda carece de uma solução para desenvolvimento interoperável entre smartphones e tablets de diferentes fornecedores.

Serviços nativos do Linux

O exemplo do Dalvik mostra que, apesar da necessidade de funcionalidades independentes de plataforma, há também necessidade de se incorporar suporte a recursos nativos. O Java 7 já foi uma evolução nessa direção, com a nova API de filesystem do NIO2 e se pode argumentar que o Eclipse deve grande parte do seu sucesso ao toolkit gráfico SWT, também baseado no acesso a recursos nativos de Windows, Unix e Mac.

Novamente vemos que a comunidade open source traz novidades neste sentido, dentro do ramo da computação embarcada. Por exemplo, o BUG System e o OpenEmbedded fazem uso de APIs Java para acesso ao desktop Gnome e o D-Bus – efetivamente colocando o Java em pé de igualdade com o código nativo, no acesso aos recursos do SO e Desktop do Linux.

Em vez de criar todo um “universo paralelo”, como feito pelo Android, estes projetos buscam maximizar a utilidade de recursos já conhecidos dos desenvolvedores em plataformas embarcadas, e abrem espaço para a plataforma Java como “linguagem de sistema” para o Linux, viabilizando o desenvolvimento de aplicações de gerência de hardware sem recorrer diretamente a código nativo.

Conclusões

Podemos ver que, apesar do foco de grandes empresas no projeto OpenJDK, ainda há vários outros projetos open source com potencial de contribuir para a evolução da plataforma, especialmente em nichos ainda negligenciados pela plataforma oficial, como o de dispositivos embarcados. Vale a pena acompanhar o amadurecimento destes projetos, pois de um deles pode sair o diferencial competitivo para os produtos da sua empresa, ou surgirem evoluções importantes para a plataforma oficial do Java.

Fonte: Fernando Lozano/InfoQ

Oracle aumenta oferta de aplicativos em nuvem

Nesta semana, a Oracle anunciou o lançamento de dois sistemas baseados em nuvem: o Oracle Fusion CRM (Customer Relationship Management) e o Oracle Fusion HCM (Human Capital Management). Eles fazem parte da Oracle Public Cloud, que a empresa anunciou recentemente e que possui várias ofertas no modelo SaaS, e é comercializada no modelo de preço por assinatura.

O CRM Cloud Service apresenta funcionalidades de planejamento, prospecção, colaboração e fechamento de negócio. Além disso, ele conta com Business Intelligence integrado ao sistema, o que amplia o suporte ao planejamento e gerenciamento de desempenho de vendas.

Já a suíte de HCM, também comercializada no modelo de assinatura, possui RH centralizado, folha de pagamento e funcionalidades para gerenciamento de benefícios. O conjunto conta ainda com um aplicativo para gestão de talentos, com funcionalidades como gestão de compensação, de iniciativa, de desempenho e de metas.

O Cloud Services da Oracle oferece ao cliente suporte para a escolha dos modelos de implementação com portabilidade entre nuvem pública, privada e implementações no local. As organizações podem começar com um módulo e migrar para a suíte completa ao longo do tempo.

Link publicado originalmente em Convergência Digital

Fonte: IMasters

MySQL 5.5.18 traz correções para problemas de replicação

A Oracle disponibilizou o MySQL 5.5.18, a última das atualizações regulares para a versão de produção do banco de dados open source. Na atualização, a Oracle tem marcado uma série de situações inseguras em replicação “statement-based”.

As declarações questionadas fazem referência ao resultado de uma instrução “select”, na qual a ordem não pode ser confiada. Sendo assim, a Oracle aconselha os utilizadores de “logging statement based” a consultar a documentação para obter mais orientações. O problema de replicação em que o master (mestre) podia enviar eventos danificados para os slaves (escravos) relacionados ao disco e ao log binário também foi corrigido.

Outras mudanças incluem melhorias para a biblioteca libedit junto com MySQL, remoção de alocação de memória desnecessária e liberação ao abrir tabelas, além de correções para falhas relacionadas com ARCHIVE e tabelas FEDERATED, e uma possível corrupção com o comando OPTIMIZE TABLE ao usar MyISAM.

Os desenvolvedores também fizeram o possível, em relação à utilização de RPM, para substituir qualquer versão instalada do MySQL com outra da mesma versão da família, por exemplo, quando houver a atualização da versão GPL para a versão comercial.

Todos os detalhes sobre essas mudanças estão disponíveis aqui, e o MySQL 5.5.18 pode ser baixado neste link.

Com informações de Under-Linux

Fonte: IMasters

Oracle propõe tornar o JavaFX open source

Recentemente, na conferência JavaOne, a Oracle disse que tem a intenção de tornar o JavaFX uma plataforma open source. Agora, a empresa está propondo formalmente que a toolkit JavaFX seja open source sob o projeto OpenJDK e está quer que ela seja incorporada ao Java 9. O arquiteto desktop da Oracle, Richard Bair, ao fazer a proposta, disse que a empresa já vinha conversando a respeito há muito tempo, “mas finalmente estão preparados para atuar nessa área”.

JavaFX foi criado pela Sun como uma tecnologia independente, com sua própria linguagem de script. Mas desde a aquisição da Sun pela Oracle, ela foi reposicionada como uma toolkit Java com uma moderna arquitetura, dando suporte para, por exemplo, aceleração de hardware e estilização utilizando CSS.

O projeto se chamará JFX e a Oracle espera que durante o processo uma comunidade se desenvolva em torno dele; o projeto inclui mais de 6 mil membros de APIs públicas, 11.500 unidades de testes, bibliotecas core, efeitos, suporte a CSS e a aceleração de hardware e controle UI e gráficos. Eles também esperam que a transparência vinda dos códigos open source irá melhorar a aceitação. O código já existe para portar uma camada que suporta Linux, Mac OS X e Windows.

Bair espera que existirá um JSR para JFX a tempo do Java 9, que incluiria JFX como “uma parte adequada do JDK”.A proposta dele formalizada por Iris Clark, que foi quem colocou a proposta para votação. Inicialmente, o projeto – que será liderado por Bair – terá o código JavaFX publicado pela Oracle, começando pelos controles UI. Ao longo dos meses, o código completo será publicado. O OpenJFX não dependerá dos binários por muito tempo. A votação deve ser concluída até o dia 16 de novembro.

Plano a longo prazo da Oracle é ver o JavaFX superar o toolkit UI já existente, como o Swing. Mas não há planos de remover o Swing do Java e é possível usar os dois em um aplicativo. O código fonte para o JavaFX deve ser lançado sob a GPLv2 com a exceção do Classpath.

Com informações de The H

Fonte: IMasters

JavaOne 2011 e os próximos grandes passos para Java EE, SE e ME

A próxima versão Java EE vai suportar computação em nuvem, com multi-tenancy e maior capacidade de caching e elasticidade. Adam Messinger, Hasan Rizvi e Cameron Purdy, da Oracle, apresentaram os planos para as edições Micro (ME), Standard (SE) e Enterprise (EE) da plataforma Java na conferência JavaOne 2011, realizada nesta semana.

Cameron Purdy falou sobre as novas funcionalidades planejadas para a plataforma Java EE, que incluem o suporte a cloud computing. Segundo Purdy, hoje todas as aplicações de cloud são proprietárias e não existe padrão, e precisamos de um padrão de plataforma como serviço (PaaS) baseado em soluções para nuvem. O multi-tenancy (o suporte a múltiplos clientes com isolamento de tráfego, aplicações e configurações) será implementado na própria máquina virtual Java, de modo a permitir monitoramento, medição e controle dos diferentes clientes, utilizando a JVM para otimização no uso de recursos.

Assim como o Contexts and Dependency Injection (CDI) gerencia as dependências entre os componentes em aplicações em uma VM, o Java EE 7 fará o mesmo para aplicações corporativas. As anotações do JPA terão capacidade de mapear objetos Java nas tabelas de banco de dados utilizando controle dos usuários. Também está sendo desenvolvido um trabalho para que o caching em Java se torne um padrão e também seja implementado na versão Java EE 7.

Com relação ao Java SE, a Oracle anunciou o lançamento de um preview do JDK 7 para Mac OS X, com versão final a ser lançada em 2012. Além disso, o Java SE 8 vai suportar modularidade e o gerenciamento do ambiente de execução utilizando funcionalidades dinâmicas de compilação.

Haverá ainda melhorias para JavaScript na JVM, o que inclui o Nashorn, a próxima geração de engine JavaScript otimizada para a JVM; e a interoperabilidade nativa Java/JavaScript para comunicação entre objetos Java e JavaScript.

A Oracle também anunciou sua intenção de submeter a plataforma JavaFX como um projeto open source dentro do OpenJDK. A Oracle pretende inicialmente contribuir com os controles JavaFX UI e suas bibliotecas; outros componentes JavaFX serão liberados em fases subsequentes. E a próxima geração do cliente Java, o Java FX 3.0, está planejado para lançamento em 2013 e incluído no JDK 8.

Os planos para o Java ME incluem a sincronização entre os releases do CDLC e do JDK, além da convergência do CDC com a API Java SE Embedded. O suporte para recursos mais recentes em dispositivos, como multitouch, também será disponibilizado. Outras mudanças incluem a liberação do OJWC 1.1, com importantes atualizações para a base de código do CDC, e a integração com serviços mobile.

Fonte: Srini Penchikala/Mário Henrique Trentim/InfoQ

Oracle Apresenta Java 7

A Oracle Corporation trouxe à público o Java 7, incluindo atualizações de segurança, novos recursos e muitas melhorias significativas. O Java 7 está disponível no site da Oracle, junto com a versão de desenvolvedores (JDK). De acordo com o que consta nas notas de lançamento, a principal melhoria de segurança está relacionada ao JSSE (Java Secure Socket Extension) e comunicações TLS (Transporte Layer Security).

Sob a ótica da segurança, se o Java 7 for instalado em um sistema que já possui o Java6, as duas versões permanecem; ou seja, se o usuário deseja executar apenas a última versão, é necessário ter certeza de que tenha desinstalado quaisquer versões anteriores.

Fonte: Under-Linux

Windows ganha instalador de MySQL

A Oracle anunciou que já está disponível um novo instalador do MySQL para o Windows. Usando o GUI-based, os usuários podem instalar todos os produtos do MySQL ao mesmo tempo – um sistema de atualização integrado para todos os produtos instalados já está incluído. A empresa afirma que o instalador do banco de dados de códigos abertos para o Windows irá simplificar e reduzir o tempo do processo de instalação.

Ao mesmo tempo, a Oracle confirmou que terminou a certificação da Enterprise Edition do MySQL para o Windows Server 2008 R2 Clustering Failover, permitindo que os usuários do Windows instalem aplicativos que exijam altos níveis de disponibilidade.

A companhia irá realizar um seminário online para demonstrar suas novas ferramentas no dia 15 de setembro, às 11h, no horário de Brasília. Mais informações e detalhes no site do seminário.

Fonte: The H

Oracle retira licença para distribuir Java com Linux

Em um breve comunicado, a Oracle Corporation afirmou que suspendeu a “Operating System Distributor License for Java” (DLJ), que foi criada pela Sun, em 2006.

A licença (não-livre) permitiu que distribuidores Linux empacotassem e distribuíssem o Java em suas distribuições Linux. A Sun tornou essa licença disponível depois de lançar o Java como open source na conferência JavaOne, em 2006. Ele foi projetado para garantir que os usuários tivessem acesso fácil aos pacotes, contendo o sistema Java durante o processo de desenvolvimento do OpenJDK.

O desenvolvedor do Debian, Silvestre Ledru, questionou sobre “quem” mantém o pacote do Java ao funcionário da Oracle, Dalibor Topic, que explicou as razões da decisão da Oracle no seu blog.

Fonte: Under-Linux

Ainda faltam ferramentas no Java 7

O Java 7, a primeira versão da plataforma de desenvolvimento aberto criada sob gestão da Oracle, foi lançada na última semana e pareceu não agradar usuários, que reclamaram da falta de alguns componentes prometidos inicialmente e de algumas falhas que poderiam estourar o compilador NullPointerException.

Para verificar o que há de errado com a nova versão do Java, o IT Web entrou em contato com o especialista em desenvolvimento para a plataforma Paulo Silveira, da Caelum. Segundo ele, inicialmente o Java 7 teria uma série de novidades, desde modularidade, com sistema de gestão integrada (SGI), até Off Closure, Defender Method e novidades para a inicialização de colections de forma mais sucinta.

Porém, ele afirmou que o atraso de mais de dois anos no lançamento da ferramenta fez com que a Oracle optasse por uma versão menos parruda do Java. “Alguém de dentro da Oracle disse que se a empresa fosse colocar todo o prometido dentro do pacote, o lançamento só iria ocorrer no final de 2012. Então o pessoal não quis esperar, porque já demorava quatro anos e iria levar mais outros dois”, pontuou. Silveira, explicou que, por isso, decidiram pela separação da plataforma de desenvolvimento aberto em duas versões: a que foi lançada na última semana e a Java 8, programada para o para inicio de outubro de 2012 com tudo o que falta.

Apesar das mudanças, ele garante que os desenvolvedores não vão sentir dificuldades de adaptação na nova plataforma. “De maneira alguma. Como todas as outras versões do Java ela é compatível com as anteriores. Então, tudo o que funcionava antes, funciona agora. Você pode continuar programando no Java 7 assim como fazia no Java 6.”

Quanto à falha com o compilador:

NullPointerException, Silveira revelou que a Oracle já tinha sido avisada pelos desenvolvedores de Apache Lucine de que não era compatível com o software, o que é um bug grande. Porém a empresa preferiu lançar a versão. O especialista explica como contornar esse bug. “Se você utilizar algumas opções por linha de comando para desabilitar algumas dessas otimizações mais agressivas, ele funciona perfeitamente, como da maneira antiga.” Segundo ele, a correção dessa falha já está prevista para a atualização do Java 7.

A reportagem procurou a Oracle para comentar o tema, mas até o fechamento da matéria, não obteve resposta.

Fonte: ItWeb

JCP.next abre para Public Review

A Oracle continua o trabalho na direção de uma nova versão do JCP (Java Community Process) chamada JCP.next, como parte da JSR 348. Esta semana, foi realizada a primeira avaliação pública (public review) da especificação. Os comentários estão abertos até 12 de setembro.

Além da página do projeto e das listas de discussão, há uma instância do JIRA publicamente acessível, onde podem ser consultadas e adicionadas sugestões de mudanças e problemas encontrados. Foi também recentemente criado um fórum para a submissão de questões fora das listas.

A Oracle informa que a atual versão inicial da JSR-348 está prevista para conclusão em outubro deste ano, incluindo a atualização do JSPA (o acordo que deve ser aceito para participar da definição das especificações Java):

Esta JSR se concentrará em mudanças relativamente simples, que podem ser implementadas rapidamente. Uma segunda JSR, que será apresentada em breve, tratará de questões mais complexas, incluindo a realização de mudanças no JSPA. […] Como um dos temas principais do JSR 348 é a transparência, e como a JSR irá requerer que JSRs futuras sigam um processo transparente, o Expert Group se comprometeu a já executar esta JSR seguindo as novas diretrizes.

A transparência será melhorada exigindo – em vez de sugerindo – que discussões sobre a a elaboração da JSR e sua implementação de referência sejam feitas em listas de discussão e gerenciadores de issues acessíveis publicamente. Outro objetivo das mudanças é reduzir o tempo necessário para levar a JSR da proposta à conclusão.

Fonte: InfoQ

Oracle lança primeira versão do Java sob seu comando

A Oracle anunciou nesta segunda-feira (15/08) a disponibilidade do Java Platform, Standard Edition 7 (Java SE 7), a primeira versão do programa sob administração da companhia. A plataforma de desenvolvimento aberto foi para a mãos da companhia ema abril de 2009, junto ao pacote da Sun, empresa responsável pela sua criação.

Conforme comunicado encaminhado à imprensa, “a versão é resultado do desenvolvimento que envolveu revisão aberta, compilações semanais e extensa colaboração entre engenheiros da Oracle e membros do ecossistema Java em todo o mundo por meio da comunidade OpenJDK e do Java Community Process (JCP)”.

O material detalha que o Java SE 7, que é compatível com as versões anteriores, possui, conforme a Oracle:

  • Mudanças na linguagem para ajudar a aumentar a produtividade dos desenvolvedores e simplificar as tarefas comuns de programação, reduzindo o volume de código necessário, esclarecendo a sintaxe e facilitando a leitura do código. (JSR 334: Project Coin);
  • Suporte aprimorado para linguagens dinâmicas (como, Ruby, Python e JavaScript), resultando em melhoria substancial no desempenho do JVM. (JSR 292: InvokeDynamic);
  • A nova API multicore-ready oferece aos desenvolvedores maior facilidade para detalhar falhas em tarefas que podem ser executadas em paralelo por números arbitrários de núcleos do processador. (JSR 166: Fork/Join Framework)
  • A interface de I/O (entrada/saída) completa para trabalhar com sistemas de arquivos permite acesso a uma ampla variedade de atributos de arquivos e oferece mais informações quando ocorrem erros. (JSR 203: NIO.2)
  • Novos recursos de rede e segurança.
  • Suporte ampliado para internacionalização inclui suporte ao Unicode 6.0.

Fonte: ItWeb

WaveMaker: Ferramenta Java RAD para aplicações Web

WaveMaker é uma (IDE) gráfica, baseada em navegador, com um ambiente de desenvolvimento integrado . É uma ferramenta Java baseado no desenvolvimento rápido de aplicatições (RAD), que lhe permite construir aplicações Web sem escrever nenhum código, ou seja, por apenas arrastando e soltando widgets na tela. Por isso é melhor para os usuários que não sabem muito sobre programação, mas querem construir rapidamente aplicações web.

WaveMaker é de fonte aberta, um verdadeiro estúdio visual de desenvolvimento de arrastar e soltar, que é executado em um browser e gera aplicações Java padrão para a implantação. As aplicações geradas pelo WaveMaker executam do lado do cliente usando Ajax e a biblioteca Dojo JavaScript para se comunicar com o código do servidor, escrito em Spring e Hibernate. Ele executa banco de dados de engenharia reversa para criar a aplicação do banco de dados fornecido. O WaveMaker tem suporte embutido para HSQLDB, mas você pode usar uma variedade de bases de dados (incluindo MySQL, PostgreSQL, Oracle, etc) para construir sua aplicação. Banco de dados de engenharia reversa é uma das maneiras de criar o aplicativo, mas não é o único. Você também pode usar serviços da Web, Twitter, RSS, Youtube, etc.

WaveMaker vem em dois tipos – Versão Comunidade Open Source e versão Enterprise. Versão Enterprise é uma versão paga que oferece funções corporativas como suporte LDAP, suporte de segurança avançada, suporte Oracle.

Fonte: Wavemarker