Title: RES: [java-list] EJB

Componentes Enterprise Java Beans      

Enterprise Java Beans s�o componentes de aplica��o que s�o executados no servidor J2EE e tipicamente implementam a regra de neg�cio de uma aplica��o empresarial e o acesso aos dados em bancos de dados ou sistemas legados. 

O Java 2 Enterprise Edition (J2EE), utiliza-se al�m da J2SE, diversas outras tecnologias que podem ser agrupadas em componentes, servi�os e comunica��o.

Existem dois tipos de enterprise beans: Session Beans e Entity Beans.

Entity Beans

Um Entity Bean representa um objeto de neg�cio armazenado, servindo de meio de acesso as informa��es do sistema que podem estar armazenadas em um banco de dados, um sistema legado, um arquivo convencional ou qualquer outro meio ou formato de armazenamento. O tipo do armazenamento da informa��o e a forma de manipula��o da mesma dependem da implementa��o do EJB.  Tipicamente isso � feito em um banco de dados relacional. 

Obs. Normalmente os Entity Beans s�o utilizados para implementar a camada de acesso a dados de uma aplica��o multicamadas.

Session Beans

Um Session Bean � um componente servidor que representa a intera��o de uma aplica��o cliente com um servidor J2EE. Uma aplica��o cliente comunica-se com o servidor J2EE chamando m�todos (via RMI ou CORBA) do session bean.  Cada Session Bean pode ter apenas um �nico cliente. Quando o cliente encerra sua intera��o com o servidor, o Session Bean correspondente � eliminado. Assim, um Session Bean � transiente, n�o sendo persistido.

Obs. Normalmente os Sessions Beans s�o utilizados para implementar a camada de regra de neg�cio de uma aplica��o multicamadas.

Comparando Session Beans com Entity Beans

Embora tanto o session bean quanto o entity bean sejam executados no container EJB, eles s�o bem diferentes.

Prop�sito:
      Session Bean - Executa uma regra de neg�cio para a aplica��o cliente.
        Entity Bean  - Representa um objeto de neg�cio persistente.

Acesso Compartilhado:
        Session Bean - S� pode ser utilizado por um cliente.   
      Entity Bean  - Pode ser utilizado por v�rios clientes simultaneamente.

Persist�ncia:  
      Session Bean - N�o � persistente. Quando o cliente � encerrado, o session bean associado tamb�m � eliminado.     

      Entity Bean  - � persistente. Mesmo quando o container EJB � encerrado, os dados manipulados pelo Entity permanecem no banco de dados.

Containers de Componentes EJB
O container de EJBs oferecem recursos de controle transacional e persist�ncia, entre outros.

Servi�os

Os servi�os formam uma infra-estrutura que simplifica a programa��o dos componentes e permite que estes sejam adapt�veis dinamicamente para utilizar recursos dispon�veis no ambiente de execu��o.

Tipos de Servi�os

Servi�o de Diret�rio                   

JNDI (Java Naming and Directory Interface)
Servi�o que permite que um servidor registre objetos em um c�tologo de objetos e que a pr�pria aplica��o ou outras aplica��es, no mesmo ou em outros servidores, localizem esse objeto e lhe solicitem alguma a��o atrav�s da chamada de um de seus m�todos.

Servi�o de Distribui��o        

Deployment Descriptor
Servi�o que permite que os componentes e aplica��es sejam adaptados atrav�s de parametriza��o do ambiente de execu��o.  Essa parametriza��o � feita atrav�s de um arquivo XML chamado de Deployment Descriptor.  Nele podem ser definidos aspectos de seguran�a, performance, controle transacional, etc.

Servi�o de Controle Transacional

JTS (Java Transaction Service) e  JTA (Java Transaction API)
Servi�o que gerencia transa��es de acesso a bancos de dados (usando o padr�o XA).

JDBC (Java Database Connectivity)
Servi�o de acesso a banco de dados.

Servi�o de Seguran�a           

JAAS (Java Authentication and Authorization Service)
Servi�o de autoriza��o e autentica��o das a��es de uma aplica��o ou usu�rio.

 Comunica��o

As tecnologias de comunica��o permitem a comunica��o entre clientes e servidores e entre servidores.

Tipos de Tecnologias de Comunica��o

Protocolos Internet

TCP/IP
HTTP 1.0
SSL 3.0
Protocolo de Chamada a M�todos Remotos

RMI (Remote Method Invocation)
Permite a chamada remota de m�todos de um objeto em uma outra m�quina da mesma forma que � chamado um m�todo de um objeto local.  O objeto remoto pode ser localizado utilizando-se do servi�o JNDI.

Protocolos definidos pelo OMG (Object Management Group)

Java IDL (Java Interface Definition Language) e RMI-IIOP (RMI over Internet Inter-ORB Protocol)
Implementa a comunica��o entre objetos remotos utilizando o padr�o CORBA (Common-Object Broker Architecture) definido pela organiza��o OMG.  Permite a comunica��o entre objetos Java e objetos ou programas desenvolvidos em outras linguagens de programa��o. 

Mensagens Ass�ncronas

JMS (Java Message Service) e JMA (Java Message API)
Servi�o que permite a comunica��o atrav�s de mensagens ass�ncronas.

JavaMail
Servi�o que permite o envio e recep��o de e-mails atrav�s de uma aplica��o Java.

Veja o texto completo no site  http://www.infonet.com.br/zemaria/ tutorial (Enterprise EJB)
 
Um abra�o.

Responder a