[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: [reverbel-sma] duvida



Olà Rodrigo,

estou respondendo para a lista, para que as informacÃes fiquem
acessÃveis a todos. Espero que nÃo se importe.

On 10/13/06, Rodrigo Ferro <rodferro@xxxxxxxxx> wrote:
Ao serializar no proxy dinamico a referencia para o remoteInvoker
(implementado como um servente), Ã enviado junto (serializado)o stub para
acessÃ-lo ?(acho que nÃo).
Exatamente, a classe do stub nÃo à enviada juntamente com o objeto
seriado. Portanto, ela deve estar presente no classpath do cliente. O
que vai seriado junto com o invoker proxy à uma IOR (String), que Ã
seriÃvel.

Caso contrario, terei que criar um campo do tipo
_InvokerStub no proxy dinamico e enviar a ior para acessar o server, e como
faÃo para integrÃ-los? NÃo sei se estou divagando....
Porque no caso do JRMP, o JRMPInvoker extendsRemoteServer para que no proxy
dinamico via RemoteObject.toStub obter o stub para acessÃ-lo.
O seu invoker proxy terà a IOR do objeto CORBA localizado no servidor.
Basta um ORB.string_to_object() e vocà tem um stub para interagir com
tal objeto (mas vocà vai precisar da classe do stub CORBA no
classpath). Logo, nÃo hà necessidade de um campo do tipo _InvokerStub.

Se o que eu escrevi nÃo esclarecer as suas dÃvidas por favor escreva
de novo. Bom trabalho!


Grato, Rodrigo.

On 10/13/06, Ivan Neto  wrote:
> Olà Rodrigo.
>
>
> On 10/13/06, Rodrigo Ferro  wrote:
> > Opa, Ivan, td bem?
> > Eu ainda fiquei em dÃvida. O cliente recebe o proxy
> > dinÃmico(serializado) que à fabricado pelo proxy factory.Mas como ocorre
o
> > vÃnculo do proxy dinÃmico com o stub gerado a partir do idl (eu preciso
> > desse stub, pois estou usando IIOP e nÃo java rmi, em que o stub Ã
passado
> > serializado).
> Esse vÃnculo ocorre dentro do invoker proxy, pois à ele quem envia a
> requisicÃo para o lado servidor. Portanto, seu invoker proxy terà que
> instanciar um stub CORBA e utilizÃ-lo para se comunicar com o servidor
> via IIOP.
>
> Qualquer dÃvida estou a disposicÃo.
>
> >
> > Obrigado,
> > Rodrigo
> >
> >
> >
> > On 10/12/06, Ivan Neto wrote:
> > >
> > > Olà Rodrigo.
> > >
> > > On 10/12/06, Rodrigo Ferro wrote:
> > > > 1-O cliente acessarà o servidor usando java RMI + IIOP ou sà via
IIOP?
> > > No caso desse trabalho acredito que a comunicaÄÃo serà feita "apenas"
> > > atravÃs de IIOP.
> > >
> > > > Estou perguntando isso, pois em relaÃÃo ao stub, eu deveria
considerar
> > > que o
> > > > cliente jà possui um stub estÃtico ou deveria ser passado junto com
o
> > > proxy
> > > > de forma serializada.
> > > > A dÃvida surgiu pois no IIOPInvoker (do jboss), Ã usado um stub
dinÃmico
> > > > IIOP(usa o stub de rmi.corba).Se nÃo tiver que passar o stub, sÃ
passo
> > > mesmo
> > > > entÃo a IOR?
> > > NÃo sei se entendi muito bem, mas vou tentar responder (se eu nÃo
> > > responder a sua dÃvida por favor me avise). Os stubs utilizados pelos
> > > clientes sÃo produzidos por uma proxy factory
> > > (org.jboss.proxy.ejb.ProxyFactory), e sÃo baseados em
proxies
> > > dinÃmicos. Tais stubs, apÃs fazerem a requisicÃo passar por uma cadeia
> > > de interceptadores, passam tal requisicÃo para um invoker proxy, o
> > > qual repassa a requisicÃo para o lado servidor atravÃs de algum
> > > protocolo (no caso do EP o IIOP).
> > >
> > > Desse modo, como a classe
org.jboss.proxy.ejb.ProxyFactory jà cria os
> > > stubs para os clientes, vocà nÃo precisa se preocupar em "fabricar"
> > > tais stubs. Vocà precisa apenas dizer a essa fÃbrica para ela "grudar"
> > > o seu invoker proxy nos stubs. Isso à feito atravÃs de um
> > > <invoker-proxy-binding>. Com relacÃo ao seu invoker proxy, tudo o que
> > > ele precisa para passar a requisicÃo para o servidor atravÃs do
> > > protocolo IIOP Ã uma IOR (a IOR do servente que vai receber tais
> > > requisicÃes do lado servidor).
> > >
> > > > 2-Em relaÃÃo à propagaÃÃo de contexto, segundo email anterior, eu
tenho
> > > que
> > > > usar o MarshalledInvocation que recebe um invocation no
construtor.Comoo
> > > > mÃtodo invoke da interface Invoker(definida em idl) recebe um byte[]
> > > > invocation, eu tenho que converter o array para object, fazer um
cast
> > > > invocation e setar a propagaÃÃo de contexto antes de enviar de novo
em
> > > forma
> > > > de um array de bytes para o server?
> > > Vocà vai precisar converter o byte array para um objeto do lado
> > > servidor. Do lado cliente (invoker proxy) vocà cria o
> > > MarshalledInvocation, define o contexto transacional, faz outras
> > > coisas se quiser, e daà na hora de enviar vocà transforma esse
> > > MarshalledInvocation num byte array. Do lado servidor ocorre o
> > > contrÃrio: vocà recebe um byte array, tranforma num
> > > MarshalledInvocation, despacha a requisicÃo, pega a resposta,
> > > transforma num byte array e a envia para o cliente. Para fazer as
> > > tranformacÃes objetos <-> byte array, vocà pode utilizar as classes
> > > ObjectInputStream/ObjectOutputStream.
> > >
> > > > Grato,
> > > > Rodrigo.
> > > Qualquer dÃvida volte a escrever.
> > >
> > > --
> > > Ivan Neto
> > >
> >
>
>
> --
> Ivan Neto
>




--
Ivan Neto