Expert Articles
This section contains dedicated contributions from ODBMS.ORG's Panel of Experts.
- R. Zicari - June 2, 2008
Object Database Systems: Quo Vadis?
- R. Zicari - May 15, 2008
Java Object Persistence: State of the Union - Part II
- M. Blaha - April 10, 2008
An Example of Ignoring Referential Integrity: The LDAP Standard
- R. Zicari - April 1, 2008
Java Object Persistence: State of the Union - Part I
- M. Card - September 27, 2007
Next-Generation Object Database Standardization
- T. Neward - May 21, 2007
Avoiding the Quagmire
- R. Greene - February 2, 2007
OODBMS Architectures Defended
- A. Marriott - December 6, 2006
OODBMS Architectures Revisited
- W. Cook - October 3, 2006
Integrating Programming Languages and Databases: What is the Problem?
- R. Greene - October 3, 2006
OODBMS Architectures
- A. Marriott - August 3, 2006
Scalable Geospatial Object Database Systems
- A. Marriott, B. Rousseau - June 15, 2006
ObjectStore and STL
- B. Bretl - March 15, 2006
Achieving High Concurrency in OO Databases
- M. Blaha - November 17, 2005
Referential Integrity Is Important For Databases
- S. Alagic - October 28, 2005
Next Generation of Virtual Platforms
- S. Ambler - September 15, 2005
Agile Techniques for Object Databases
- W. Cook, C. Rosenberger - August 23, 2005
Native Queries for Persistent Objects
- M. Blaha - July 21, 2005
The Dilemma of Encapsulation Versus Query Optimization
Object Database Systems: Quo Vadis?
By Mike Card, Jim Paterson, Kazimierz Subieta, Roberto Zicari (Editor)
June 2, 2008:
ODBMS.ORG, a vendor-independent non-profit group of high-profile software experts lead by Prof. Roberto Zicari, has exclusively published a new panel discussion "Object Database Systems: Quo vadis?" on experts' views on on some critical questions related to Object Databases:
Where are Object Database Systems going? Are Relational database systems becoming Object Databases? Do we need a standard for Object Databases? Why ODMG did not succeed?
Paper | Expert | DOWNLOAD (PDF) | June 2008 | ****
Java Object Persistence: State of the Union
Part II
By Jose Blakeley, Rick Cattell, William Cook, Robert Greene, Alan Santos, Roberto Zicari (Editor)
May 15, 2008:
ODBMS.ORG, a vendor-independent non-profit group of high-profile software experts lead by Prof. Roberto Zicari, has exclusively published a second sequel to the panel discussion "Java Object Persistence: State of the Union."
Paper | Expert | DOWNLOAD (PDF) | May 2008 | *****
An Example of Ignoring Referential Integrity: The LDAP Standard
By Michael Blaha
April 10, 2008 Abstract:
In an earlier article on ODBMS.ORG (Referential Integrity Is Important For Databases, 2005) we explained how referential integrity applies to modeling, programming, and databases. Referential integrity is a constraint that ensures that references between data are valid and intact. Relational DBMSs have intrinsic support for referential integrity, though it often goes unused. Some OO DBMSs also have support as ObjectStore illustrates. Our earlier article alluded to the LDAP standard as an example that demonstrates the peril of ignoring referential integrity and we will now elaborate. The LDAP standard illustrates the consequences of ignoring referential integrity when building applications.
Paper | Expert | DOWNLOAD (PDF) | March 2008 | ***
Java Object Persistence: State of the Union
Part I
By Mike Keith, Ted Neward, Carl Rosenberger, Craig Russell, Roberto Zicari (Editor)
April 1, 2008:
ODBMS.ORG, a vendor-independent non-profit group of high-profile software experts lead by Prof. Roberto Zicari, has together with InfoQ.com exclusively published the panel discussion "Java Object Persistence: State of the Union."
Paper | Basic | DOWNLOAD (PDF) | April 2008 | *****
Next-Generation Object Database Standardization
By Michael Card
September 27, 2007 Abstract:
Following the dissolution of the Object Data Management Group (ODMG) in 2001, standardization efforts for object databases languished. What has emerged since is a fractured marketplace where each vendor has developed a unique set of programming interfaces and features and no truly portable way of interacting with an object database exists. In 2005, the OMG’s Object Database Technology Working Group was formed as the successor to the ODMG, and our first effort has been to create the object equivalent of the relational calculus. We believe that the foundation for this “object calculus” can be found in the research done by Prof. Kazimierz Subieta and his students at the Polish-Japanese Institute of Information Technology. We have prepared this white paper to serve as an introduction to Prof. Subieta’s “stack-based architecture” (SBA) and to define the OMG version of it. The definitions and semantics of SBA will, we believe, allow the construction of a complete and correct object model that supports a powerful object query language as well as a complete and correct set of equivalent native programming language bindings.
Paper | Expert | DOWNLOAD (PDF) | September 2007 | ****
Avoiding the Quagmire
By Ted Neward
May 21, 2007 Abstract:
For close on to two decades, the programming industry has sought answers to the problems of manipulating relational data from within an object-oriented language. The problems of this approach are documented, well-known, and generally involve a highly-charged emotional debate. In this paper, a follow-up to the controversial "Vietnam of Computer Science", the author of the "Vietnam" essay examines an entirely different approach to the problem: storing objects in an object database.
Paper | Expert | DOWNLOAD (PDF) | LINK | May 2007 | *****
OODBMS Architectures Defended
By Robert Greene
February 2, 2007 Abstract:
It is the intent of this paper to address the issues raised in "OODBMS Architectures Revisited". The intent of the original article "OODBMS Architectures" was to offer an adopter of OODB technology practical knowledge that would facilitate a successful adoption. Greene thinks it is important to comment on Mariott's rebuttal which contains, in his option, a lot of theoretical content which is less than useful for practical implementations.
Paper | Expert | DOWNLOAD (PDF) | February 2007 | ***
OODBMS Architectures Revisited
By Adrian Marriott
December 6, 2006 Abstract:
The purpose of this paper is to explore the analysis offered by Robert Greene in his paper OODBMS Architectures: An examination of implementations, and to correct what the author believes are some incorrect statements made regarding page-based server architectures. The author addresses the subjects Greene discusses in the order that they appear in his paper. To help orient the reader the original headings are included, and the offending passages are quoted, before the author examines Greene's claims.
Paper | Expert | DOWNLOAD (PDF) | December 2006 | ****
Integrating Programming Languages and Databases: What is the Problem?
By William Cook, Ali Ibrahim
October 3, 2006 Abstract:
The problem of integrating databases and programming languages has been
open for nearly 45 years. During this time much progress
has been made, in exploring specialized database programming languages,
orthogonal persistence, object-oriented databases, transaction models,
data access libraries, embedded queries, and object-relational mapping.
While new solutions are proposed every year, none has yet proven fully
satisfactory. One explanation for this situation is that the problem itself
is not sufficiently well defined, so that partial solutions continue to be
proposed and evaluated based upon incomplete metrics, making directed
progress difficult. This paper is an attempt to clarify the problem, rather
than propose a new solution. We review issues that arise on the boundary
between programming languages and databases, including typing, optimization,
and reuse. We develop specific criteria for evaluating solutions
and apply these to the solution approaches mentioned above. The analysis
shows that progress has been made, yet the key problem of meeting
all the criteria simultaneously remains open.
Paper | Expert | DOWNLOAD (PDF) | September 2006 | ****
OODBMS Architectures
By Robert Greene
October 3, 2006 Abstract:
The Object Oriented Database Management System (OODBMS) has been in existence now for nearly 2 decades. The major vendors conceived and began implementing them in the late 80's accommodating OO languages like Smalltalk, C++ and Java, with
commercial products shipping in the mid 90's. In the beginning,
there was a great expectation that the OODBMS would replace the RDBMS as the database of choice for future applications.
The "great expectation" has not come to fruition and it is an assertion in this paper that ONE of the major reasons for this comes down to OODBMS architecture. That is, the OODBMS architecture and it's impact on the expectations of early adopters. Many successfully deployed applications have demonstrated that choosing the right OODBMS architecture allows the building of high performance, highly concurrent and scalable solutions. This paper seeks to examine the issue of expectation along with examining the differences between the 3 most common commercial OODB architectures.
Paper | Expert | DOWNLOAD (PDF) | September 2006 | ****
Scalable Geospatial Object Database Systems
By Adrian Marriott
August 3, 2006 Abstract:
The purpose of this paper is to describe the Geospatial Object Server (GOS) that lies at the heart of the OS Master Map project deployed Ordnance Survey in the UK.
The aim of OS Master Map is to underpin all commercial and government activity that involves spatial data into the next
millennium. Here we describe what the GOS does, why it does
these things and how it is implemented to scale to billions of objects. We also look at project risks and business benefits.
The Geospatial Object Server (GOS) holds the largest, seamless spatial dataset in the world, covering the whole of the UK at 1:10000 scale. Its primary task is to supply this data in various XML formats in response to queries.
Paper | Expert | DOWNLOAD (PDF) | August 2006 | ****
ObjectStore and STL
By Adrian Marriott, Ben Rousseau
June 15, 2006 Abstract:
The main aim of this paper is to show how easily STL can be used with ObjectStore. We describe how to store STL containers, their iterators and STL basic_strings persistently within ObjectStore.
We present a fully working ObjectStore allocator designed for the popular STLport freeware implementation that has been tested to capacities of three million objects or more.
Paper | Expert | DOWNLOAD (PDF) | June 2006 | ****
Achieving High Concurrency in OO Databases
By Bob Bretl
March 15, 2006 Abstract:
Today object oriented databases (OODB) are being used in large scale applications in a variety of industries including telecommunications, banking, manufacturing, insurance, and shipping. These applications are characterized by having complex data, that is, data which is represented in the highly interconnected graphs of an object model. Object databases are very good at storing the complex data model, but it is generally up to the application developer to figure out how to scale the application so that it runs efficiently with many concurrent users. The purpose of this paper is to explore various techniques that can be used in object oriented databases to achieve high concurrency. This paper first provides background information about transactions and several concurrency control techniques, then the difference between physical consistency and logical consistency are explored. Finally, several specialized container classes are introduced to show how logical (behavioral) consistency can be implemented and how they can be used to improve concurrency and simplify application development.
Paper | Expert | DOWNLOAD (PDF) | March 2006 | ****
Referential Integrity Is Important For Databases
By Michael Blaha
November 17, 2005 Abstract:
Referential integrity is a database constraint that ensures that references between data are indeed valid and intact. Referential integrity is a fundamental principle of database theory and arises from the notion that a database should not only store data, but should actively seek to ensure its quality. The notion of referential integrity also applies to OODBMSs. There are relationships between objects that cause them to depend on each other and maintenance of these dependencies should not be left to application code.
Paper | Expert | DOWNLOAD (PDF) | November 2005 | ****
Next Generation of Virtual Platforms
By Suad Alagic, Mark Royer
October 28, 2005 Abstract:
This paper is addressing three major and quite controversial
issues critical for the next generation of virtual platforms for
object-oriented languages. The first one is providing explicit
support for parametric types in the virtual machine. The
second is that object-oriented languages (of the next generation)
equipped with assertions and running on virtual platforms
require proper support for parametric types equipped with assertions
(constraints). The third is an argumentation for
much more sophisticated orthogonal persistent capabilities.
Paper | Expert | DOWNLOAD (PDF) | October 2005 | ****
Agile Techniques for Object Databases
By Scott Ambler
September 15, 2005 Abstract: Modern software development processes are evolutionary in nature, but more often than not agile. Agile techniques include refactoring, agile modeling, continual regression testing, configuration management of all development assets, and separate sandboxes for developers to work in. The use of relational database (RDBMS) technology complicates the adoption of these techniques due to the technical impedance mismatch, the cultural impedance mismatch, and the current lack of tool support. Object databases (ODBMSs) make it easier to be agile. A non-intrusive ODBMS such as db4o, the native object database for Java and .NET, makes it easiest to develop, evolve, and maintain software code in an agile manner.
Paper | Expert | DOWNLOAD (PDF) | September 2005 | *****
Native Queries for Persistent Objects
By William Cook, Carl Rosenberger
August 23, 2005 Abstract: Most persistence architectures for Java and .NET provide interfaces
to execute queries written in an architecture-specific query language.
These interfaces are string based: queries are defined in strings that
are passed to the persistence engine for interpretation. String-based
query interfaces have significant negative impact on programmer pro-
ductivity. The queries are not accessible to development environment
features like compile-time type checking, auto-completion, and refac-
toring. Programmers must work in two languages: the implementa-
tion language and the query language. This paper introduces Native
Queries, a concise and type-safe way to express queries directly as
Java and C# methods. We describe the design of Native Queries and
provide an overview of implementation and optimization issues. The
paper also includes a discussion of the advantages and disadvantages
of the current design of Native Queries.
Paper | Expert | DOWNLOAD (PDF) | August 2005 | *****
The Dilemma of Encapsulation Versus Query Optimization
By Michael Blaha
July 21, 2005 Abstract: There is a fundamental, irreconcilable conflict between the goals of encapsulation and the goals of query optimization. The object-oriented literature emphasizes encapsulation.
An object should access only objects that are directly related. An object can access indirectly related objects via the methods of intervening objects. Encapsulation increases the resilience of an application; local changes to an application model cause local changes to application code. On the other hand, database management system (DBMS) optimizers take a logical request and generate an execution plan.
If queries are broadly stated, the optimizer has greater freedom for devising an efficient plan. Thus encapsulation boosts resilience but limits optimization potential. On the other hand, broadly stating queries is conducive to optimization, but a small change to an application can affect many queries.
Paper | Expert | DOWNLOAD (PDF) | July 2005 | ****