JEE 6 quais a novidades?

Olá, tenho ouvido falrem na nova versão do Java Enterprise Edition (JEE 6), e gostaria de saber o que poderemos esperar desta nova versão da plataforma JEE.
Quais são as principais mudanças em relação a versão atual? Quais as principais vantagens?
Um abraço. :wink:

ejb 3.1 … versao lite para rodar em wars, jpa 2.0 melhorada, annotations em servlets, jsf 2.0 com facelets e mais integrado… e por ai vai.

Outra feature será a possibilidade de configurar o ambiente de execução web via codigo. (básicamente o Servletcontext terá métodos para ler e escrever os mesmos parametros que se escrevem no web.xml. Incluindo registrar novos servlets. Isso é uma mão na roda para frameworks que funcionam em cima da API de servelts.

Eu vejo o JEE 6 uma grande evolução.

Pela primeira vez vai ser possivel desenvolver para Web sem ajuda de frameworks terceiros e sem a sensação de não estar fazendo trabalho sujo.

Fazer um servlet sem XML via anotations.

JSF também via anotations.

EJB 3.1 facil de usar

JPA 2.0 com um “createcriteria” e “delete-orphan” parecidos com o hibernate

Vai ficar legal.

Muitas coisas já da pra testar com o glassfish v3.

Grande evolução é o Java EE 5 , o 6 vem continuar ela apenas…

Quanto a desenvolver web sem ajuda de frameworks de terceiros vc se engana… prq o Seam vai ser R.I.

faltou o webbeans
http://jcp.org/en/jsr/detail?id=299

O JEE 6 será sim uma ruptura na forma de se desenvolver aplicações para a plataforma, isso graças ao EJB 3.1 e WebBeans.

Após a mudança meramente cosmética do EJB 3.0, a versão 3.1 mudará a forma de deployment e acrescentará chamadas assíncronas e instâncias únicas de EJB. Indiretamente, previligiará chamadas EJB locais a chamadas EJB remotas, pois a primeira possuirá mais opções de configuração e estará presente em servidores com profile “web”.

O WebBeans, basicamente um subconjunto do Seam, fará com que EJB deixe de ser “da camada de negócio” e passe a ser ubíqua, ou seja, em qualquer camada, o estilo de programar será o mesmo. E acredite, será algo bom.

Mas existem falhas, a principal é o fato do JAX-RS (para criação de aplicações RESTful) ser um modelo que se sobrepõe ao Servlet 3.0, portanto, acredito que uma unificação será necessária numa futura especificação.

A segunda falha é que Faces não terá grandes revoluções, apenas pegará o estado da arte que já existe na forma de plugins, e acrescentará na especificação. Os benefícios virá mais quando criarem novas bibliotecas que rodem em cima do novo JSF, criando um círculo virtuoso. Ou seja, Java EE 6 não será a extinção de bibliotecas de terceiros.

A terceira falha é que, como JEE 6 será lançado antes do Java 7, não teremos o invokedynamic, que seria a “última barreira” do bytecode Java rodar linguagens dinâmicas. Ou seja, uma integração suave entre Java EE e, sei lá, Django ou Rails, seja só para JEE 7, ou os futuros frameworks que virão. (Apesar que não é impossível integrar aplicações com linguagens diferentes com o que temos hoje.)

É isso.

Vo comprar um livro que usa JEE5, vai ter muita diferença pra esse novo?
8)

[quote=bsatrianim]Vo comprar um livro que usa JEE5, vai ter muita diferença pra esse novo?
8)
[/quote]

Vai ter diferença, mas quem sabe JEE 5 não vai ter dificuldade na versão 6. Lembre-se também que o novo Java EE só estará disponível em meados de 2009, e implementações irão surgir lá pra 2010. Então, não espere pra aprender, conheça Java EE 5 agora.

Leonardo3001,

Desenvolvi bastante com EJB 2.1 e posso te dizer que não tem nada de cosmetico para a 3.0… mudou MUITA coisa… simplificou MUITO a vida…

Quanto ao faces… jsf+facelets eh uma solucao muito legal… e tem novidade sim… o ciclo do faces agora suporte qualquer integracao com AJAX e ficou bem mais facil desenvolver componetnes… (nao composite components… COMPONENTES mesmo)

Quanto a depender de biblioteca de terceiros isso SEMPRE vai acontecer… esse negocio de “SUPER MEGA FRAMEWORK” nao existe… e se existir , em um ano ele tah defasado… JEE é uma especificacao… e nao uma implementacao, usar toda implementacao da sun nao quer dizer “nao depender de nenhuma biblioteca de fora”

Acho que JavaEE 6 vai ser muito bom independente de ter ou não invokedynamic… isso HOJE nao faz assim tanta diferenca… com JRuby por ai… Jython… PHP… tudo roda na plataforma Java EE 5 até…

O negocio eh usar o que temos hoje… a migracao para Java EE 6 vai poder ser gradual… veja o meu exemplo , tenho um software que tem 90% em entitys 2.1 e alguns 3.0 :smiley:

teremos uso de ponteiros :lol: (Brincadeira…foi só para descontrair rsrsrsrsrs)

cara o JEE 6 vai estar muito bom pelo visto…nice addictions 8)

Também desenvolvi com EJB 2.1, muito mais do que gostaria. Quando disse “cosmético” não me referi a algo que pudesse desmerecer a mudança, só quis dizer algo assim: “antes era feio, agora ficou bonito”. É claro que a mudança “cosmética” implica em simplificação, que implica que novas possibilidades. Não nego esse ponto.

A bibliotecazinha de AJAX, a ser introduzida pelo Faces, me parece um “retrofit” dos engines já disponíveis (mas que ficam escondidos ao usuário final) no RichFaces, ICEFaces e outros. O AJAX padrão do JSF 2.0 servirá mais ao implementadores de bibliotecas, não tanto ao desenvolvedor comum. E outra, a criação de componentes já é suportado de alguma maneira pelo Facelets, não vejo novidade.

Concordo, e não acho ruim o uso de bibliotecas fora da especificação. Uma única solução não serve para todos os problemas.

É claro que é possível usar JRuby, Jython, Quercus (PHP) hoje em dia. Mas imagine a seguinte situação: gostaria de chamar um método de um objeto Ruby, que só é chamado via method_missing (ActiveRecord usa muito isso), através de Expression Language. É possível isso hoje? Não! Mesmo a EL tendo natureza dinâmica, os métodos a serem chamados precisam ser conhecidos em tempo de compilação. O uso de invokedynamic pode eliminar essa e outras barreiras.

Concordo. Fazer tudo de uma vez cria riscos desnecessários.

Leonardo,

Quanto a parte do AJAX… eh muito bom que a JCP bata o martelo quando achar algo implementado pela comunidade viavel e bem feito… nao acho que seja ruim eles estarem facilitando a vida para os programadores… assim teremos bibliotecas menos “xunxadas”…

Os componentes criados pelo facelets não conseguem as vezes ser tão acoplados e inteligentes… já tentou fazer um paginador usando facelets ? eh nesse ponto que melhoraram a construcao de componente comuns… e isso ficou bem legal…

Quanto a parte da method_missing… sim vai ser uma GRANDE GANHO… mas nao sei até onde teremos revolucoes apos isso… o que quero dizer que nao eh algo que eu DEVA ESPERAR POIS VAI FICAR UM BILHAO DE VEZES MELHOR… quando vier… veio. :slight_smile:

Valeu !

Pessoal, fiz um resumo em meu blog dessas novidades que achei mais interessantes, acho que vale a pena dar uma lida --> http://portalengenhariadesoftware.blogspot.com/2010/02/jee-6-esta-bombando-de-novidades.html

Abraço a todos! :slight_smile: