Biomedical Computation

NBCR Web Services: Strongly typed Web services and the Opal toolkit

Overview | Software | Publications | Presentations | Contact ]

Please visit the Web Services User Forum (WSUF) for the latest news and discussions.


Overview

Our goal is to provide transparent access to biomedical applications such as APBS, GAMESS, etc. on distributed computational resources. Multiple users may interact with these applications simultaneously via a variety of interfaces – Web-based portals (e.g. the NBCR portal), rich interfaces such as the Python Molecular Viewer (PMV) or the Mozilla-based Gemstone framework, or a workflow framework such as Kepler. Furthermore, complex biomedical analysis pipelines or workflows will be composed from these applications.

We are developing a service-oriented architecture that wraps biomedical applications as Web services. These services are capable of serving multiple client requests concurrently. Additionally, since Web services are language and platform agnostic, they are easily accessible by clients written in different languages on disparate platforms. Ideally, all our Web services will have inputs and outputs defined in great detail using XML schemas. This enables easy validation of inputs and stronger datatyping, and also enables generic Web service workflow tools to compose these services easily. This is generally a big improvement over traditional methods that are error-prone and non-generic, where application-specific scripts need to be written to parse and translate between monolithic flat file-based inputs and outputs in order to link multiple applications. However, in some cases, for rapid prototyping we also use Web services that are less strongly typed, but automatically generated and deployed, via the Opal toolkit.

For more details about our architecture, you are encouraged to look at our Publications, and Presentations.

Software

 

Module Description Availability

APBS

The APBS service demonstrates the use of strongly typed inputs and outputs for a scientific application with the use of XML schemas and WSDL. It does not provide all features provided by APBS. However, it does provide users with a feel for how the operations and data types look like, and what is involved in writing clients to invoke them. The current release works with APBS version 0.4.0.

Java (Server and Client)
Download version 1.0RC1 – Docs

Python (Client)
Download version 1.0RC1
 – Docs

Opal

Opal is a generic Web service toolkit that enables wrapping and rapid deployment of legacy applications as Web services. Opal does not define strongly typed parameters for inputs and outputs, and may not be applicable for all applications. However, it can be used as a first step for enabling scientific applications to easily access Grid resources, especially if there is no specific requirement for strong typing of inputs and outputs.

Java (Server and Client)
Download version 1.0RC1 – Docs.

Python (Client)
Download version 1.0RC1
 – Docs

Available Services

The Opal toolkit has been used to deploy several scientific applications as Web services, such as Babel, PDB2PQR, QMview, PSize, MEME, LigPrep, etc. The APBS and GAMESS services have been handwritten for better type validation and greater flexibility.

View a complete listing of scientific services running on ws.nbcr.net, pebbles.nbcr.net, or apbs.nbcr.net.

User Interfaces

Client Description
Gemstone Many of the web servcies developed using the Opal toolkit is available in the Gemstone application. The installation is simple, and it’s a lightweight plugin to the Mozilla Firefox browser.
PMV The Python Molecular Viewer uses the Opal toolkit to access Viper database and APBS web services hosted by NBCR.
Kepler The Kepler workflow management software distributes Opal web servcie based workflow examples which couple MEME and MAST based web services.
My WorkSphere The NBCR portal uses Opal toolkit to expose applications such as MEME as portlets quickly

Publications & Technical Reports

Opal: Simple Web Services Wrappers for Scientific Applications. Sriram Krishnan, Brent Stearn, Karan Bhatia, Kim K. Baldridge, Wilfred Li, and Peter Arzberger. SDSC Technical Report TR-2006-5, 2006.

An End-to-end Web Services-based Infrastructure for Biomedical Applications. Sriram Krishnan, Kim Baldridge, Jerry Greenberg, Brent Stearn, and Karan Bhatia. In proceedings of Grid2005, 6th IEEE/ACM International Workshop on Grid Computing, November 2005 (pdf).

Web Services-based Data Integration for Life Science Computations. Sriram Krishnan, Brent Stearn, Karan Bhatia, Jerry Greenberg, Wilfred Li, Peter Arzberger, and Kim Baldridge. SDSC Technical Report TR-2005-2, 2005.

Presentations

Opal: Wrapping Scientific Applications as Web Services Sriram Krishnan, et al. NBCR Special Seminar, SDSC, February 2006: pdf.

An End-to-End Web Services-based Infrastructure for Biomedical Applications. Sriram Krishnan, et al. Grid2005, 6th IEEE/ACM International Workshop on Grid Computing, November 2005: pdf.

GSI-based Security for Web Services. Sriram Krishnan. GEON Meeting, June 2005: pdf.

A Web Service Based Architecture for Biomedical Applications. Sriram Krishnan, et al. International Symposium on Web Services for Computational Biology and Bioinformatics, Blacksburg, VA. May 2005: pdf.


Contact

For more information and any questions, comments or other feedback, feel free to contact Sriram Krishnan [Note that the email address is spam-proofed], or post to the Web Services User Forum (WSUF).