Diferença entre EJB2 e EJB3

Diferença entre EJB2 e EJB3
Diferença entre EJB2 e EJB3

Vídeo: Diferença entre EJB2 e EJB3

Vídeo: Diferença entre EJB2 e EJB3
Vídeo: FORNO DE EMBUTIR ELÉTRICO OU A GÁS? INDEPENDE DO MODELO VC SE DECIDE NESSE VÍDEO... 2024, Novembro
Anonim

EJB2 vs EJB3

EJB (Enterprise JavaBeans) é uma API Java (Application Programming Interface) encontrada na especificação Java EE (Java Platform, Enterprise Edition). O EJB descreve um modelo de arquitetura para o desenvolvimento de aplicativos corporativos. Este é um modelo gerenciado do lado do servidor capaz de capturar a lógica de negócios do aplicativo corporativo. A IBM é a criadora original do EJB que o desenvolveu em 1997. A Sun Microsystems o adotou em 1999.

Antes da introdução do EJB, descobriu-se que as soluções para problemas encontrados no código de negócios de back-end eram frequentemente reimplementadas pelos programadores. Como resultado, o EJB foi introduzido para resolver esses problemas comuns, como persistência, integridade transacional e segurança. O EJB fornece maneiras padrão de lidar com esses problemas de back-end, especificando como o servidor de aplicativos deve processar transações, integrar-se aos serviços JPA (Java Persistence API), lidar com o controle de simultaneidade, lidar com eventos JMS (Java Message Service), resolver problemas de nomenclatura com JNDI (Java Naming and Directory Interface), desenvolver programas seguros com JCE (Java Cryptography Extension) e JAAS (Java Authentication and Authorization Service), implantar componentes, comunicar-se remotamente com RMI-IIOP (Java Remote Method Invocation Interface over the Internet Inter-Orb Protocol), desenvolva serviços da Web, invoque métodos assíncronos e use o serviço Timer.

EJB2

EJB2 (EJB 2.0) foi lançado em 22 de agosto de 2001. Ele descreve a especificação para o desenvolvimento de aplicativos orientados a objetos distribuídos em Java combinando ferramentas desenvolvidas por diferentes fornecedores. Um dos principais objetivos do EJB2 era permitir que os programadores desenvolvessem aplicativos corporativos com mais facilidade sem ter que entender detalhes de baixo nível, como multiencadeamento e pool de conexões. Outro objetivo era permitir que os programadores escrevessem um “Bean” uma vez e executassem em qualquer lugar sem recompilação (aderindo ao slogan “escreva uma vez, execute em qualquer lugar” da linguagem de programação Java). Além disso, o EJB2 pretendia permitir que componentes desenvolvidos por diferentes fornecedores interoperassem facilmente e permitir que os fornecedores escrevessem extensões para seus produtos que possam suportar EJBs.

EJB3

EJB3 (EJB 3.0) foi lançado em 11 de maio de 2006. O EJB3 facilitou muito a vida dos programadores, permitindo que eles usassem anotações no lugar dos descritores de implantação que eram usados nas versões anteriores. O EJB3 contém uma interface de negócios e um bean de entidade específico que pode implementar essa interface de negócios, eliminando a necessidade de usar interfaces home/remote e o arquivo ejb-jar.xml. O desempenho geral do EJB3 é muito melhor em comparação com o EJB2, e há um aumento considerável na configurabilidade, flexibilidade e portabilidade nesta versão do EJB.

Qual é a diferença entre EJB2 e EJB3?

EJB3 tem uma melhoria notável na configuração e desempenho em relação ao EJB2. Uma razão para essa melhoria de desempenho é o uso do POJO (Plain Old Java Object) com metadados e Descritores de Implementação XML por EJB3 em vez de pesquisas JNDI usadas no EJB2 para referências de objetos. A configuração do EJB3 é muito mais simples porque o programador não precisa implementar interfaces Home/Remote e outras (por exemplo SessionBean), o que elimina a necessidade de usar métodos de callback de container (como ejbActivate e ejbStore).

Além disso, o EJB3 é melhor que o EJB2 nas áreas de flexibilidade e portabilidade. Por exemplo, é fácil converter entidades EJB3 em DAO (Data Access Object) e vice-versa porque as entidades EJB3 são leves (ao contrário das entidades EJB2 pesadas, que implementam as interfaces mencionadas acima). As consultas de banco de dados escritas em EJB3 são muito flexíveis porque usam um EJB-QL refinado, no lugar da versão mais antiga do EJB-QL, que tinha várias limitações. O EJB3 remove todos os problemas de portabilidade do EJB2 (que usa beans de entidade para acesso ao banco de dados) suportando JPA mais generalizado para todas as transações de dados.

Ao contrário do EJB2, que precisa de um contêiner EJB para ser executado, o EJB3 pode ser executado em uma JVM (Java Virtual Machine) independente sem a necessidade de usar contêineres (isso é possível porque não implementa interfaces padrão). Ao contrário do EJB2, o EJB3 é facilmente conectável com provedores de persistência oferecidos por terceiros. Outra diferença importante entre o EJB3 e o EJB2 é que o EJB3 pode usar segurança baseada em anotação, enquanto o EJB2 usa segurança baseada em descritores de implementação. Isso significa que as tarefas de configuração e configuração são muito mais fáceis no EJB3, e há uma redução considerável nas despesas gerais de desempenho em comparação com o EJB2.

Recomendado: