Diferença entre o ejb 2.0 e o ejb 3.0

ejb 2.0 vs ejb 3.0

O ejb 2.0 e o ejb3.0 são a versão do Enterprise Java Beans (EJB) que possui ampla popularidade por sua arquitetura gerenciada do lado do servidor para construção modular de aplicativos corporativos. O ejb2.0 e o ejb3.0 atendem seus usuários da mesma maneira, mas o ponto central do EJB 3.0 é que ele simplificou a vida dos desenvolvedores em comparação com o ejb2.0. O ejb 2.0 foi projetado sob o JCP (Java Community Process), permite que a arquitetura EJB facilite a implementação e implementação de aplicativos de serviços da Web baseados na tecnologia Java. Por outro lado, o ejb 3.0 fornece uma base para definir a nova API EJB simplificada que ajuda a facilitar o desenvolvimento. Sua função adicional é a nova Java Persistence API para o gerenciamento de persistência e mapeamento objeto / relacional com Java EE e Java SE.

O ejb 2.0 usa beans de entidade para acessar o banco de dados, mas o ejb 3.0 suporta a API Java Persistence para todas as suas necessidades de dados generalizadas o suficiente para tratar de todos os problemas de portabilidade. O ejb 3.0 tem melhor desempenho, de forma que ele usa POJOs com anotação de metadados recém-introduzida, comparativamente mais rápida que os arquivos XMLDescriptor e JNDI Usado pelo ejb 2.0 para referência de objeto.

O ejb 2.0 é pesado em termos de requisitos para gravar interfaces domésticas e remotas e também executar interfaces padrão como javax.ejb.SessionBean. O ejb 3.0 não tem restrição para usar nenhuma interface padrão. É um POJO simples e bem configurado que não precisa implementar métodos de retorno de chamada de contêiner, como ejbActivate, ejbLoad, ejbStore etc..

O ejb 2.0 tem a limitação e a inflexibilidade para escrever consultas ao banco de dados usando o EJB-QL, enquanto o ejb 3.0 é facilitado com o EJB-QL refinado e, portanto, as consultas ao banco de dados escritas são muito flexíveis..

A segurança é fornecida no ejb 2.0 através do uso de descritores de Implementação. O EJB3.0 usa anotações para simplificar as tarefas de configuração e instalação para problemas de segurança. O ejb 3.0 pode ser facilmente usado com provedores de persistência de terceiros conectáveis, mas o ejb 2.0 tem limitações a esse respeito.

Resumo:
1. O ejb 2.0 usa a entidade Beans para acessar os bancos de dados, mas o ejb3.0 usa o JPA para acessar o banco de dados.
2. O ejb.0 precisa da descrição da implementação, mas não há nenhum requisito da descrição da implementação ao usar o ejb3.0.
3. No ejb 2.0, precisamos escrever a interface Home e Remote para acessar os bancos de dados, enquanto o ejb3.0 não possui essa restrição e é mais conveniente nesse sentido..
4. Os problemas de segurança estão sendo tratados através dos descritores de Implementação no ejb2.0, mas o ejb3.0 está usando a anotação.
5. O ejb 2.0 tem limitações em sua capacidade de conexão com provedores de persistência de terceiros.
6. No ejb3.0, o Query é muito flexível e vários níveis de junções são ativados através do EJB-QL refinado.