[omniORB] question about object method multiplexor's Implementation & desing

Juan_M_Casillas@sinvest.es Juan_M_Casillas@sinvest.es
Tue, 22 Feb 2000 09:05:23 +0100


--openmail-part-00017cd0-00000001
Content-Type: text/plain; charset=ISO-8859-1
Content-Disposition: inline; filename="BDY.RTF"
	;Creation-Date="Tue, 22 Feb 2000 09:05:23 +0100"
Content-Transfer-Encoding: quoted-printable

   Hello=20
  =20
      Im trying to write a object that multiplex calls to methods in
   other objects.
      the idea is that one object calls a method in the multiplexor
   (this object
      servers methods usign DSI) and then the multiplexor looks for the
   objects
      that have this method (usign internal mechanisms) and then calls
   these
      methods in the objects.
  =20
      But I have some problems, first, when usign DSI, I need to know
   the exact
      number of parameters, their type, and so on, so I can't do blind
   calls to=20
      methods in other objects, because I don't know the interface
   definition.
      How can I do that ? the ORB expects a list (NVList) defined with
   the=20
      right values for the objects when I call
   request->parameters(myNVlist),
      but I don't know the method's arguments, neither their type.
  =20
      So we can do this ?=20
      See some basic Example:
      Objects S1,S2,S3 servers the method test()
      Object A wants to call method test() in S1,S2,S3
      Object M is the multiplexor.
     =20
      So A calls test() in the M interface usign DSI/DII, and says M
   that wants
      to call test() over S1,S2,S3 (this is done calling another method
   on M)
      M process the request, look up S1,S2,S3 usign its internal
      mechanisms to find the object (based in a get/set properties
   scheme)
      and then M calls test() on S1, then on S2, then on S3.=20
  =20
      My problem are:
             I need to know the number of arguments, the return type and=

             the type of the arguments before call
   request->params(NVList)
             so I can use DSI to do the remote method invocation, Is
   this
             possible ? If not, Anybody knows a workarround to do this ?=

     =20
         Anybody knows who can I do this usign Vainilla CORBA (that is
         without using Interface Repository mainly, I want that runs
   with
         the standard distribution omniORB)  ?
     =20
   Thanks for all.
   Kind Regards
  =20
   Juan Manuel Casillas
   Santander Investment
   (systems/technology)=20
   mail: jcasilla.madrid@sinvest.es
  =20
  =20
   
--openmail-part-00017cd0-00000001
Content-Type: application/ms-tnef
Content-Disposition: attachment; filename="WINMAIL.DAT"
Content-Transfer-Encoding: base64

eJ8+IpyWAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5N
aWNyb3NvZnQgTWFpbC5Ob3RlADEIAQ2ABAACAAAAAgACAAEDkAYADAAAAAEAAAADABcAAQAA
ABwAAQOQBgAMAAAAAQAAAAMANgAAAAAAOgABBIABAEQAAABxdWVzdGlvbiBhYm91dCBvYmpl
Y3QgbWV0aG9kIG11bHRpcGxleG9yJ3MgSW1wbGVtZW50YXRpb24gJiBkZXNpbmcgAFAZAQOQ
BgAMAAAAAQAAAAsAAgABAAAADwABA5AGAAwAAAABAAAACwArAAAAAAA3AAEDkAYADAAAAAEA
AAADAC4AAAAAADIAAQOQBgAQAAAAAQAAAEAAOQCAvyfH4lu+AaMEAQOQBgAkAAAAAQAAAB4A
QgABAAAAEQAAAEp1YW4gTS4gQ2FzaWxsYXMAAAAA6AUBA5AGABAAAAABAAAAQABIABDEP97i
W74BdgQBA5AGABQAAAABAAAAHgBNAAEAAAABAAAAAAAAAG4AAQgABQAEAAAAAAAAAAAAAQOQ
BgBUAAAAAQAAAB4AcAABAAAARAAAAHF1ZXN0aW9uIGFib3V0IG9iamVjdCBtZXRob2QgbXVs
dGlwbGV4b3IncyBJbXBsZW1lbnRhdGlvbiAmIGRlc2luZyAAJBoBA5AGACwAAAABAAAAAgFx
AAEAAAAbAAAAAb5bISWWXYTdq8cNEdK4HwCAx9r/vQAwZnawABcNAQOQBgAMAAAAAQAAAAMA
BhAk7PcHKAIBA5AGAAwAAAABAAAAAwAHELsFAADbAAEDkAYAeAAAAAEAAAAeAAgQAQAAAGUA
AABIRUxMT0lNVFJZSU5HVE9XUklURUFPQkpFQ1RUSEFUTVVMVElQTEVYQ0FMTFNUT01FVEhP
RFNJTk9USEVST0JKRUNUU1RIRUlERUFJU1RIQVRPTkVPQkpFQ1RDQUxMU0FNRVRIAAAAACAe
AQOQBgAMAAAAAQAAAAMAEBAAAAAAJAABA5AGAAwAAAABAAAAAwAREAAAAAAlAAEDkAYAEAAA
AAEAAABAAAcwMHlXv+JbvgEzBAEDkAYAEAAAAAEAAABAAAgwMHlXv+JbvgE0BAEDkAYAIAAA
AAEAAAACAQswAQAAABAAAAB9w5CH1cfSEbggAIDH2v+92wkBA5AGAAwAAAABAAAAAwDeP69v
AAA/AgEDkAYAJAAAAAEAAAADAMaACCAGAAAAAADAAAAAAAAARgAAAAAQhQAAAAAAABMDAQOQ
BgAkAAAAAQAAAAMAx4AIIAYAAAAAAMAAAAAAAABGAAAAAFKFAADwEwAAWQQBA5AGACQAAAAB
AAAAAwDIgAggBgAAAAAAwAAAAAAAAEYAAAAAAYUAAAAAAAAGAwEDkAYALAAAAAEAAAAeAMmA
CCAGAAAAAADAAAAAAAAARgAAAABUhQAAAQAAAAQAAAA4LjUAFQQBA5AGACQAAAABAAAACwDK
gAggBgAAAAAAwAAAAAAAAEYAAAAADoUAAAAAAAAdAwEDkAYAJAAAAAEAAAADAMuACCAGAAAA
AADAAAAAAAAARgAAAAARhQAAAAAAABkDAQOQBgAkAAAAAQAAAAMAzIAIIAYAAAAAAMAAAAAA
AABGAAAAABiFAAAAAAAAIQMBA5AGACwAAAABAAAAHgDNgAggBgAAAAAAwAAAAAAAAEYAAAAA
NoUAAAEAAAABAAAAAAAAAF0DAQOQBgAsAAAAAQAAAB4AzoAIIAYAAAAAAMAAAAAAAABGAAAA
ADeFAAABAAAAAQAAAAAAAABfAwEDkAYALAAAAAEAAAAeAM+ACCAGAAAAAADAAAAAAAAARgAA
AAA4hQAAAQAAAAEAAAAAAAAAYQMBA5AGACQAAAABAAAACwDQgAsgBgAAAAAAwAAAAAAAAEYA
AAAAAIgAAAAAAAAbAwEDkAYAJAAAAAEAAAALANGACyAGAAAAAADAAAAAAAAARgAAAAAFiAAA
AAAAACEDAQOQBgAkAAAAAQAAAAsA0oAIIAYAAAAAAMAAAAAAAABGAAAAAAaFAAAAAAAAHQMB
A5AGABQAAAABAAAAHgA9AAEAAAABAAAAAAAAAF4AAQkABAACAAAAAAAAAAEDkAYADAAAAAEA
AAALABcMAAAAAC8AAQOQBgAMAAAAAQAAAAMAgBD/////kAQBCQAEAAIAAAAAAAAAAQOQBgAM
AAAAAQAAAAsAIwAAAAAALwABA5AGAAwAAAABAAAACwApAAAAAAA1AAEEkAYAfAIAAAEAAAAS
AAAAAwAAMAIAAAALAA8OAAAAAAIB/w8BAAAAXwAAAAAAAACBKx+kvqMQGZ1uAN0BD1QCAAAB
AG9tbmlvcmItbGlzdEB1ay5yZXNlYXJjaC5hdHQuY29tAFNNVFAAb21uaW9yYi1saXN0QHVr
LnJlc2VhcmNoLmF0dC5jb20AAB4AAjABAAAABQAAAFNNVFAAAAAAHgADMAEAAAAhAAAAb21u
aW9yYi1saXN0QHVrLnJlc2VhcmNoLmF0dC5jb20AAAAAAwAVDAEAAAACAfkPAQAAAF8AAAAA
AAAAgSsfpL6jEBmdbgDdAQ9UAgAAARBvbW5pb3JiLWxpc3RAdWsucmVzZWFyY2guYXR0LmNv
bQBTTVRQAG9tbmlvcmItbGlzdEB1ay5yZXNlYXJjaC5hdHQuY29tAAADAP4PBgAAAB4AATAB
AAAAIwAAACdvbW5pb3JiLWxpc3RAdWsucmVzZWFyY2guYXR0LmNvbScAAAIBCzABAAAAJgAA
AFNNVFA6T01OSU9SQi1MSVNUQFVLLlJFU0VBUkNILkFUVC5DT00AAAADAAA5AAAAAAsAQDoA
AAAAAwBxOgAAAAAeAPZfAQAAACEAAABvbW5pb3JiLWxpc3RAdWsucmVzZWFyY2guYXR0LmNv
bQAAAAACAfdfAQAAAF8AAAAAAAAAgSsfpL6jEBmdbgDdAQ9UAgAAAQBvbW5pb3JiLWxpc3RA
dWsucmVzZWFyY2guYXR0LmNvbQBTTVRQAG9tbmlvcmItbGlzdEB1ay5yZXNlYXJjaC5hdHQu
Y29tAAADAP1fAQAAAAMA/18AAAAAAgH2DwEAAAAEAAAAAAAAAsWd

--openmail-part-00017cd0-00000001--