Peter Li, David Waldo, Stuart V. Pineo, and John M. Campbell
Division of Biomedical Information Sciences, Johns Hopkins University School of Medicine, Baltimore MD 21205-2236
The GDB Extensible Object Broker (OB) attempts to resolve two major problems in today's genomic databases. The first is the existence of incompatible architectures among genomic databases, which makes it difficult for the users to collect relevant biological information from different databases. This incompatibility also makes it challenging for the administrators to synchronize internal and external database objects. The second problem is the challenge of managing software development in a rapidly evolving domain where frequent changes of the schema and database technologies require the recoding of the front-end based on new concepts and tools.
OB addresses these two problems with an extensible framework of front-end and back-end modules. The front-end includes the communication, parser, schema, and session modules. The communication module manages the communication channel. It is based on an event-driven paradigm and is designed for graphical user interfaces. The common transport language (CTL) is processed by a parser module that encodes and decodes information between clients and OB. This module is reentrant, multithread-safe, and designed for high throughput. The extensible schema module allows the client to download and query the schema locally, and also incorporates different data model and domain rules. The session module provides a higher-level application programming interface (API) that simplifies development of client applications.
The back-end includes the server DBMS, query, security, and session modules. The server DBMS module interfaces with the native DBMS, such as Sybase. It provides an abstraction for querying and updating the database. The query module translates OB client query language, based on the Object Protocol Model [1], to DBMS commands. The security module provides user login and access control for database objects. It uses robust algorithms for authentication and exportable algorithms for encryption. The back-end session module handles OB resource management and simplifies the porting OB to other environments.
The creation of OB allows GDB to develop a model for the federation of databases. With its architecture based on an extensible framework of modules, it enables independent software development on both front-ends and back-ends. To simplify third-party software development, GDB is providing OB APIs for common languages and platforms. All of the front-end modules are available in C, C++, and Perl; and will be available in other environments as demand warrants. Finally, the OB modules can be extended easily with other interfaces for the front-end and other DBMSs for the back-end.
[1] Chen, I.A., and Markowitz, V.M. An overview of the Object-Protocol Model (OPM) and OPM data management tools. http://gizmo.lbl.gov/DM_TOOLS/OPM/doc/OPM_3/Overview.ps
*Supported by the U.S. Department of Energy (DE-FC02-9ER6130), the U.S. National Institutes of Health, and the Science and Technology Agency of Japan, with additional support from the Medical Research Council of the United Kingdom, the INSERM of France, and the European Union.