[omniORB] IIOP over HTTP

baileyk@schneider.com baileyk@schneider.com
Wed Feb 19 21:34:01 2003


Maybe you would have more luck with this question on comp.object.corba ?  I
have read that such tunneling is possible, but I don't know of any concrete
products that do it.

One thing I've done is create a generic Python proxy service that can
record invocation arguments and return values to file for later playback.
The Python pickle file is just text, so it could easily be sent in an HTTP
request, along with method name and object identity information.  Then you
could have a mod_python script or cgi running in Apache that uses omniORBpy
to make the actual call on the server.  I haven't done this, but it
wouldn't be too hard for limited use cases.  It would look something like
this:

client -- IIOP -->
omniORBpy proxy -- HTTP with pickle string of IDL arguments -->
Apache / mod_python -- IIOP -->
server

Results of the invocation would flow the reverse direction (in the HTTP
reply as a pickle string, etc..)

You'd need a way for the proxy and mod_python script to exchange server
object identity and map those to/from IORs.  Also, this is not generic in
the sense that the proxy and mod_python script need to access the compiled
IDL stubs.  However, the proxy does not need any changes as new IDL is
added.  I can send you the proxy code.  I also posted it to
comp.object.corba a couple weeks ago.

I've never used mod_python with omniORBpy, so I'm assuming here there's no
issues with the threaded nature of omniORB running in the Apache process.

Good luck,
Kendall