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: Java EE 123: EJB 1: Что такое EJB 2024, Março
Anonim

EJB2 vs EJB3

EJB (Enterprise JavaBeans) é uma API Java (Interface de Programação de Aplicativos) encontrada na especificação Java EE (Java Platform, Enterprise Edition). EJB descreve um modelo de arquitetura para o desenvolvimento de aplicativos corporativos. Este é um modelo gerenciado do lado do servidor que é capaz de capturar a lógica de negócios do aplicativo corporativo. A IBM é o criador 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 backend, 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 (interface Java Remote Method Invocation sobre o Internet Inter-Orb Protocol),desenvolver serviços da web, invocar métodos assíncronos e usar 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 multi-threading e pool de conexão. Outro objetivo era permitir que os programadores escrevessem um “Bean” uma vez e rodassem 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 interoperem facilmente e permitir que os fornecedores escrevam extensões para seus produtos que possam suportar EJBs.

EJB3

O EJB3 (EJB 3.0) foi lançado em 11 de maio de 2006. O EJB3 tornou a vida dos programadores muito fácil, 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 / remotas 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?

O 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 XML Deployment Descriptors por EJB3 em vez de pesquisas JNDI usadas em EJB2 para referências de objeto. 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 retorno de chamada de contêiner (como ejbActivate e ejbStore).

Além disso, o EJB3 é melhor do 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 (em oposição às 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 anterior 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) ao oferecer suporte a 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 a provedores de persistência oferecidos por terceiros. Outra diferença importante entre EJB3 e EJB2 é que EJB3 pode usar segurança baseada em anotação, enquanto EJB2 usa segurança baseada em descritores de implantação. Isso significa que as tarefas de configuração e instalação são muito mais fáceis no EJB3 e há uma redução considerável nas sobrecargas de desempenho em comparação com o EJB2.

Recomendado: