segunda-feira, 21 de janeiro de 2013

Para especialista em segurança, Java deve ser reescrito do zero


Se a última vulnerabilidade do Java significa alguma coisa, é que está na hora de a Oracle reescrever a linguagem de programação.

Ao menos é o que acha Bogdan Botezatu, analista sênior de ameaças online da Bitdefender. A empresa de antivírus com sede na Romênia estima que ao menos 100 milhões de computadores estejam vulneráveis a ataques por conta da última vulnerabilidade 0-day do Java.

"A Oracle precisa pegar alguns componentes centrais do Java e escrevê-los do zero", disse o especialista, em uma entrevista.

O problema com produtos mais maduros, como o Java e os da Adobe, é que eles passaram por muitas mãos ao longo dos anos. "Esses produtos se tornaram tão grandes e foram desenvolvidos por tantos programadores que as fabricantes muito provavelmente perderam o controle sobre o que está no produto", disse Botezatu.

Lutando contra falhas
Os resultados dos recentes esforços da Oracle em corrigir as vulnerabildiades em Java reafirmam o que o especialista da Bitdefender disse.

Por exemplo, a Oracle corrigiu três vulnerabilidades em segurança em agosto de 2012, juntamente com o lançamento do Java 7, versão 7 rev. 7. Algumas horas depois de liberar o patch, o fundador e CEO da Security Explorations, Adam Gowdiak, encontrou uma vulnerabilidade causada pela atualização.

Alguns especialistas em segurança dizem que o Java sobreviveu ao seu papel, mas suas funções são manipuladas por outras tecnologias.

A última vulnerabilidade 0-day encontrada na linguagem de programação pode também ser atribuída a uma correção feita pela atualização de segurança liberada em outubro do ano passado. Essa atualização estava incompleta e abriu uma brecha para a vulnerabilidade descoberta na semana passada, de acordo com Gowdiak.

"Agora é uma boa hora para reescrever alguns dos principais componentes do início e garantir que eles estejam livres de bugs, em vez de continuamente liberar correções para a aplicação, de uma versão para outra", disse Botezatu.

O analista reconhece, no entanto, que isso é improvável de acontecer. "A Oracle não está aberta a fazer grandes mudanças, porque eles poderiam quebrar aplicações já existentes no mercado", acrescentou.

O problema que a empresa enfrenta com o desenvolvimento do Java é o mesmo que enfrentam todas as fabricantes de softwares: como melhorar um programa sem que destrua a compatibilidade com as versões anteriores?

"Olhe para o Windows Vista e veja como ele falhou em sua adoção, porque alguns aplicativos dos consumidores não funcionavam do XP para Vista", explicou Botezatu.

No entanto, alguns sinais indicam que a Oracle está tentando resolver algumas das questões levantadas por Botezatu. Na sexta-feira (12/1), a empresa anunciou que, começando pelo lançamento do Java 8 em setembro, novos lançamentos serão feitos por um cronograma de dois anos.

Java EE 7: Evoluções recentes na especificação


A especificação do Java EE 7 (JSR 342), chegou, no final de 2012, à primeira versão para revisão há uma série de questões em aberto, incluindo quais APIs devem ser adicionadas nos profiles Full e Web, bem como a melhor forma de alinhar o CDI com o Java EE.

Embora o escopo do Java EE 7 tenha diminuído - em particular, os planos para melhorar o suporte de multi-inquilinos (multi-tenancy) para provedores de PaaS foram adiados para o Java EE 8 - a especificação ainda inclui atualizações importantes. Entre elas, estão planejadas novas APIs para processamento em lote; a JCache, uma API de cache temporário de longa duração; uma nova API para processamento de JSON e o suporte a Web Socket e HTML5.

Além disso, três APIs antigas estão sendo restruturadas e melhoradas:

  • A JAX-RS 2.0, a API Java para serviços web RESTful, ganha uma nova funcionalidade para clientes REST, HTTP assíncrono no lado servidor, filtros e interceptores;
  • A Expression Language 3.0 recebe suporte para a execução de EL fora do container web, assim como novos operadores, expressões lambda e outras funcionalidades;
  • A JMS 2.0, enfatiza a simplicidade, implementando a interface do Java 7 java.lang.AutoCloseable para os objetos JMS, facilitando com isso a definição de recursos no Java EE. Além disso, o JMSXDeliveryCount será obrigatório, facilitando a manipulação de poison messages. (Uma poison message é uma mensagem numa fila, que excedeu o número máximo de tentativas de entregas para a aplicação de destino). Os novos recursos incluem a capacidade de um cliente JMS agendar entregas futuras de mensagens; e de enviar mensagens, retornando imediatamente sem bloquear, até que uma mensagem de confirmação tenha sido recebido pelo servidor.

A lista completa das atualizações planejadas é a seguinte:

  • Batch Applications for the Java Platform (JSR 352)
  • Bean Validation 1.1 (JSR 349)
  • Context & Dependency Injection 1.1 (JSR 346)
  • Enterprise JavaBeans 3.2 (JSR 345)
  • Expression Language 3.0 (JSR 341)
  • Java API for JSON Processing (JSR 353)
  • Java API for RESTful Web Services 2.0 (JSR 339)
  • Java API for WebSocket (JSR 356)
  • Java Message Service 2.0 (JSR 343)
  • Java Persistence API 2.1 (JSR 338)
  • JavaServer Faces 2.2 (JSR 344)
  • JCACHE Java Temporary Caching API (JSR 107)
  • Java Servlet 3.1 (JSR 340)


O Java EE 6 foi lançado no dia 10 de dezembro de 2009; isso significa que o tempo entre o lançamento do EE 6 e o EE 7 será de mais de três anos - o período mais longo na história da especificação. Acompanhe o andamento do novo Java EE no site Aquarium da Oracle.

Fonte: InfoQ

segunda-feira, 14 de janeiro de 2013

Oracle confirma correção para o Java

A Oracle reagiu ao anúncio feito pelo departamento americano de Segurança Interior e disse que corrigirá a falha do software Java.

Até o momento, a empresa não confirmou a data de liberação da correção do bug. O departamento, responsável por situações informáticas de urgência, divulgou recentemente uma nota sobre o erro e desaconselhou o uso da aplicação. Além disso, empresas de segurança confirmam a brecha na segurança.
Esta falha permite, por exemplo, que hackers instalem aplicativos maliciosos no computador do usuário e acessem dados bancários e senhas.

De acordo com a Kaspersky, empresa desenvolvedora de soluções de segurança, o Java foi responsável por metade das falhas de segurança identificadas em 2012.

Fonte: Info


5 Motivos para animar-se com Java em 2013

  Com 2012 já era, é hora de olhar para frente nos próximos 12 meses para o desenvolvimento mundial. Ao longo dos últimos dias, nós pedimos alguns desenvolvedores respeitados por suas previsões - agora é hora para o nosso próprio.

Aqui está cinco razões rápidos por que você deve ser animado sobre o que 2013 reserva

1. JAVA 8 

  Para começar, é obvio para a maioria dos desenvolvedores Java, é o lançamento do Java 8 em 2013. Assumindo que não há mais atrasos, podemos esperar Java 8 para chegar em setembro, trazendo com ela as funções, tão aguardadas, lambda.

  É bastante provável que no rescaldo do Java 8 de boas-vindas, vamos ver vários post de blogs comentando ou criticando as complexidade dos novos recursos ou dizendo que a liberação não é grande o suficiente para justificar o interesse.

  De qualquer maneira, alguns recursos necessários, finalmente  irão fazer uma aparição e do resto de nós só vai junta para baixo. A melhorada na API
Date and Time dentro de Java 8 também merece uma menção aqui.(lembro aqui do LTN4JAVA)

2. Linguagens da JVM ir de força em força 

   2012 foi realmente o ano das linguagens JVM que tomou o centro do palco. Na frente da embalagem foi a multi-paradigma Scala, auemnto o número de  clientes empresariais graças ao investimento em impressionantes typesafe. Ampliando as possibilidades de Akka e 2,0 Play!, Parece que os fundamentos estão no lugar para alargar ainda mais em 2013. O verdadeiro desafio está vendendo Scala para aqueles que não precisam fazer algo pesado.

  O dinamismo do Groovy  não estava muito atrás no ano passado, acrescentando compilação estática na mistura com Groovy 2.0. Uma terceira versão é esperado, não muito tempo depois do Java 8, para permitir que desenvolvedores Groovy obtenha o máximo dos novos recursos. O elenco de apoio, incluindo Gradle e Grails, pode ser um grande atrativo para quem procura uma alternativa Java.

  Nós não mencionamos nomes como Clojure, JRuby e Kotlin, o último irá sofrer muito trabalho, uma vez que se aproxima uma versão final. Em última análise, o sucesso se resume ao fomento de uma comunidade ativa, que muitas línguas JVM têm cottoned e os projetos spinoff dentro dessa comunidade.

Se 2012 foi o ano do crescimento, 2013 é a consolidação dentro dos círculos empresariais, que é alimentado pelos desenvolvedores usando a linguagem. 


3. A importância crescente de JavaScript em Java 

  Detalhes eram finos no chão para duas novas iniciativas no OpenJDK para 2012, mas até o final do ano, tínhamos aprendido um pouco mais sobre os objetivos de cada projeto e sua importância para a inovação da linguagem Java. O conjunto de novo motor JavaScript incluído no Java 8 vai incorporar JavaScript em aplicações Java. O projeto Nashorn consolida a noção de ressurgimento JavaScript e cada vez mais a importância para os desenvolvedores Java.Inicialmente em sigilo, o Nashorn foi liberado em novembro e apareceu no repositório OpenJDK quatro dias antes do Natal. Outro grande ponto positivo para Nashorn é a inclusão crucial de Node.js descontroladamente populares dentro do negócio, dando início a um futuro poliglota. Com detalhes muito mais definidos para vir, nós estaremos monitorando com olhos de águia. 

4. Ficando mais estrondo para seu fanfarrão - aproveitando a GPU

   Outro projeto dentro do OpenJDK que tem um grande potencial é o Sumatra, com o objetivo de aproveitar melhor desempenho Java, utilizando a GPU. As investigações iniciais estão centradas na JVM Hotspot para estabelecer as bases, antes de 'alavancar' biblioteca Java 8 e linguagens de recursos como lambdas para testar as técnicas de ponta com Java.O projeto, liderado pelo  GPU especialista AMD, espera encontrar alguns obstáculos no caminho com a API Java e suas construções, por isso não vamos ver ideias implementadas no Java 8, mas Sumatra pode gerar grandes avanços e novas técnicas para baixo a linha para os desenvolvedores. 

5. Java deriva ainda mais para a nuvem 

  Com dezenas de IaaS e PaaS opções que inundam o mercado, tanto de indies como Jelastic e gigantes da indústria, como Oracle e AWS, os desenvolvedores estão agora muito por onde escolher. Java, ao que parece, conseguiu fazer o salto para o admirável mundo novo da "nuvem".O maior problema atual, como destacado por Martijn Verburg no blog Java Calendário do Advento, é a falta de padronização e otimização. Com própria nuvem Java, este foi adiado a apresentação para Java EE 8, é agora para fornecer padrões como o CAMP ou, na sua falta, a comunidade está indo para cima com estruturas universais como jclouds. Enquanto isso, outros se recusam a esperar pacientemente para Oracle fornecer recursos como multitenancy e coleta de lixo eficiente, como Waratek (que é esperado para setembro). 
  Com plataformas de nuvem rapidamente se tornando uma norma, estamos propensos a ver o lançamento de ainda mais soluções de terceiros para suportar Java na nuvem: no momento o Java EE 8 não tem data para lançamento (possivelmente 2014).

Texto de Chris Mayer
Tradução e Adaptação: Aljug 
Fonte: JaxEnter