[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