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: InfoQ Brasil

Configurando o JDK no Mac OS X Lion

  Olá pessoal, 
         Recentemente fiz a aquisição de um belíssimo “Macbook Pro”, tinha visto e ouvido falar tanto dos computadores Apple que de certa forma me senti incomodado em não ter um,  foi então que resolvi matar a curiosidade e acabei comprando,  aconteceu bem na hora porque meu pobre “PC”, que foi comprado em 2009,  já não tava mais aguentando a pressão :(.
         Pois bem, resolvi criar este post no blog pra falar sobre a minha primeira experiência com Java nesse “Maravilhoso Notebook”. O Lion é uma das coisas mais belas que eu ja vi, pelo menos você sente que o sistema operacional é estável e cheio de “Truques” que ajudam desde de pessoas comuns até desenvolvedores, como eu, a realizar suas tarefas diárias.   Gosto de saber que o “Unix” tá ali por debaixo, percebo isso quando vou para o Terminal do mac e digito alguns comandos que aprendi em algumas temporadas no “Linux”.
           Voltando a falar de Java, nem tudo são flores, o primeiro susto que levei foi o fato de não haver para download no site da oracle, uma versão da JDK para o “Mac OS X Lion”, depois de pesquisar um pouco, acabo descobrindo que o que existe na verdade é uma versão do JDK da própria Apple, na qual contém os utilitários necessários para o desenvolvimento de aplicações Java.
Algumas versões do OS X já vem com Java
        Mas calma, ainda tem um pequeno detalhe, lendo o jFAQ acabo descobrindo que algumas versões do OS X, já vem com uma versão do Java pré instalado, eis que então, comprovo essa informação digitando o famoso comando “java -version” no console.
java -version no console do Mac OSX Lion

         

         
        Nesse ponto, tiro o chapéu para os que criaram o Lion e pensaram em já trazer o Java embebbed, afinal, daí a fama do Mac ser “User friendly”. Já pensou se todos os que precisassem rodar um simples Applet no seu Home Bank tivessem que saber comandos do “Shell” para poder instalar o Java ? Isso não ia ser nada legal né.
Instalando o Eclipse
         A instalação do eclipse continua sendo a do estilo “descompacte e rode”,  nesse caso o que eu fiz foi simplesmente baixar a versão para o Mac( 32Bit ou 64Bit  ), descompactar e copiar a pasta eclipse/  para o diretorio ~/Applications/java/,  para isso basta utilizar o próprio Terminal.
          Passo a passo:
          – Crie a pasta java com o comando:
        
          $mkdir ~/Applications/java/
          – Descompacte o arquivo baixado para a pasta criada:
          $tar -xvf  ~/Downloads/eclipse-jee-indigo-SR1-macosx-cocoa.tar.gz  ~/Applications/java/
        Feito os passos acima, agora é só ir via finder e clicar em Eclipse.app e, é claro, caso você desenvolva constantemente como eu, basta arrastar esse arquivo para o dock.
Eclipse descompactado e na pasta ~/Applications/java
     
         Logo quando abrir o eclipse, é bom informar para o mesmo, aonde se encontra o JDK e bibliotecas de desenvolvimento,  para fazer isso é só clicar em Eclipse/Preferencias/Java/Installed JREs e informar o caminho /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home como diretorio do seu JDK, lembrando é claro que esse diretório pode mudar dependendo da versão do java que for baixada.
Informando o caminho do JDK para o eclipse.

Adicionando o src.
          Estava tudo indo tão bem por aqui, até que eu senti falta do fonte do Java no meu projeto, então pensei, da mesma forma que faço no Windows posso fazer aqui, é só procurar pelo arquivo src.zip na raiz do JDK e pronto……. Eis que surge o grande problema, cadê o arquivo src.zip ? Tava tudo indo tão bem pra ser verdade né, mas é isso mesmo, o bendito do arquivo não tava lá. Mais algumas horas de pesquisa e descubro que preciso instalar o pacote de desenvolvimento Java da Apple 😦
         Basta fazer o download o mesmo aqui e instalar, só depois é que o bentido do arquivo aparece localizado no seguinte diretório: /Library/Java/JavaVirtualMachines/1.6.0_26-b03-383.jdk/Contents/Home/src.jar
Adicionando o arquivo src.jar ao eclipse.
      Agora sim,  eclipse configurado 🙂
E o JAVA_HOME ?
       Essa parte nem é tanta novidade para aqueles que já tiveram uma vivência em algum sistema “unix based” como o Linux, por exemplo !  Basta seguir o passo a passo abaixo:
       Crie o arquivo ~/.bash_profile usando o comando abaixo:
        $ touch ~/.bash_profile
        Abra no seu editor preferido e adicione a seguinte linha a ele:
     
        export JAVA_HOME=$(/usr/libexec/java_home)
      
        Salve e pronto, sua variável de ambiente JAVA_HOME já está configurada 🙂
Espero que vocês tenham gostado.
Abrcs.

JHome is "Duke’s Choice Awards Winner"

JHome é um projeto para automação residencial com Arduino + JavaEE 6 + Glassfish, através desta API é possível controlar tomadas e também receber os dados enviados pelos sensores conectados ao Arduino (como sensor de luz e temperatura). A idéia é utilizar os recursos de JavaEE 6 como agendamento de serviços para ligar e desligar eletrodomésticos, como uma cafeteira, ou acender e apagar luzes. Além de muita diversão também é uma forma de aprender a utilizar os principais componentes de JavaEE. Mais informações sobre o JHome no site jhome.globalcode.com.br ou diretamente com o Vinicius Senger no twitter: @vsenger!

Entrevista com o Vinicius

C++11

C++  é uma linguagem de programação bastante popular em todo mundo, usado em praticamente tudo, desde navegadores Web,  Robótica, Jogos e etc.  E como todos os javanêses devem saber, esta linguagem foi a base da nossa querida linguagem Java, dai a importancia de se manter atualizado, sobre as novidades da mesma e quem sabe algum dia, fazer uso de alguma integração via JNI, utilizando o melhor dos dois mundos.
A novidade em torno da lingaugem C++, é que ela foi totalmente atualizada através da “ISO / IEC 14882:2011, Tecnologia da Informação – Linguagens de Programação – C++”.  ISO que define a linguagem de programação e, especifica os requisitos para a implementação. Também conhecido como C++11, esta é a primeira grande revisão do padrão desde 1998. Seus novos recursos estendem C++ nos seus pontos fortes tradicionais de flexibilidade e eficiência como, por exemplo: lambda functions, move semantics, and variadic template. 
Fonte: