Java Data Objects (JDO)

Benefits of PE:J's JDO Implementation

Gopalan Suresh Raj


PE:J creates a Persistence Infrastructure for you
PE:J delivers significant time savings to the development schedule by eliminating the need for complex custom-written persistence infrastructure. PE:J provides a standards-compliant persistence infrastructure that targets a particular data store. Developers are freed from having to develop proprietary persistence infrastructures. Estimates range from my conservative 50% to some more ambitious 80% in terms of savings in the development of serious applications with PE:J's JDO, as opposed to other common techniques (JDBC, Entity Beans BMP/CMP).
PE:J provides Transparent Persistence
PE:J makes writing application classes straightforward. PE:Jís extensive support for transparent persistence greatly reduces the number of persistence-specific method invocations that application classes must employ. PE:Jís simplified implementation greatly speeds up development of applications needing object persistence.
PE:J provides a Flexible Object Model Design
PE:J facilitates the development of flexible object models. Java architects and designers no longer have their designs constrained by the fact that developers must write an infrastructure to persist the domain object model. Domain object models can now be designed to best represent the business domain, utilizing best practice and current design thinking: Peter Coad's four archetypes and the domain neutral component, object inheritance (different from class inheritance) and other patterns, strategies, and approaches.
PE:J's implementation of JDO provides Simplicity and Elegance Compared to Entity Beans
PE:J's JDO implementation strengths help overcome the perceived weaknesses in the Entity Bean model for persistent data. Specifically, Entity Beans are shunned because of their complexity (3 or 4 interfaces/classes per bean), lack of true polymorphism and lack of dynamic query capabilities. Container Managed Relationships (CMR), was intended to fix some issues, but unfortunately adds further complexity to the Entity Bean architecture. Application Servers supporting CMR are likely to be extremely expensive in the first instance. These problems leave developers wishing there was a better way. They should try PE:J's JDO implementation.
PE:J provides Independence from Specific Data Storage Paradigm
PE:J hides underlying data storage technology behind a standardized set of object persistence interfaces and persistent object lifecycles. This makes the application independent of the underlying data storage paradigm (Object, Relational, binary files, etc).
PE:J's JDO implementation provides Applicability to all Application Architectures
PE:J's JDO implementation provides a consistent object persistence technology, applicable to all Java application architectures: Client-Server, Web, 3-tier with RMI and n-tier with J2EE. Lightweight client-server and in process database support is also available. PE:J's JDO implementation also provides for J2ME environments.
PE:J allows you to Avoid SQL Lock-In
PE:J's JDO implementation eliminates your dependence on a particular relational database product. PE:Jís standardized middle layer insulates the application from the underlying SQL implementation. You can use PE:J to avoid being locked into a single SQL dialect and therefore a single Relational database vendor. This increases the portability of your application, even if your application will only be run on relational data stores.
PE:J provides Object Caching for Performance
PE:J provides a caching lifecycle for persistence-capable instances. This reduces memory requirements and increases the performance of your applications. Developers who use JDBC typically do not implement caching architectures, and are thus likely to have a far higher number of persistent objects in memory at any one time.
The PE:J JDO Enhancer provides Source-Code Enhancement as opposed to Byte-Code Enhancement
A lot of people have expressed severe objections to byte code enhancement. They don't like things being done to their code which they can't see in the source. However, the JDO specification itself does not prescribe how the modifications are to be made, only the contract that is to be supported. Mature implementations like hywy's Productivity Environment for JavaTM (PE:JTM)  that provide Source-Code Enhancement however, address these concerns effectively.


To download the Fully-Functional, Non-Time Limited, 7 Class Limited Developer Edition (Preview Release), visit:


click here to go to
My PE:J HomePage...

click here to go to
My JDO HomePage...

click here to go to
My Advanced Java Tutorial Page...

Go to the Component Engineering Cornucopia page

This site, developed and maintained by Gopalan Suresh Raj

Last Updated : May 10, '02

If you have any questions, comments, or problems regarding this site, please write to me I would love to hear from you.

Copyright (c) 1997-2002, Gopalan Suresh Raj - All rights reserved. Terms of use.

All products and companies mentioned at this site are trademarks of their respective owners.