Third USENIX Conference on Object-Oriented Technologies (COOTS), 1997
Making CORBA Objects Persistent: the Object Database Adapter Approach
Francisco C. R. Reverbel
Departamento de Ciência da Computação
Universidade de São Paulo
05508-900 - São Paulo, SP - Brazil
Arthur B. Maccabe
Department of Computer Sciences
University of New Mexico
Albuquerque, NM 87505
Abstract
This paper discusses a realization of object persistence in a
CORBA-based distributed system. In our approach, persistence of CORBA
objects is accomplished by the integration of the ORB with an
ODBMS. This approach is not limited to pure object-oriented database
systems, as the ODBMS may be a combination of a relational DBMS and an
object-relational mapper. The design and implementation of an Object
Database Adapter that integrates an ORB and an ODBMS with C++ bindings
is presented. The ODA uses delegation (rather than inheritance) to
connect user-provided implementation classes and IDL-generated
classes. Only the user-defined parts of CORBA objects are actually
stored in a database. Their IDL-generated parts are dynamically
instantiated, in transient memory, by the ODA. Persistent relationships
between CORBA objects within a server are not realized at the CORBA
level, but at the level of implementation objects. Database traversals
and queries can therefore be executed at ODBMS speeds. The paper
discusses in some detail a number of implementation issues, such as
caching. ODA support to local transactions, ODA interfaces, and CORBA
server organization are also examined.
|