BYTE.com > Features > 2003
Native Object/Relational Wrappers
By Lee Fesperman
January 20, 2003
(Native Object/Relational Wrappers
: Page 1 of 1 )
Object/Relational wrappers are a tool for bridging the gap between object-oriented
applications and database systems. O/R wrappers encapsulate database access in
application-oriented wrapper objects. Applications use these special objects for all access
to database entities.
There are a number of tools for generating O/R wrappers, including the Java Data Objects
(JDO) initiative. In practice however, wrapper objects are often coded by the application
developer. With the advent of Relational DBMSs supporting user-defined objects in the
database, this task has become much easier. Creation of wrapper objects can take place in the
DBMS before passing them to the client.
Why Use O/R Wrappers
Much has been made of the so-called impedance mismatch between object-oriented
applications and traditional Database Management Systems (DBMSs). However, this conflict is
quite natural. It is a reflection of the differing goals of the two sub-systems.
A DBMS is a resource shared among diverse client applications:
- Interactive and batch applications
- Reporting and analysis tools
- Ad hoc query interfaces.
It is the goal of a DBMS to provide effective services to all of its clients. A DBMS is
also concerned with the overall integrity and security of the database. A client application
is oriented to performing or participating in a specific business task/process.
Object/Relational wrappers provide an excellent solution to the apparent conflict between
the needs of the application and the needs of the DBMS. They allow the application to utilize
the database in an application-specific manner. On the other side, they allow the DBMS to
maintain a shared data structure that can service a rich set of application clients. This is
accomplished through building wrappers that are specific to each application.
Application-specific wrappers support a concept important to both object-oriented and
relational systems—a sub-system should have access to data only if relevant to its
needs. In object-oriented terminology, this is known as encapsulation.
Page 1 of 1
BYTE.com > Features > 2003
|