OPM Data Management Tools for CORBA Compliant Environments

Anthony Kosky, Ernest Szeto, I-Min A. Chen, Victor M. Markowitz

Lawrence Berkeley National Laboratory



Postscript version of full document


In this document we describe the development of an OPM-CORBA interface supporting the employment of OPM data management tools in a CORBA environment.

The Object-Protocol Model (OPM) is a an object data model that allows specifying database schemas in terms of objects and protocols. OPM follows loosely the ODMG-93 standard and supports additional constructs for modeling scientific experiments (protocols) and versions.

CORBA supports an Interface Definition Language (IDL) that has OPM's object-oriented flavor. However, IDL is not appropriate for defining database schemas, mainly because it provides an open syntactic framework for defining object interfaces in terms of methods, where code implementing these methods is transparent to the interfaces defined in IDL. This open syntactic framework is key to CORBA's support for object interfaces, where the semantic definition (i.e. interpretation of object representations) is filled in by the underlying systems, such as databases or application programs. Conversely, an integral part of object data models such as OPM, is a semantic interpretation for object structures (i.e., object state definition). Such a semantic interpretation of object structures is an essential component of the semantic definition of a database query language, such as OPM's query language. Furthermore, the granularity of database (e.g., OPM) objects whose type is predefined as part of the database design, may be different than that of interface (IDL) objects, which are often ad-hoc queries and query results whose type is not known ahead of time.

OPM is valuable because of its data management tools providing facilities for constructing databases with commercial relational database management systems (DBMSs), such as Sybase and Oracle, for constructing OPM views for existing relational and ASN.1 databases, and for querying such databases using the OPM query language, via OPM interfaces based on the OPM query translator (OPM-QLT). Furthermore, OPM provides an open framework for adding new constructs deemed important for a large class of applications and for developing new tools that, in combination with the core OPM tools, can be used for achieving new goals. For example, the currently developed OPM multidatabase toolkit (OPM*MT) provides facilities for constructing and exploring multidatabase systems involving heterogeneous databases.

We describe the development of an OPM-CORBA interface that allows client objects to access OPM tools in a CORBA environment, and discuss other ways in which OPM tools could interact with CORBA compliant systems.

Note that in discussing CORBA interfaces and tools, one must be careful in determining the boundaries between the vision of the CORBA standard, the speculations around this continuosly evolving standard, and the reality of what existing CORBA products support or are likely to support in the future.

The rest of this document is organized as follows. Section 2 contains a brief overview of the CORBA standard. OPM and the OPM data management tools are reviewed in Section 3. A CORBA compliant OPM interface for interacting with OPM data management tools in a CORBA environment is described in Section 4. Section 5 contains concluding remarks.