[Biojava-l] SequenceDBInstallation

Thomas Down td2@sanger.ac.uk
Wed, 5 Jul 2000 15:02:38 +0100


I think we're pretty much in agreement over remote objects:
there are very few (if any!) cases where it's justifiable to
have methods like SymbolList.symbolAt implemented by passing
messages over the network.

You're right in saying that JNDI is a way of getting handles
on remote objects, but there are definitions and definitions 
of `remote'.  What I've been thinking of is a world where
I might want to look for EMBL sequence L77117 (or whatever).
The role of directory services would generally be to resolve
this into a file path name or URL which locates the resource.
BioJava can then load the sequence as normal, and present it
to me.  Right now, I'll probably be expecting to get an
immutable object.  In future, we'll probably be looking a
bit towards mutability, but there's no reason why I shouldn't
be able to edit a local copy, then call some kind of `commit'
method to write back to the central database.  As Ewan pointed
out a few days ago, Bioperl already has something like this, and
it seems to work quite nicely.

There are several ways to view the implementation of something
like this.  From a normal programmer's point of view, the best
option will generally be simple interfaces like SequenceDB and
SequenceDBInstallation.  But I'm trying to look at back-end and
`middleware' technologies, which will actually allow us to
implement these interfaces in such a way that people will be
able to install and run BioJava programs, and expect them to
connect into local copies of common databases with a minimum
of configuration.

This might be some way off, but I still think it's worth
looking at technologies which could help.

Happy hacking,


On Wed, Jul 05, 2000 at 03:05:02PM +0200, Gerald Loeffler wrote:
> Another word on distribution of objects: in Java, where remote-enabling
> objects is so easy (using RMI (RMI/IIOP)) the temptation is to "just do
> it". This usually leads to disastrous performance because fine-grained
> objects (all of biojava-seq!) should not be remote-enabled! But's that's
> an opulent topic...

He looked up with big brown eyes.  ``They're really only
tiny little A-bombs, honest.''
                                     -- David Brin.