[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|
+--------------------------------------------------------------------+