[omniORB] Re: remote object references
Ji-Yong D. Chung
virtualcyber@erols.com
Tue, 14 Mar 2000 23:46:38 -0500
This is a multi-part message in MIME format.
------=_NextPart_000_0007_01BF8E0F.8A632430
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Jim Moe wrote:
>> If I create a CORBA object on the first machine, and if I want to =
pass=20
>> that object's remote reference to the second, can I make the first =
machine=20
>> obtain it, and pass it to the second host? In other words, if I =
create a=20
>> local corba object and obtain its CORBA object reference (created on =
the=20
>> localhost), can I send it off to other hosts as valid object =
reference? Or=20
>> is the obtained reference only good on the original host?.=20
>>=20
> This is what the COSNaming Service is for. The server on mach #1=20
>registers itself with COSNaming. The client on mach #2 queries =
COSNaming=20
>for the object reference of the object it desires.=20
Thanks for your reply.
While your solution probably would work, IMHO, it does not quite =
seem "right."
Consider a more complex scenario: say machine A dynamically created =
10 objects, and it wants the machine B to have all the references of =
those objects. It just would not be efficient for machine A to transmit =
the names of the 10 objects to the machine B, so that machine B can then =
query the COSNaming Service 10 times (the cost of each query is on the =
order of few milliseconds due to the network latency). =20
It seems to me that once machine A has the object references (at the =
time of its CORBA object creations), it would be far more efficient to =
just pass the references directly to machine B (provided that machine A =
knows that server B should receive the object references). Of course, I =
am assuming that Mr. Klimek is right; that is, it is legal to pass =
object references around in a distributed environment.
But then again, I could be missing something ...
=20
------=_NextPart_000_0007_01BF8E0F.8A632430
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2314.1000" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT size=3D2>Jim Moe wrote:</FONT></DIV>
<DIV><BR><FONT size=3D2><EM>>> If I create a CORBA object on =
the first=20
machine, and if I want to pass <BR>>> that object's remote =
reference to=20
the second, can I make the first machine <BR>>> obtain it, and =
pass it to=20
the second host? In other words, if I create a <BR>>> local corba =
object=20
and obtain its CORBA object reference (created on the <BR>>> =
localhost),=20
can I send it off to other hosts as valid object reference? Or =
<BR>>> is=20
the obtained reference only good on the original host?. =
<BR></EM>>>=20
<BR>> This is what the COSNaming Service is for. The =
server on=20
mach #1 <BR>>registers itself with COSNaming. The client on mach #2 =
queries=20
COSNaming <BR>>for the object reference of the object it desires.=20
</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=3D2> Thanks for your =
reply.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=3D2> While your solution probably =
would=20
work, IMHO, it does not quite seem "right."</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=3D2> Consider a more complex=20
scenario: say machine A dynamically created 10 =
objects, and=20
it wants the machine B to have all the references of those=20
objects. It just would not be efficient for machine A to =
transmit the names of the 10 objects to the machine B, so that =
machine B=20
can then query the COSNaming Service 10 times (the cost of =
each query=20
is on the order of few milliseconds due to the network=20
latency). </FONT></DIV>
<DIV><FONT size=3D2></FONT> </DIV>
<DIV><FONT size=3D2> It seems to me that once machine =
A has the=20
object references (at the time of its CORBA object creations), it would =
be far=20
more efficient to just pass the references directly to machine =
B=20
(provided that machine A knows that server B should =
receive the=20
object references). Of course, I am assuming that Mr. Klimek is =
right;=20
that is, it is legal to pass object references around in a distributed=20
environment.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=3D2> But then again, I could be =
missing=20
something ...</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=3D2> </FONT></DIV>
<DIV> </DIV>
<DIV> </DIV></BODY></HTML>
------=_NextPart_000_0007_01BF8E0F.8A632430--