[Biojava-dev] checked in webservices blast code

Patrick McConnell MCCon012@mc.duke.edu
Tue, 3 Sep 2002 13:26:17 -0400


Hi.

I have checked in some code to the BioJava webservices module.  I created a
blast service and client.  It should be straightforward to run.  See
docs/index.html for installation/setup/testing.

At this point, all of the scripts are windows batch files.  Sorry UNIX
developers, but UNIX scripts should be straightforward to generate since
the scripts are only 3 or 4 lines long and simply set environment variables
and then invoke java.

There has been much discussion about top-down, bottom-up, iterative
refactoring, UML, etc.  These are all good theories for developing code,
and discussing them is important.  But, we need to eventually settle on a
particular dogma and implement it.  My hopes are that this will generate
some fruitful discussion for how the web services module should be built.

Please email comments, questions, etc.  I have no particular attachment to
what I have done, so please say how it should be done better.

Before anyone else has a chance, I'll bash what I did:
      1. I use standard in and standard out for running blast, and the
service hangs until it is complete.  A better solution is to generate a job
identifier, spawn the job, and have the client periodically query the
server to see if their job is done.  I believe this should be the generic
pattern we use for all tool-based services.  We also need to provide access
to the contents of std in and std out since they often provide useful
information on what went wrong with a process.
      2. I did not include a build.xml ant file (since I am not accustomed
to using ant).
      3. Documentation is sparse (about 15 lines in a single HTML file).
This will improve as we settle on a solution.
      4. I settled on a single XML implementation (Electric XML).  This is
not ideal for everyone, as some people have their favorites (though I did
pick the implementation with the best benchmark scores).

Thanks : - )

-Patrick