[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