Python/Jython, CORBA, OmniORB, Blackdown

Derek Thomson derek at wedgetail.com
Sat Dec 7 01:44:11 EST 2002


Hi Andrew,

Andrew Dalke wrote:

> I want my Python and Jython sessions to talk to each other.
> (Python since I'm using various C/C++ libraries.  Jython
> because I want to use the Lucene search engine and perhaps
> a couple other Java-only libraries.)
>
> I could create a protocol and communicate via stdin/stout
> but instead decided to use this as a way to learn some
> CORBA.
>
> I've been working with omniORB for the C version of Python
> and there are examples of how to use it, alone, but not
> with Jython.


I don't know if the Python omniORB components are guaranteed
to work in Jython. Perhaps you should ask someone on the
omniORB team. It would take some effort to get this to work,
as the Python omniORB mappings work by calling the C++
omniORB code. You would have to link the omniORB C++ libraries
with the Java virtual machine, and then arrange to allow
them to be called from Jython. I don't imagine that's a
trivial exercise.

However, I have ported Fnorb, the "pure Python" CORBA ORB to
Jython. It appears to work fine.

So, what you might do is use Python/omniORB on the C Python
side, and Jython/Fnorb on the Java side.

The downside is that Fnorb is not quite standard WRT
language mappings - the largest area of non-conformance is
lack of a POA (for some odd reason the POA bindings are
explicitly used in the standard). So, for servers you'll
have to go back to a BOA. But for clients, the changes
ought to be minimal. And, as Fnorb is fully "open source"
you can always help make it *more* conformant!! That's
how this "open source" stuff is supposed to work, after
all :)

http://fnorb.org and http:://sourceforge.net/projects/fnorb

--
D.




More information about the Python-list mailing list