logo

O que é EJB

EJB é um acrônimo para bean java corporativo . É uma especificação fornecida pela Sun Microsystems para desenvolver aplicativos distribuídos seguros, robustos e escaláveis.

Para obter informações sobre aplicativos distribuídos, visite Tutorial RMI primeiro.

Para executar o aplicativo EJB, você precisa de um servidor de aplicação (EJB Container) como Jboss, Glassfish, Weblogic, Websphere etc.

  1. Gerenciamento do ciclo de vida,
  2. segurança,
  3. gerenciamento de transações e
  4. agrupamento de objetos.

O aplicativo EJB é implementado no servidor, por isso também é chamado de componente do lado do servidor.

EJB é como COM ( Modelo de objeto componente ) fornecido pela Microsoft. Porém, é diferente de Java Bean, RMI e Web Services.


Quando usar o Enterprise Java Bean?

  1. O aplicativo precisa de acesso remoto . Em outras palavras, é distribuído.
  2. O aplicativo precisa ser escalonável . Os aplicativos EJB suportam balanceamento de carga, clustering e failover.
  3. O aplicativo precisa de lógica de negócios encapsulada . O aplicativo EJB é separado da camada de apresentação e persistente.

Tipos de Enterprise Java Bean

Existem 3 tipos de bean corporativo em java.

Feijão de Sessão

O bean de sessão contém lógica de negócios que pode ser chamada por cliente local, remoto ou de serviço web.

Bean orientado a mensagens

Assim como o Session Bean, ele contém a lógica de negócios, mas é invocado pela passagem de mensagens.

Feijão de Entidade

Ele encapsula o estado que pode ser persistido no banco de dados. Está obsoleto. Agora, ele foi substituído por JPA (Java Persistent API).


Diferença entre RMI e EJB

Tanto o RMI quanto o EJB fornecem serviços para acessar um objeto em execução em outra JVM (conhecido como objeto remoto) a partir de outra JVM. As diferenças entre RMI e EJB são fornecidas abaixo:

RMIEJB
No RMI, os serviços de middleware, como segurança, gerenciamento de transações, pool de objetos, etc., precisam ser executados pelo programador Java.No EJB, os serviços de middleware são fornecidos automaticamente pelo EJB Container.
RMI não é um componente do lado do servidor. Não é necessário ser implantado no servidor.EJB é um componente do lado do servidor e deve ser implantado no servidor.
O RMI é construído sobre a programação de soquetes.A tecnologia EJB é construída sobre RMI.

EJB e Webservice

No EJB, o componente bean e o cliente bean devem ser escritos em linguagem java.

Se o cliente bean precisar ser escrito em outra linguagem, como .líquido , php etc, precisamos ir com serviços web (SOAP ou REST). Portanto, EJB com serviço web será a melhor opção.


Desvantagens do EJB

  1. Requer servidor de aplicativos
  2. Requer apenas cliente java. Para clientes de outros idiomas, você precisa usar o webservice.
  3. Complexo para entender e desenvolver aplicativos ejb.