[Pipet Devel] Fun with ORBs

Brad Chapman chapmanb at arches.uga.edu
Sun Apr 30 15:48:23 EDT 2000


Hello all;
    I've been workin' on setting up Loci to talk with GMS though a 
corba interface. I've been attempting to use orbit-python 
(http://projects.sault.org/orbit-python/) so we could stay with one 
ORB implementation (ORBit) for the whole project. 
    However, now that I have gotten into actually using these 
bindings, I'm running into a huge snag. The problem is that you can 
only import the idl file (orbit-python uses this instead of generating 
stub and skeleton code that you import) in the __main__ module, so 
things will only work if you are running a simple program in a main 
script. This is a known deficiency of orbit-python (ie. mentioned on 
the TO-DO list), and prevents us from using orbit-python to do what we 
want to do. I spent some time looking at the code and comparing it 
to CORBA::ORBit (the perl bindings to ORBit, which implement a similar 
idl import method) and I don't really see a simple fix for this 
problem at all. The orbit-python project is also stalled (no new code 
in a month and a half) so I'm not sure how things will progress 
there...
    So, I'm going to have to switch to a new ORB implementation for 
the python part of the program so we can have something functional and 
I wanted to try and get people's opinion on which ORB we should switch 
to for python. Here are the choices:

Fnorb (http://www.fnorb.org/).
-----
Advantages:
o Easy to install becuase it is almost all python.

Disadvantages:
o Doesn't follow the official OMG python mapping 
(http://www.omg.org/cgi-bin/doc?ptc/00-01-12) so it'll require code 
changes later (not too big a deal for clients, but more of a pain for 
servers).
o Pretty slow because of all the python.
o I think the license is for non-commerical use only.

ILU (ftp://ftp.parc.xerox.com/pub/ilu/ilu.html)
----
Advantages:
o Has both C and python bindings, so if we wanted to we could switch 
to using only ILU.
o Has a compatible license (I'm pretty positive about this--they've 
changed it since the problem with gnome or whatever).

Disadvantages:
o Their implementation of the official python mapping in the latest 
release isn't quite correct due to mistakes in the OMG document, so 
this will require some code changes later.

omniORBpy (http://www.uk.research.att.com/omniORB/omniORBpy/)
---------
Advantages:
o Follows the official mapping.
o Supposedly pretty fast.
o Has a compatible license (LGPL or GPL, your choice).

Disadvantages:
o Can be a pain to install (at least for me :-).

So anyways, those are our choices. What does everyone think about all 
of this? I'd really like to hear everyone's opinion about what we 
should do.

Thanks for listening.

Brad





More information about the Pipet-Devel mailing list