Bio::Das::ProServer is an implementation of the BioDAS protocol, http://biodas.org/ for the serving of biological data using XML over HTTP.
Bio::Das::ProServer is designed as a lightweight alternative to some other DAS servers. Version 2.0 is a drop-in replacement for previous versions but has a core based on the POE system which is much better tested and debugged than the ProServer v1 core. ProServer can be seen as the server-side complement to the Bio-DasLite client.
More information can be found at the ProServer homepage:
http://www.sanger.ac.uk/proserver/
INSTALLATION
To install this module type the following:
perl Build.PL
./Build
./Build test
You may receive warnings about missing dependencies, note that only some of these are required (see DEPENDENCIES section).
RUNNING
There is a command-line executable in the eg directory: eg/proserver --help
To start the server, type:
eg/proserver
To stop:
kill -TERM `cat eg/proserver.myhostname.pid`
To restart:
kill -USR1 `cat eg/proserver.myhostname.pid`
DEPENDENCIES
Any missing dependencies will be reported during the build proces. All are available from CPAN (http://www.cpan.org).
CGI
Compress::Zlib
Config::IniFiles
File::Spec
Getopt::Long
HTML::Entities
HTTP::Request
HTTP::Response
HTTP::Date
POE
POE::Filter::HTTPD
POE::Wheel::ReadWrite
POE::Wheel::SocketFactory
POSIX
Socket
Sys::Hostname
SECURITY
Whilst every attempt is made to keep ProServer free from security holes we cannot guarantee its safety. As with all daemon services like this, it is strongly advised to take certain measures to mitigate any faults which may be present and minimised their consequences.
SCALABILITY
At the Sanger Institute we run ProServer, behind an Apache reverse-proxy, on 14 2.4GHz blades serving just under 300,000 DAS requests a week for 220 sources mostly with MySQL databases. ProServer should scale comfortably being only IO-bound as it's not computationally intensive. Efficiency of data retrieval is most important. Ensure database connections and statement handles are cached and reused wherever possible.
KNOWN PROBLEMS
ProServer depends on source adaptors to provide details of known segments in order to correctly serve error or unknown segments. In the absence of this information responses serve empty result sets.
COPYRIGHT AND LICENCE
Copyright (C) 2006 by Roger M Pettett, Genome Research Ltd. http://www.sanger.ac.uk/
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.7 or, at your option, any later version of Perl 5 you may have available.