Legal cara, obrigado.

Deu para ter um entendimento do assunto. Ficou bem claro.

Ser� que d� para mostrar alguns links onde tem exemplos de implementa��o
usando isso?

----- Original Message -----
From: "Dr. Spock" <
[EMAIL PROTECTED]>
To: "Henrique Ribeiro" <
[EMAIL PROTECTED]>
Sent: Monday, January 13, 2003 6:44 PM
Subject: Re: [enterprise-list] EJB Context


> Caro Henrique,
>
>    Ufa ... T� come�ando a complicar ... mas vamos l� ...
>
>    Para executar qualquer m�todo de neg�cio de um EJB, vc dever� fazer
> isso atrav�s da interface de componente (Component Interface) do EJB,
> seja uma interface remota ou local. Nenhum cliente externo (seja um
> outro EJB, uma aplica��o java cliente, um componente JSP ou um
> componente servlet) tem acesso direto � implementa��o do EJB. Ou seja,
> um cliente n�o deve ter a refer�ncia para o objeto EJB propriamente dito
> para que este possa executar os seus m�todos de neg�cio. Qualquer
> chamada deve ser realizada atrav�s do objeto de interface componente.
>
>    Atrav�s do objeto que representa a interface do componente a coisa
> funciona como um 'proxy'. Ou seja, vc chama o m�todo do objeto que
> realiza a interface do componente (Component Interface) e este m�todo �
> que chama o m�todo correspondente e propriamente dito do bean (inst�ncia
> do EJB). Neste meio tempo, j� que � o 'container' que implementa este
> objeto de interface, todas as valida��es de seguran�a e transa��es s�o
> realizadas. Existem uma indire��o neste processo.
>
>    Note que um outro cliente (EJB, application, applet, JSP, servlet,
> etc) n�o tem acesso direto ao EJB propriamente dito. Mas o 'container,
> que � o ambiente que cuida das inst�ncias dos EJB's e de todos os
> recursos e servi�os dispon�veis, tem acesso direto. Portanto, para que
> estes outros clientes possam acessar a inst�ncia do EJB, estes devem
> fazer atrav�s da interface e nunca atrav�s da refer�ncia direta para o
> objeto. N�o podemos nos esquecer que distribui��o tb � uma
> caracteristica ofereciada pelos servidores de aplia��es, ou seja, tudo
> isso pode rodar em m�quinas diferentes e/ou m�quinas virtuais (JVM)
> diferentes. Ent�o, acesso direto n�o pode ser permitido. Mas, deve-se
> ter um mecanismo padr�o para permitir tal comunica��o. Por fim, se um
> EJB vai passar a sua refer�ncia para outro, para que este segundo EJB
> acesse o primeiro, o primeiro n�o poder� passar explicitamente o seu
> ponteiro (this). Mas se passar a refer�ncia do seu objeto de interface
> componente tudo estar� ok, j� que o segundo EJB acessar� o primeiro
> atrav�s da interface componente e n�o atrav�s da refer�ncia direta do
> Bean. Assim, atrav�s da interface compoente todos os aspectos de
> seguran�a, transa��o, distribui��o, performace escalabilidade, etc,
> podem ser tratado pelo 'container'.
>
>    Um bom livro que explica detalhes de como isso funciona e pq � assim
> chama-se:
>
>    Enterprise JavaBeans
>    Richard Monson-Haefel
>    O'Reilly & Associates, ISBN 0-596-00226-2
>   
http://www.oreilly.com/catalog/entjbeans3/
>
>    Tem uma vers�o online deste livro em:
>
>   
http://safari.oreilly.com/?XmlId=0-596-00226-2
>
>    That's all ... []�s
>
>      Spock
>
> Henrique Ribeiro wrote:
> > Certo. A explica��o foi muito boa. Agora para tirar a minha d�vida em um
> > exemplo, me expliquem isso.
> >
> > Esse � um trecho do livro "Tutorial do J2EE".
> >
> > "Passando um refer�ncia de objecto de um enterprise bean
> >
> >     Supona que seu enterprise bean precise passar uma refer�ncia a ele
mesmo
> > para outro bean. Por exemplo, voc� talvez queira passar a refer�ncia
para
> > que o segundo bean possa chamar os m�todos do primeiro bean. Voc� n�o
pode
> > passar a refer�ncia this porque ela aponta pata a inst�ncia do bean, o
qual
> > est� executando no cont�iner EJB. Somente o cont�iner pode chamar
> > diretamente os m�todos na inst�ncia do bean. Os clientes acessam a
inst�ncia
> > indiretamente chamando os m�todos no objeto cujo tipo � a interface
remota
> > do bean. � a refer�ncia a esse objeto (a refer�ncia remota do bean) que
o
> > primeiro poderia passar para o segundo bean.
> >     Um bean se sess�o obt�m sua refer�ncia remota chamando o m�todo
> > getEJBObject da interface SessionContext. Um bean de entidade poderia
chamar
> > o m�todo getEJBObject da interface EntityContext. Essas interfaces
> > proporcionam aos bean acesso aos contextos de inst�ncia mantidos pelo
> > cont�iner EJB. Normalmente, o bean salva o contexto no m�todo
> > setSessionContext. O fragmento de c�digo a seguir mostra como um bean de
> > sess�o poderia usar esses m�todos.
> >
> > public class WagonBean implements SessionBean {
> >
> >    SessionContext context;
> >    ...
> >    public void setSessionContext(SessionContext sc) {
> >       this.context = sc;
> >    }
> >    ...
> >    public void passItOn(Basket basket) {
> >    ...
> >       basket.copyItems(context.getEJBObject());
> >    }
> >    ...
> >
> >
> >
> >
> > Henrique Ribeiro
> >
> >
> >
>
>
>

Responder a