ODMG 3.0

ODMG

ODMG 3.0 was developed by the Object Data Management Group (ODMG). The ODMG is a consortium of vendors and interested parties that work on specifications for object database and object-relational mapping products.

ODMG 3.0 is a portability specification. It is designed to allow for portable applications that could run on more than one product. ODMG 3.0 uses the Java, C++, and Smalltalk languages as much as possible, to allow for the transparent integration of object programming languages. 

The major components of ODMG 3.0 specification are:

bulletObject Model. The common data model supported by ODMG implementations is based on the OMG Object Model. The OMG core model was designed to be a common denominator for object request brokers, object database systems, object programming languages, and other applications. In keeping with the OMG Architecture, a profile has been designed for their model, adding components (e.g., relationships) to the OMG core object model to support the ODMG needs.
bulletObject Specification Languages. The two specification languages are the Object Definition Language (ODL) and Object Interchange Format (OIF) languages. ODL is a specification language used to define the object types that conform to the ODMG Object Model and is based on the OMG IDL. OIF is a specification language used to dump and load from a file or set of files.
bulletObject Query Language. This is a declarative (nonprocedural) language for querying and updating objects. SQL-92 was used as the basis for OQL. 
bulletC++ Language Binding. This is the binding of ODMG implementations to C++. This is called the C++ OML, or object manipulation language. The C++ binding also includes a version of the ODL that uses C++ syntax, a mechanism to invoke OQL, and procedures for operations and transactions. 
bulletCoding example of the ODMG C++ binding and object databases (new window)
bulletCoding example of the ODMG C++ binding and object-relational mapping (new window)
bulletSmalltalk Language Binding. This is the binding of ODMG implementations to Smalltalk. It defines the binding in terms of the mapping between ODL and Smalltalk, which is based on the OMG Smalltalk binding for IDL. The Smalltalk binding also includes a mechanism to invoke OQL and procedures for operations on databases and transactions. 
bulletJava Language Binding. This is the binding between the ODMG Object Model (ODL and OML) and the Java programming language as defined by the Java 2 Platform. The Java language binding also includes a mechanism to invoke OQL and procedures for operations and transactions.
bulletCoding example of the ODMG Java binding and object databases (new window)
bulletCoding example of the ODMG Java binding and object-relational mapping (new window)

It is possible to read and write the same database from C++, Smalltalk, and Java, as long as the programmer stays within the common subset of supported data types. Note that, unlike SQL in relational systems, the ODMG data manipulation languages are tailored to specific application programming languages, in order to provide a single, integrated environment for programming and data manipulation. This is called transparent persistence.

Such transparent persistence is illustrated by the following diagram and contrasts with the database sublanguage of SQL and its variants. In this diagram, you only see the host programming language and no database sublanguage or call-level interface as in JDBC.

Transparent integration of programming languages and database access

An example of a host statement in Java that creates a new Person instance would be:

person = new Person();
person.ssan = "999999999";
person.name = "Doug Barry";

This code fragment would be all the code necessary to create a new person. There is no database sublanguage or call interface. If you wanted to manipulate this object in Java, you could use the object directly. Also see transparent persistence vs. JDBC call-level interface (new window).

For more information on transparent persistence, see:

bulletTransparent persistence for object databases (new window)
bulletTransparent persistence for relational databases using object-relational mapping products (new window)

Also see the ODMG web site is www.odmg.org (new window).

 

Web Services and Service-Oriented Architectures
Online articles>
Consulting
Mentoring
Speaking
Suggested programs
Stencils for the Savvy Manager's Guide
Links
Mail list
Privacy policy
Sitemap
Contact
Web Services articles
XML standards and vocabularies
Application server articles
Database concepts and standards>
Object database articles
Relational database articles
Object-relational mapping articles
XML database articles
XML middleware articles
Article Sponsorship
Reprint policy
Basic concepts for using a DBMS
Database models
DBMS standards>
Article suggestions
SQL-92
JDBC
SQLJ
SQL:1999
ADO.NET
Java Data Objects (JDO)
ODMG 3.0>
Detailed comparison of ODMG 3.0 and JDO
Summary comparison of DBMS standards

Related books at Amazon.com


The Object Data Standard: ODMG 3.0 (The Morgan Kaufmann Series in Data Management Systems)
by R. G. Cattell, Douglas K. Barry, Mark Berler, Jeff Eastman, David Jordan, Craig Russell, Olaf Schadow, Torsten Stanienda, Fernando Velez
Average Customer Review: 4 stars based on 1 review.
Customer Review: A well-written, concise reference covering a diverse range of topics that will be of interest to all who know the frustration of cramming complex OO systems into relational tables. From a complete design pattern for Object and Object Relational database systems, to design patterns for declarative language symantics; from C++ and Java ...

More related books: Search Amazon.com for ODMG 3.0

 

Copyright © 2000-2008 Barry & Associates, Inc. All Rights Reserved.
You can use this material for your work or classes. Click here for our reprint policy.
www.service-architecture.com

 

 Information on becoming a sponsor

 

 

Google

 

Barry & Associates, Inc.