Email updates

Keep up to date with the latest news and content from BMC Bioinformatics and BioMed Central.

Open Access Methodology article

Critical evaluation of the JDO API for the persistence and portability requirements of complex biological databases

Marko Srdanovic1, Ulf Schenk2, Michael Schwieger2 and Fabien Campagne1*

Author Affiliations

1 Weill Cornell Medical College, 1300 York Ave, New York, NY 10021 USA

2 FastObjects, Inc. 165 North Redwood Drive, Suite 200, San Rafael, CA 94903, USA

For all author emails, please log on.

BMC Bioinformatics 2005, 6:5  doi:10.1186/1471-2105-6-5

Published: 10 January 2005



Complex biological database systems have become key computational tools used daily by scientists and researchers. Many of these systems must be capable of executing on multiple different hardware and software configurations and are also often made available to users via the Internet. We have used the Java Data Object (JDO) persistence technology to develop the database layer of such a system known as the SigPath information management system. SigPath is an example of a complex biological database that needs to store various types of information connected by many relationships.


Using this system as an example, we perform a critical evaluation of current JDO technology; discuss the suitability of the JDO standard to achieve portability, scalability and performance. We show that JDO supports portability of the SigPath system from a relational database backend to an object database backend and achieves acceptable scalability. To answer the performance question, we have created the SigPath JDO application benchmark that we distribute under the Gnu General Public License. This benchmark can be used as an example of using JDO technology to create a complex biological database and makes it possible for vendors and users of the technology to evaluate the performance of other JDO implementations for similar applications.


The SigPath JDO benchmark and our discussion of JDO technology in the context of biological databases will be useful to bioinformaticians who design new complex biological databases and aim to create systems that can be ported easily to a variety of database backends.