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., often known as Sun for short, was an American technology company that existed from 1982 to 2010 which developed and sold computers, computer components, software, and information technology services. Sun contributed sig ...
. 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, a 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
A query language, also known as data query language or database query language (DQL), is a computer language used to make queries in databases and information systems. In database systems, query languages rely on strict theory to retrieve informa ...
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 Development Organization (SDO), or Voluntary Consensus Standards Body (VCSB). OMG develops enterprise integration and modeling standards for a range of technologies.
Busin ...
'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
Structured Query Language (SQL) (pronounced ''S-Q-L''; or alternatively as "sequel")
is a domain-specific language used to manage data, especially in a relational database management system (RDBMS). It is particularly useful in handling s ...
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 a purely object oriented programming language (OOP) that was originally created in the 1970s for educational use, specifically for constructionist learning, but later found use in business. It was created at Xerox PARC by Learni ...
, 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, general-purpose, memory-safe, object-oriented programming language. It is intended to let programmers ''write once, run anywhere'' ( WORA), meaning that compiled Java code can run on all platforms that support Jav ...
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 formal mechanism that enables interested parties to develop standard technical specifications for Java technology. Becoming a member of the JCP requires solid knowledge of the Java program ...
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 Development Organization (SDO), or Voluntary Consensus Standards Body (VCSB). OMG develops enterprise integration and modeling standards for a range of technologies.
Busin ...
(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
Objectivity/DB is a commercial object database produced by Objectivity, Inc. It allows applications to store standard C++, C#, Java, or Python objects persistently, without converting them into the rows and columns used by a relational databas ...
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, 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