Standards can be frustrating, particularly in the software field. Software vendors try to define them in terms of their own products. Committees argue for years over their minute details. Magazine columnists try to understand them well enough to explain them in print to others. And lots of people, from securities analysts to CIOs, bet millions of dollars on them every day, speculating on which technologies really will become standards.
One of the hottest standards efforts today is going on at the Object Data Management Group (ODMG), a consortium of leaders in the object-oriented database-management systems (OODBMS) industry. The breadth of issues it covers makes it an entirely new kind of standard for the database field (see sidebar ODMG sources). Will it help the slow-growing OODBMS industry become more established?
Measures of standards
It's fascinating to watch software standards wax and wane. They're virtually antithetical to the unregulated markets in which they operate, making it tantalizingly difficult to predict how a given standard will affect the area to which it applies. It would be interesting to see a study that categorizes standards according to key criteria and measures them against market success. Any MBA student care to give it a try?
For example, timing: Was the standard determined before or after conforming products were built? Completeness might measure whether "compliant" products really are compatible. Power is another category: How does a standard measure up to the best existing products or research? Source is an especially important factor: Is the standard from a single vendor or vendor group, or is it a publicly funded government or academic effort?
Some of these criteria's effects on a standard's success are fairly easy to predict. With respect to timing, proscriptive standards -- those that are published before products are built -- have fared substantially worse than de facto standards. Compare the success of the OSI (Open System Interconnection) networking model with TCP/IP or the Ada programming language with C or C++, for instance, each being a proscriptive loser or a de facto winner. De facto standards from vendors that dominate a market, such as Microsoft's DOS and Windows for desktops and HP's PCL for printers, are standards winners compared with those from industry consortia (choose any Unix standards group as an example).
Incomplete standards such as OMG's Common Object Request Broker Architecture (CORBA) version 1 have not done as well as complete ones like Microsoft's Object Linking and Embedding (OLE). Interestingly, power seems to be a minor factor. Witness the ubiquity of DOS amid so many less successful operating systems that offer full multitasking and virtual memory.
By all our measurements, then, the prudent investor might initially view the ODMG's ODMG-93 standard as risky at best, perhaps even a sure loser. It is proscriptive, written by a vendor consortium, and currently incomplete. But OODBMS technology has certain inherent characteristics that force any standard to be done the way ODMG-93 specifies. Its authors have taken a necessary risk.
Risky but compelling
ODMG-93's primary authors include a cast of OODBMS luminaries whose goal, of course, is to insure the success of OODBMS technology. The benefits of OODBMS, such as overcoming the limitations of relational-database management systems (RDBMS) in modeling complex, multimedia data, are obvious enough. But the RDBMS industry is still in its heyday, and many companies have recently invested their core corporate data as well as large amounts of time and money into RDBMS. To make matters even more difficult for these vendors to achieve their goals, they are small, young companies with very limited budgets (see Client/Server, April and May 1994). They certainly don't have the resources to create de facto standards by brute-force market domination ˆ la Microsoft.
What options do they have? Not a lot. They can either fight it out amongst themselves and scare away potential customers who don't want to risk betting on a loser, or getting stuck with an entire technology that is too fragmented to endure; or vendors can pool their resources and cooperate. Fortunately, they have chosen the latter approach -- the smart choice, because the aggregate size of their market is too small. By adopting the concept of "coopetition," this small group of OODBMS vendors acknowledges that they will not achieve critical mass for their market unless they offer customers some security through standards, particularly technological commonality among their products. ODMG-93 is an attempt toward that end.
Complex but readable
OODBMS technology encompasses a wide variety of components. For instance, like any database system, an OODBMS includes a data-definition language. But since it is object oriented, that language must include a way of defining operations (a.k.a. methods) on object types. In turn, this requires a full-blown programming language, or hooks into an existing one, for implementing operations. Finally, portability among OODBMS is greatly enhanced if the standard includes a root set of basic, commonly useful object types, such as is available with the SmallTalk language.
ODMG-93 includes all of these elements. Its goal is to enable portability among OODBMS at the source-code level. The standard specifies a standalone data-definition language called ODL (Object Definition Language), which includes a very rich, powerful set of primitive types and constructors for defining new ones that is pretty close to the state of the art in type modeling.
ODMG-93 also incorporates the idea of bindings of ODL to conventional languages so that ODMG type definitions can be included in conventional code. Vendors would implement language bindings as compiler preprocessors. The current ODMG-93 specification includes a C++ binding for ODL and OML, the Object Manipulation Language that is used for specifying operation implementations. OMDG-93 also includes a SmallTalk binding, unfinished at press time.
Aside from data definitions, ODMG-93 also includes components for querying and transaction support. The former exists in the form of a predicate-based query language called OQL (Object Query Language), which, like ODL, exists in standalone form and as bindings to conventional languages (currently C++ and SmallTalk). As of October 1994, OQL is compatible with ANSI SQL-92 Entry Level. ODMG is currently working with ANSI committees that are developing an object-oriented "SQL 3" standard.
The querying capability in ODMG-93 is predicated (no pun intended) on the ability of an ODMG-93-compliant database to keep track automatically of the extent of an object type -- the collection (a.k.a. class) of existing objects of the type. Whenever you create a new object, the database adds it to the extent of its type. When you delete an object, it's removed from the extent. An extent is thus analogous to a relation in the RDBMS world.
Finally, ODMG-93 includes machinery for specifying transactions. As with any type of database, transactions are sets of operations that take a database from one logically consistent state to another. They are atomic, meaning they either run to completion or not at all. ODMG-93 also allows transactions to be nested, which turns out to be a useful way to encapsulate network operations in a distributed environment.
That's a lot of meat for what is currently a document of less than 200 pages. I'm happy to admit, it's one of the most readable standards documents I've ever seen. At the same time, it explicitly makes room for OODBMS vendors to differentiate themselves while adhering to the standard -- in such areas as data distribution, scalability, supported platforms, and so on. The standard will also stimulate a third-party industry of database-independent application development tools.
Not just another standard
ODMG-93 is a new kind of standard, one that represents unprecedented scope and cooperation among vendors who realize they must cooperate to survive.
ODMG member vendors all have committed to achieve some degree of compliance with ODMG-93 by the last quarter of 1995. Already, UniSQL is offering a C++ binding of ODL for its hybrid object/relational-database system (see Client/Server, July 1994), and Objectivity claims ODL-compliance for its OODBMS through software from Micram Object Technology.
ODMG-93 represents a view of the OODBMS industry that is very optimistic. That's understandable, given its authors' missionary-like zeal about the technology. The full set of features represents a view of OODBMS as nothing less than the heirs to Oracle and Sybase as the guardians of enterprise data.
Here's hoping ODMG becomes successful quickly, despite the historical precedent against standards of its type. Not only will it help the OODBMS industry immeasurably, but it will serve as an example of how open standards and coopetition are much better for all of us, in the long run, than proprietary systems and contentious vendors.
About the author
Contributing editor Bill Rosenblatt is director of Publishing Systems at the Times Mirror Co. Reach him at email@example.com.
Bill Rosenblatt is the author of Learning the Korn Shell and a coauthor of Learning Gnu Emacs and Learning the Bash Shell. You can buy these at Amazon.com Books. Select the hyperlinks to learn more about each and Amazon.com.
A list of Bill Rosenblatt's Client/Server columns in SunWorld Online.
Find documents from the ODMG, including incremental updates to the standard on the Internet:
or get a copy of the book (standard version 1.1, circa early 1994) by calling the ODMG at 612-953-7250. The next revision of the ODMG standard is expected in 1995.
If you have problems with this magazine, contact firstname.lastname@example.org
Last updated: 1 January 1995.