Anthony Kosky, Ernest Szeto, I-Min A. Chen, Victor M. Markowitz
Lawrence Berkeley National Laboratory
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.