The Object Data Management Group (ODMG) was conceived in the summer of 1991 at a breakfast with
object database
An object database or object-oriented database is a database management system in which information is represented in the form of objects as used in object-oriented programming. Object databases are different from relational databases which are ...
vendors that was organized by Rick Cattell of
Sun Microsystems
Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, ...
. In 1998, the ODMG changed its name from the Object Database Management Group to reflect the expansion of its efforts to include specifications for both object database and
object-relational mapping products.
The primary goal of the ODMG was to put forward a set of specifications that allowed a developer to write
portable
Portable may refer to:
General
* Portable building, a manufactured structure that is built off site and moved in upon completion of site and utility work
* Portable classroom, a temporary building installed on the grounds of a school to provide a ...
applications for object database and object-relational mapping products. In order to do that, the data schema, programming
language binding
In programming and software design, binding is an application programming interface (API) that provides glue code specifically made to allow a programming language to use a foreign library or operating system service (one that is not native to ...
s, and data manipulation and
query language
Query languages, data query languages or database query languages (DQL) are computer languages used to make queries in databases and information systems. A well known example is the Structured Query Language (SQL).
Types
Broadly, query language ...
s needed to be portable.
Between 1993 and 2001, the ODMG published five revisions to its specification. The last revision was ODMG version 3.0, after which the group disbanded.
Major components of the ODMG 3.0 specification
*''Object Model.'' This was based on the
Object Management Group
The Object Management Group (OMG) is a computer industry standards consortium. OMG Task Forces develop enterprise integration standards for a range of technologies.
Business activities
The goal of the OMG was a common portable and interoperab ...
's Object Model. The OMG core model was designed to be a common denominator for object request brokers, object database systems, object programming languages, etc. The ODMG designed a profile by adding components to the OMG core object model.
*''Object Specification Languages.'' The ODMG Object Definition Language (ODL) was used to define the object types that conform to the ODMG Object Model. The ODMG Object Interchange Format (OIF) was used to dump and load the current state to or from a file or set of files.
*''Object Query Language (OQL).'' The ODMG
OQL was a declarative (nonprocedural) language for query and updating. It used
SQL as a basis, where possible, though OQL supports more powerful object-oriented capabilities.
*''C++ Language Binding.'' This defined a
C++ binding of the ODMG ODL and a C++ Object Manipulation Language (OML). The C++ ODL was expressed as a library that provides classes and functions to implement the concepts defined in the ODMG Object Model. The C++ OML syntax and semantics are those of standard C++ in the context of the standard class library. The C++ binding also provided a mechanism to invoke OQL.
*''Smalltalk Language Binding.'' This defined the mapping between the ODMG ODL and
Smalltalk
Smalltalk is an object-oriented, dynamically typed reflective programming language. It was designed and created in part for educational use, specifically for constructionist learning, at the Learning Research Group (LRG) of Xerox PARC by ...
, which was based on the OMG Smalltalk binding for the OMG Interface Definition Language (IDL). The Smalltalk binding also provided a mechanism to invoke OQL.
*''Java Language Binding.'' This defined the binding between the ODMG ODL and the
Java programming language
Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers ''write once, run an ...
as defined by the Java 2 Platform. The Java binding also provided a mechanism to invoke OQL.
Status
ODMG 3.0 was published in book form in 2000. By 2001, most of the major object database and object-relational mapping vendors claimed conformance to the ODMG Java Language Binding. Compliance to the other components of the specification was mixed. In 2001, the ODMG Java Language Binding was submitted to the
Java Community Process
The Java Community Process (JCP), established in 1998, is a formalized mechanism that allows interested parties to develop standard technical specifications for Java technology. Anyone can become a JCP Member by filling a form available at thJCP we ...
as a basis for the
Java Data Objects specification. The ODMG member companies then decided to concentrate their efforts on the Java Data Objects specification. As a result, the ODMG disbanded in 2001.
In 2004, the
Object Management Group
The Object Management Group (OMG) is a computer industry standards consortium. OMG Task Forces develop enterprise integration standards for a range of technologies.
Business activities
The goal of the OMG was a common portable and interoperab ...
(OMG) was granted the right to revise the ODMG 3.0 specification as an OMG specification by the copyright holder, Morgan Kaufmann Publishers. In February 2006, the OMG announced the formation of the Object Database Technology Working Group (ODBT WG) and plans to work on th
4th generation of an object database standard
ODMG Compliant DBMS
*Orient ODBMS: http://www.OrienTechnologies.com
*
Objectivity/DB C++, Java and Smalltalk interfaces.
References
# ''The Object Data Standard: ODMG 3.0.'' Edited by R.G.G. Cattell and Douglas K. Barry, with contributions by Mark Berler, Jeff Eastman, David Jordan,
Craig L. Russell
Craig L. Russell (born January 6, 1949) is an American software architect and author. He contributed to the book ''97 Things Every Software Architect Should Know.''
Biography
Early life and education
Craig L. Russell was born January 6, 1949, ...
, Olaf Schadow, Torsten Stanienda, and Fernando Velez. Morgan Kaufmann Publishers, Inc., 2000. .
# ''Object Storage Fact Books: Object DBMSs and Object-Relational Mapping.'' Douglas K. Barry and Joshua Duhl. Barry & Associates, Inc., 2001
Pages showing the ODMG compliance for both object database and object-relational mapping products in 2001.
External links
*ODMG: http://www.odbms.org/odmg-standard/ now part of ODBMS.org
{{authority control
Standards organizations in the United States
Databases
Object-oriented programming
Organizations established in 1991
1991 establishments in the United States