Dr. Mary E.S. Loomis
Object Databases- The Essentials (Addison-Wesley, 1995, paperback, ISBN 0-201-56341-X, 192 pp., $27.95) introduces and explains the issues required to successfully manage and develop software with object-oriented database management systems (OODBMS). It compares the features of OODBMSs with traditional relational database systems (RDBMSs), explains concepts and issues surrounding OODBMSs, and shows methods for using OODBMS on a project. The strength of Loomis' book comes from the emphasis it places on using OODBMS in conjunction with widely-used object-oriented languages such as Smalltalk and C++.
Loomis opens by describing traditional software development as a "vaulting process" in which each phase of:
Constantly "vaulting" these walls during development introduces errors and increases maintenance costs. To obviate this problem, Loomis forwards the advantages of having a unified conceptual model in which each phase uses the same methods, terms, and approach. Loomis then argues convincingly that the only methods available today to "tear down the walls" come from object technology.
Loomis calls the "no-vault" approach to software development one in which the object model defines all aspects of development. Since objects appear everywhere, they serve to define requirements across application domains just as well as they serve to represent entities in a programming language such as Smalltalk or C++. OODBMSs complete the picture by allowing data managers to use objects to organize information and thereby to operate in the same world as designers and programmers.
In Object Databases- The Essentials, Loomis begins by describing what managers and developers need to meld programming languages and databases together in a development environment. She builds very nicely over a series of chapters to more technical topics dealing with such issues as object sharing and distributed object management. In this sense Loomis' book contains something for everyone who has an interest in or business need for OODBMSs.
Following the introductory chapter, Loomis describes the expectations and perspectives that both software programmers and database managers have of OODBMSs. Historically, programmers who need database functions in support of their projects have had to deal with the awkward interface between languages such as C, Fortran, Smalltalk, and C++. and relational databases (RDBMSs). The problem stems from the nearly complete lack of correspondence between the set-based, non-procedural approach of an RDBMS and the strongly-typed data structures and serial nature of languages. This mismatch leads to inefficiencies and errors.
Database managers, on the other hand, have come to expect the very efficient query processing, data manipulation languages (DMLs), and tools that come from mature and popular RDBMSs. In fact, the proven success of RDBMSs have made it difficult for database managers to accept the limitations of the relational model. Loomis explains extensions database managers have made to the relational model to allow programming languages and traditional RDBMSs to co-exist. However, despite these efforts many applications simply require complex, recursive data types and semantic modeling that the relational model cannot represent without unnatural extensions.
At this point, Object Databases- The Essentials shows its strength; Loomis takes the reader through several methods that programmers and database administrators have developed to make object programming languages and OODBMSs work together. She touches on all the major issues and explains them at a medium-high level; in other words, in enough detail for the reader to appreciate the significance of the issues without becoming mired in the technical implementations. These issues range from the need for unique object identifiers (OIDs), control of objects in a distributed environment, and philosophies for handling transient versus persistent objects. Loomis then shows how to express OODBMS queries from programming languages, such 3GLs, standard and extended C++, Smalltalk, and the Object Query Language (OQL) proposed by the Object Data Management Group (ODMG-93). She explains the rationale, advantages, and disadvantages of each approach using a series of well-explained graphics and examples.
The only shortcoming evident in Object Databases- The Essentials comes from its lack of extended coding examples. However, ODBMS-specific material could quickly change the nature of the book from one on concepts and issues to a user's guide relative to a specific commercial product. This would have the adverse side effect of introducing unnecessary dependencies and orientations that, as it stands, Loomis has successfully avoided.
In conclusion, Object Databases- The Essentials starts with a very good introduction for object programmers/managers who don't know much about databases but want or need to learn. The latter part of the book answers more detailed and technical material for those who already know a little about OODBMSs. Loomis does an excellent job presenting database concepts from both the relational and object-oriented perspectives, explaining the situations where OODBMSs have advantages over RDBMSs, and then actually showing the reader how to use OODBMSs in conjunction with a object language such as Smalltalk or C++. This makes the book a well-rounded source of information and a valuable common reference for all members of a team doing development with OODBMSs.
Reviewed by Dr. Jeffrey S. Poulin, Loral Federal Systems-Owego, MS 0210, Owego, NY 13827. Please send comments to firstname.lastname@example.org.