 |
|
The Object Database Management Group
Oracle Database Tips by Donald Burleson
|
The Object Management Group (OMG)
The balancing between the vendors drive toward
being unique and the industries need to be standard has been addressed with the
formation of the Object Management Group. The Object Management Group (OMG) was
formed in May of 1989 by Christopher Stone and eight companies to set standards
for object technology. These companies included American Airlines, Canon, Data
General, Hewlett-Packard, Philips Telecommunications, Sun Microsystems, Unisys
Corporation, and 3Com Corporation.
The OMG is committed to developing
specifications that are vendor independent, commercially viable, and superior
technically for object technology. OMG promotes object technology as a way to
allow interoperability and portability, increase productivity, and promote
reusability. The OMG has expanded from the original eight companies to over 700
members, only corporate members may submit technology for the OMG to adopt. The
OMG headquarters are located in Framingham, Massachusetts.
The main objective of the OMG is
interoperability and portability of object technology. This is being driven by
end-users who want "plug and play" software, software for both today and
tomorrow must be flexible and open so that end-users can change the way their
systems are developed and used.
In 1991, the OMG first introduced the Common
Object Request Broker Architecture (CORBA) specification. CORBA is concerned
with interoperability so that different hardware and software products can
communicate with each other. Unfortunately, se still see some pushback from the
large software vendors about CORBA. Microsoft has been notably absent in the
development of the CORBA standard, and has developed their own approach to
system interoperability with DCOM which is used with Object Linking and
Embedding (OLE). While DCOM has been designed to be "largely CORBA compliant",
it still has vendor-specific features that are unique to Microsoft.
The Object Database Management Group
The haphazard development of standards and
definitions of object technology has been very confounding to most companies who
are interested in using the new technology. Object technology companies cannot
agree on the definition of an object-oriented database, much less the
characteristics of an object-oriented database. Many vendor products which are
advertised as
object-oriented capitalize on object
technology buzzwords and are often very vague about the real features of the
database, and what makes it object-oriented. This is especially true for some
of the new object/relational database offerings.
The "pure" object-oriented databases, such as
Versant and Objectivity/DB are very powerful tools, but they are tightly-coupled
to a programming language. Because of their complexity and the high learning
curve for using the engines these types of object-oriented databases have had
trouble achieving popularity in the general marketplace.
A new standard for object-oriented database
architecture called the ODMG Object Model has been proposed by a consortium of
vendors, but the mega-vendors such as IBM and Microsoft have not accepted this
standard.
ODMG is a vendor organization which is dedicated
to providing standards exclusively for object-oriented databases. The ODMG
object model was developed jointly be a consortium of object-oriented database
vendors. These companies feel a sense of urgency in creating a unified standard
for object-oriented databases, and they have prepared the ODMG model in the hope
that all OODB vendors will adopt the model. Current commercial OODB systems are
not portable across hardware platforms, and it is hoped that a joint approach
toward object-oriented database architecture will create an environment where
object-oriented systems share many characteristics, just as relational databases
share common interfaces, such as SQL.
Because of a lack of standards for
object-oriented database architectures, most of the major OODB vendors have been
creating commercial products which have very diverse internal structures.
The ODMG object model was developed jointly by a
consortium of object-oriented database vendors, including Versant, Ontos, O2
technology, Object Design, SunSoft, and Objectivity corporations. Notably
absent was Microsoft Incorporated, who may have decided that their approach to
Object databases technology did not fit into the industry standard plan. These
companies felt a sense of urgency in creating a unified standard for
object-oriented databases, and they have prepared the ODMG model in the hope
that all OODB vendors will adopt the model. But beware, the ODMG database
standard was never meant for the object/relational databases such as UniSQL,
Oracle, and Informix. These vendors have had no real standard to guide their
efforts.
The ODMG model creates an independent model
which is language independent, and object models may be bound to many different
languages. ODMG develops a hierarchy of objects with the most general object
called a "denotable" object. Denotable objects may be either mutable or
immutable. A mutable object may changes its values and properties, but an
immutable object contains only literal values.
Within immutable objects, we find two
sub-categories, atomic and structured. (Figure 4.3) A denotable, immutable,
atomic object is represented by the same data types found in a relational
database, namely CHAR, INTEGER, and FLOAT. A denotable, immutable, structured
object is a literal structure such as the DATE and TIME data types.
Figure 4.4 - The ODMG-93 Database Standard
Unlike the relational database model, the ODMG
model requires that all object are assigned an object identifier (OID), to
uniquely identify the object. While it is unclear, it appears that it is not
possible to reference an object by the data values in the object. For example,
in a relational database one could state: SELECT * FROM ORDER WHERE ORDER_NBR =
456; this would not be possible under this object model. Rather, the ODMG model
requires "database currency" to locate the object, and the system must know the
OID.
As things stand, the ODMG93 specification
remains in the exclusive domain of the pure object-oriented database vendors.
Since the world's leading database vendors have chosen to ignore the ODMG
specification in their efforts to objectize their relational engines, it remains
to be seem whether the ODMG standard will ever achieve the status of a true
industry standard.
Summary
While the emergence of standard for database
objects has been making some headway, it is still clear that there is a great
deal of work that must be done before all objects will be able to communicate
with each other in an independent fashion. As long as vendors have an incentive
to keep their products proprietary, we will continue to see resistance in the
marketplace, and a failure to develop a uniform method for interoperability
within the database object community.
Now that we have explored the realm of
standards, let's move on to take a look at how the object model is being
implemented by some of the major database vendors. The following chapters will
explore the new object extensions to the database model and describe how these
extensions are used to develop robust object-oriented applications.