Updates
Latest Tweet
What's New?
Check out for latest innovation, a computer based training video collection
Like this Page
Java Data Objects Review by Barry Feigenbaum
Review of Java Data Objects by Robin Roos
This book is an introduction to the Java Data Object (JDO) technology. It is oriented towards potential users (managers, architects and developers) of a JDO implementation. Some mention is made of JDO implementation details but not nearly enough to guide someone that wants to provide a JDO implementation.
While providing similar information this book is far more readable than the JDO specification. It covers the following subjects:
· Object Persistence background
· A simple example to set content
· An overview of JDO
· The lifecycle model of JDO objects
· The primary classes and interfaces a JOO programmer uses
· JDO Transaction Management
· How to do JDOQL queries
· How to process JDO exceptions
· How to create JDO Persistence Descriptors )(in XML)
· How to use JDO from a managed (i.e., J2EE) environmentThe book concludes with comparisons between and descriptions of several commercial JDO implementations and speculates on future enhancements to the JDO specification.
The book also has several appendixes covering some helper classes supplied with the book, the JDO Descriptor XML DTD, some reference information, a bibliography, a glossary of terms and an index of terms. Also included is a CD-ROM with trial versions of several JDO implementations.
Overall the quality of the book is high. It flows well and is readable. There are a few places where a word or two is missing from the sentences. A few of the examples have minor flaws.
The book is tutorial in form. It provides a running set of examples based on a data model for managing business partner relationships. The book has numerous figures to help illustrate its points including extensive use of UML class and state transitions diagrams and code snippets. It provides a fair amount of reference material, but when doing JDO coding it is likely you will still need to refer to the JDO JavaDoc.
As the book describes, JDO is a persistence mechanism for Java objects. It is intended to provide transparent persistence (i.e., no need to specially design you classes to be persistent). JDO relieves the programmer from worrying about many of the fine details needed to create a working object persistence system. It typically uses an Aspect-Oriented Programming like solution where persistent features are added (i.e., via enhancement) to a class by a post-processor that modifies the .class file. JDO is quite abstract in nature and is data store agnostic, in that it can be implemented on object, relational, document, file or other types of data stores. JDO is often considered as an alternative to using Entity EJBs or as one possible implementation of Entity EJBs using CMP or BMP.
One area of particular interest to me not covered in the book is how to map JDO onto existing legacy databases (or control the mapping to any target data store). Perhaps this information is provided by the individual JDO implementation vendors.
While not a comment on the book, it appears JDO itself has some functional and performance issues that are yet to be addressed. If you are considering using JDO, I suggest you understand these limitations before you make your decision to use JDO.