[Biojava-l] Re: [Biocorba-l] BioJava <--> BSANE bridges

Juha Muilu muilu@ebi.ac.uk
Tue, 15 Jan 2002 15:12:29 +0000


Really nice work Thomas!!

Regarding the rest method in the iterator. The original BSA spec says:
method sets the iterator to the start of the set. I think the 'least 
suprise option' is the best interpretation.

BTW The spec says also that CORBA::NO_IMPLEMENT is thrown if the 
iterator cannot be reseted e.g. the iterator provides access to 
streaming data

Cheers, Juha

Thomas Down wrote:

> Hi...
> 
> I've just checked in some code which provides both server
> and client-side bridges between the BioJava sequence model
> and BioCorba 0.3 (a.k.a. BSANE).  At the moment, the best
> way to get hold of it is from CVS: check out the `biojava-bsane'
> module.
> 
> The CORBA idl files were taken from the BioPython CVS
> repository.  Are these the right ones to be using, or have
> they been superceded by something else?
> 
> This is a new implementation which is significantly different
> from the old (BioCorba 0.1) support code -- After looking at
> the old code and the new interfaces, I decided it was probably
> easier to start again.  I've taken the opportunity to write
> thee serverbridge in the new style (Servant/POA).  This means
> that it won't work with the builtin ORB in J2SE 1.2 or 1.3.
> It does, however, work nicely in J2SE 1.4, and should also
> work with most of the commercial ORBs.  So far, I've been testing
> with J2SE 1.4, and I'd be interested to hear about experiences
> with other ORBs.  The client-side code should work fine on
> 1.3.
> 
> It should build in the normal BioJava-ish way:
> 
>   - Copy over the dependancy .jar files.  With J2SE1.4, all you
>     need it biojava.jar.  With other ORBs, you'll probably also
>     need to copy a jar containing the org.omg.PortableServer package,
>     and edit build.xml
> 
>   - Type `ant' to build biojava-bsane.jar
> 
>   - `ant javadocs' builds the API documentation.
> 
>   - If you've got a recent version of JUnit installed, try
>     `ant runtests' to start the test suite.
> 
> There are the following known limitations:
> 
>   - BSANE iterators returned by some of the methods don't
>     implement the reset() method.  I wasn't clear about the
>     correct semantics for this.  All methods which return
>     an iterator also return the first `block' of results as
>     an array.  So the question is: does the reset method take
>     you back to the iterator's original state (`least surprise'
>     option), or right back to the start of the data set (seems
>     potentially more useful).  I can't really see a sensible use
>     case for this method -- can someone who's actually going to
>     use it give an opinion on this?
> 
>   - NucleotideSequence isn't implemented.  Everything just gets
>     returned as a BioSequence at the moment.
> 
>   - On the client side, custom alphabets aren't yet supported
>     (but I plan to add these soon).  The serverbridge already
>     exposes BioJava alphabets correctly as BSANE objects (where
>     possible).
> 
> Other than these, it seems to work quite nicely.  There are
> some (very) simple clients and servers in the demos/ directory.
> You can do something like serving up an Ensembl database as
> CORBA, then using one of the clients to dump features from a
> region as GFF.
> 
> I'd be interested in doing some interoperability testing at
> some point.  If anyone is curious, I can probably put some
> test servers up to experiment (but I'll have to run them on
> my home machine, so I don't want to put IORs out publically).
> 
> Hope people find this useful,
> 
>    Thomas.
> _______________________________________________
> Biocorba-l mailing list
> Biocorba-l@biocorba.org
> http://www.biocorba.org/mailman/listinfo/biocorba-l
> 



-- 
  +--------------------------------------------------------------------+
  |Juha Muilu, Ph.D., EMBL Outstation| Email:  muilu@ebi.ac.uk         |
  |European Bioinformatics Institute | Phone:  +44 (0)1223 494 624     |
  |Wellcome Trust Genome Campus      | Fax:    +44 (0)1223 494 468     |
  |Hinxton, Cambridge CB10 1SD, UK   | http://industry.ebi.ac.uk/~muilu|
  +--------------------------------------------------------------------+