BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Novidades do EJB 3.2: cloud computing em foco

Novidades do EJB 3.2: cloud computing em foco

Favoritos

Marina Vatkina, líder da especificação JSR 345: Enterprise JavaBeans 3.2, publicou um resumo das novidades planejadas para esta nova versão. As melhorias englobam alterações para executar componentes EJB na nuvem no modelo de Plataforma como Serviço (PaaS), novas anotações para facilitar o desenvolvimento e aumentar a integração com outras especificações da plataforma.

Session Beans e Message-Driven Beans

Uma área que sofreu várias alterações foi a de Session Beans:

  • O ciclo de vida dos métodos interceptadores de callback dos Stateful Session Beans agora podem ser executados em um contexto de transação;
  • Singleton Session Beans agora incluem eventos de início e finalização da aplicação;
  • Será possível desabilitar completamente a passivação de componentes Stateful Session Bean específicos;
  • Foram adicionados, como funcionalidades do EJB 3.2 Lite, o suporte para componentes do tipo Session Bean locais assíncronos, e temporizadores não persistentes.

Já as alterações sobre Message-Driven Beans ficam por conta do alinhamento com as novidades da especificação JMS 2.0.

Compatibilidade com versões anteriores

O suporte para algumas funcionalidades se tornará opcional na versão 3.2. As funcionalidades opcionais foram separadas em outro documento (deve-se aceitar o acordo de licença para visualizá-lo), que possui itens como:

  • Suporte a serviços web baseados em JAX-RPC;
  • Clientes para componentes EJB 2.1 ou anteriores;
  • Gerenciamento de Entity Beans 2.1 ou anteriores (que não usam JPA) pela aplicação ou container;
  • Métodos de consultas com EJB-QL gerenciados pelo container.

Note que um servidor de aplicações que deixe de implementar os itens opcionais não perde nenhuma funcionalidade das APIs EJB 3.0 ou mais recentes. O que fica ausente é apenas o suporte a tecnologias legadas, previstas por versões mais antigas do Java EE (J2EE 1.4 e anteriores); perde-se consequentemente a compatibilidade com algumas aplicações escritas para estas versões.

Temporização e ambiente de execução

A API TimerService foi ampliada com a adição do método getTimers(), que permite a consulta de todos os temporizadores ativos que estejam relacionados a um módulo EJB.

No ambiente de execução, a restrição para obter o class loader atual foi removida da "lista de restrições de programação" da especificação, e o acesso a operações de entrada e saída foi liberado. Porém, neste último ponto, a especificação recomenda cuidado, pois alguns arquivos do sistema podem não estar disponíveis ou o conteúdo desses arquivos pode divergir nas diferentes instâncias de componentes. Recomenda-se o uso de APIs de gerencialmento de recursos, como o JDBC, subordinadas ao JCA, em vez de acesso direto ao sistema de arquivos.

Foram mantidas outras restrições, por exemplo, contra o acesso a métodos de manipulação de threads por componentes EJB, ou a criação e configuração de class loaders. Também permanecem proibidas a execução de operações de rede: os EJBs podem abrir conexões de rede, mas não podem receber diretamente conexões TCP/IP de clientes remotos. Estas têm que ser mediadas pelo servidor de aplicações.


Mais informações sobre a especificação do EJB 3.2 podem ser obtidas na página da JSR 345, na lista de discussão ou no site do projeto. Caso haja interesse em acompanhar as discussões ou contribuir com a especificação, pode-se enviar um email para users@ejb-spec.java.net com sugestões e críticas.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT