[MOBY-dev] Java developers, let's talk together

Martin Senger senger at ebi.ac.uk
Thu Sep 16 14:04:35 UTC 2004


Hi, all,
    We all know that OpenSource is a wonderful idea, and we like it. But 
sometimes the end users (in our case those who are going to use our Java 
libraries) may be confused if there are too many styles involved. I am not 
talking about the coding style - that's usually hidden and as long as it 
does what it says it does, who cares - but about the style how our code is 
deployed and used. I think that our code may provide better service if we 
can follow - when and where possible - similar principles.
   Can we, therefore, have here a chat about these principles? I do not 
want to be seen as an intruder and a dictator (even though I am both), and 
the things I am going to list here (below) are just issues for comments, 
nothing more.
   Also, I am talking about things that are part of the moby-live CVS, not
about code provided by individual service provider - unless this code is
also part of this CVS. Also, I concentrate only on MOBY-S - but it would 
be nice to apply similar principles for both MOBYs - so, Gary, please your 
comments are also valuable.

   1) Package names. It does not matter where the Java code is in the CVS
module (because one can partition things either by language, or by topic,
and both approaches can be mixed) but it would be nice if the Java package
names reflected what the code deals with. I started with names (I hope 
with obvious meanings - if not I am ready to explain):
   org.biomoby.client
   org.biomoby.shared
   org.biomoby.registry
   org.biomoby.service

   Others started their own package names:
   ca.icapture.moby
      Does this mean that the code is owned by somebody else? BTW, there
is no source for this package in the current CVS (just binaries). I
strongly feel that the biomoby CVS should have source code for everything
unless it is clearly labelledf as third-party library. Is this such case? 
   org.mobycentral...
      I think that this actually belongs more to org.biomoby.client - 
because it does not implement mobycentral funtionality (in which case I 
would recommend to use org.biomoby.registry, or org.biomoby.central...) 
but it implements new ways how to access the registry. But I am not sure.

   2) Building. What about to use Ant? :-) At the moment, some subprojects
does not support much re-building by other users. Such support should be a
primary rule for an open source project. Or am I too autocrative here?

   3) Third-party libraries (the ones we have only as jar files).
   There is no single solution. We may have them as part of the CVS, or 
let Ant download them when a user is re-building.
   If we have them as part of moby-live CVS:
   - it is always sure that after 'cvs co' you have everything and in 
correct version
   - the CVS can be huge (as it is now) and many users will use just a 
small sub-part (like perl users) but they still need to check-out 
everything.
   Almost opposite arguments apply for not to have them here. Open 
question...
   But I feel that having the same third-party libraries in several places 
within the same project (Ed?) does sound good.

   4) Generated documentation. I think that Java API that is generated 
from Java code should not be part of the CVS. It is anyway a paint in the 
neck to keep it sync with the CVS. The build procedures (Ant, hopefully) 
should be able to generate it for each user when [s]he is re-building.

   4) Documentation. I hope to have one BioMoby Java starting page from
where Java users can go to all Java-based subprojects. I will update the
current jMoby pages (if you do not mind) - but could you send me the text
you would like to be added at the starting page and pointing to 
yoursub-project please?

   With kindest regards,
   Martin   

-- 
Martin Senger

EMBL Outstation - Hinxton                Senger at EBI.ac.uk     
European Bioinformatics Institute        Phone: (+44) 1223 494636      
Wellcome Trust Genome Campus             (Switchboard:     494444)
Hinxton                                  Fax  : (+44) 1223 494468
Cambridge CB10 1SD
United Kingdom                           http://industry.ebi.ac.uk/~senger







More information about the MOBY-dev mailing list