Escolar Documentos
Profissional Documentos
Cultura Documentos
(EJB)
Romulo Fagundes Cantanhede
romulofc@unirn.edu.br
Aplicação com um nó de
Cliente execução
Máquina A
Balanceador
Proxy
Sessão Web
Replicação
Servidor J2EE
O Multithreading é
gerenciado pelo Container
(Resource Pooling)
Banco de
Dados A
ERRO!
Banco de
Dados B
Banco de
Dados A
ERRO!
Banco de
Dados B
Componente
EJB
Solicita
Processa
Resposta !
Cliente
Container
Rede
EJB
Stubs e Skeletons
Objeto A Objeto B
b.metodo();
Stub B Skeleton B
retorno
Protocolo de RPC
Objeto A Objeto B
Lado Cliente
© Copyright 2004 J2EEBrasil – Todos os direitos reservados
Interface Remota
IB objeto = ic.lookup(“objetoB”);
objeto.metodo();
Java C++
Interfaces Importantes
■ Interface Remota
■ Interface Home
import javax.ejb.EJBHome;
import java.rmi.RemoteException;
public interface PousadaHome extends EJBHome
{
public Pousada create() throws CreateException,
RemoteException;
}
Stub
Cliente
Cliente
© Copyright 2004 J2EEBrasil – Todos os direitos reservados
Interfaces
Locais
■ O componente perde a distribuição e não
pode ser chamado
■ Todo o restante é preservado
■ Interfaces
⬥javax.ejb.EJBLocalObject
⬥javax.ejb.EJBLocalHome
Remotas
■ Componentes Distribuídos
<jboss>
<enterprise-beans>
<session>
<ejb-name>ContadorBean</ejb-name>
<jndi-name>J2EEBrasilContador</jndi-name>
<local-jndi-name>J2EEBrasilContLoca</local-jndi-name>
</session>
</enterprise-beans>
</jboss>
Stateless
Session
Bean
Para o Container qualquer Stateless do mesmo
tipo é igual, dessa forma qualquer um pode ser
escolhido para servir o cliente.
Ativação/Passivação
Propriedades:
■ Persistente
■ Tem chave primária (Tipo primitivo ou uma Classe)
■ Possui relações com outros Beans
Fracamente Acoplados