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

Re: [reverbel-sma] duvida



Olà Rodrigo.

On 10/13/06, Rodrigo Ferro <rodferro@xxxxxxxxx> 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