[Pipet Devel] An apology, Loci, gnome, and CORBA

Humberto Ortiz Zuazaga hortiz at neurobio.upr.clu.edu
Wed Jun 23 14:57:12 EDT 1999


First an apology: I know I haven't really contributed anything to loci except 
a lot of hot air, but I've been busy, and for a while I thought I had bitten 
off more than I could chew with this project.

I hope to contribute some real programs soon, I'm learning to use python (with 
Tkinter for now) and am starting to learn to use pygnome to write image 
viewers with the gtk canvas and imlib.

As I said, for a while, I thought I had bitten off more than I could chew with 
this project. What I wanted to do was develop a working gui shell for the free 
sequence analysis apps, like GCG, or gde, or SeqPup. gnome-python seemed like 
a good fit, so I was happy when I found tulip.

When I start reading the mailing list, I'm appaled to find out that we need to 
have network aware apps, and workflow, and Gateways and Hubs, and PAOS, and 
lion and tigers and bears, oh my!

The things we've discussed make for a huge system. Paos and the locid in 
particular look nasty. This is where I almost turned back and decided to write 
my own simple shell using unix pipes and simple stuff like that.

Now, just so you grok where I'm coming from, I don't much like gnome, it seems 
big and slow and bloated, even compared to KDE. I've mainly heard bad things 
about CORBA too, even from the gnome developers, who scrapped MICO in favor of 
ORBit because it was too big and slow. Having said that, a lot of other 
biowidget groups are into CORBA in a big way, as are the KDE and gnome 
developers. I think we should give it serious consideration for loci too, 
heres why:

I'm quoting liberally from the Gnome Component white paper:

http://www.gnome.org/white-papers/Components/Components/gnome-corba.html

"CORBA is used in GNOME to export the internal engine of an application to the 
rest of the system. Any CORBA client (GNOME compliant applications, regular 
Unix applications, remote clients running on a different operating system) can 
use the services that these application provides."

Sounds like loci right?

"In addition to exporting the API, GNOME is generating a list of standard 
interfaces that other applications can be written to. For example, the 
interface Desktop::Editor defines an interface to an editor. This means that 
an application (such as a Mail client or an IDE program) that is developed 
using these interfaces can decouple itself from a specific implemenation of 
the interface."

This solves the problem of how to register a locus, Locus::MultisequenceEditor 
specifies a generic interface, which GST or any other locus can export, the 
user can then choose which loci to use to handle a request for a 
Locus::MultisequenceEditor.

"CORBA provides a standard, and easy to use Remote Procedure Call (RPC) system 
that allows different applications to communicate with each other."

Just like we want to in loci.

"Bonobo is the GNOME Document model. It lets document-based applications embed 
themselves in each other. Its design is influenced heavily on OLE2 and Active 
X by Microsoft and has a similar functionality. It is currently in Alpha 
state, and should be used only by developers, but has been used successfully 
to embed a Guppi graph within Gnumeric.

For those unfamiliar with OLE2, it provides a framework for applications to 
embed themselves within the same GUI framework. This facilitates, for example, 
a graph to be embedded in a word-processing document, or a spell checker to be 
embedded in a plotting program. Bonobo also provides the ability to wrap 
GTK-style objects around a component, allowing an application developer to use 
one in his application. A more technical description is available in the 
BONOBO cvs repository."

Damn, they've done it again. This is just how we want the figure builder to 
work.

We could reinvent the wheel in developing loci, but it's best if we at least 
know what everyone else's wheels look like first. We've got most of the hard 
parts of loci done, let's try building loci over the top of the gnome CORBA 
layer, and if it's too slow then consider (a fixing ORBit, or b rewriting just 
the parts of CORBA we need).
-- 
Humberto Ortiz Zuazaga
Bioinformatics Specialist
Institute of Neurobiology
hortiz at neurobio.upr.clu.edu






More information about the Pipet-Devel mailing list