WeBIAS

WeBIAS is a web server for publishing services. A service is a standalone command line program, which has to be supplied with certain parameters, and its output should be returned. Computations may require significant resources and time, and may have to be scheduled for later execution. Users are informed when their requests are finished and can peruse results at their convenience.

Services are defined in XML format which includes form definition and layout, a template for converting arguments to an OS command for running the actual program, description of its output, and other technical parameters such as access control lists. Optionally templates for presenting parameters and results can be supplied along with definitions of custom form elements and validator routines.

All data (requests and results) are stored in a database backend.

Users are allowed to register at the site to gain access to additional features, such as:

  • access to all requests, their status and results (anonymous users have to use a link received during submission)
  • tagging and starring requests
  • running modified instances of once submitted requests
  • access to applications restricted to certain users

Administrator is provided with a web interface enabling:

  • access to all requests
  • blocking and reactivating users
  • enabling/disabling applications
  • monitoring activity of the computational backend (schedulers)
  • various access and usage statistics
  • comprehensive information on errors

Actual computations are performed by so-called request schedulers which grab newly submitted requests, oversee running of the actual application and store results in the database. Presently WeBIAS can supervise jobs running on a single server and manage submissions to Torque/PBS and SLURM job management systems.

Any number of schedulers may be run concurrently on the same or different servers (access to database is mandatory). Each scheduler may be restricted to handle requests for a specific application or applications.

Project page on GitHub (contains documentation and source code)

PyPI project

Documentation (wiki)

Demonstration site