uring the past decade, I've witnessed remarkable change in the software industry's overall approach to persistence. Though measuring Plain Old Java Object (POJO) solutions in terms of market share is tough, I've noticed a recent resurgence of JDBC programming. Some developers now roll their own JDBC solutions, while others look to increasingly robust JDBC frameworks. These frameworks allow some abstraction and provide better control over SQL, which can be important for performance, and automated frameworks can support a popular design pattern called data access object (DAO).
I think this trend is in part a response to the existing persistence alternatives. In the past, persistence frameworks often burned developers for many reasons, including the following:
- EJB container-managed persistence (CMP) still has serious technical limitations.
- Object-oriented databases never accumulated enough market share to take root.
- Many persistence frameworks could not provide adequate performance.
- Some proprietary frameworks failed, leaving their customers in the lurch.
Developers have long memories, and they've frozen persistence frameworks out in terms of investment. JDBC is simply safe for them, because right now there's no dominant persistence product and no dominant persistence standard. The big freeze is still in effect, but persistence experts are beginning to see hope for a thaw and I'm seeing signs that the industry is ready to move again.
For example, an open source alternative, Hibernate, is prompting interest in transparent persistence. It's a strong solution for medium-sized and smaller applications, especially when the database schema is directly under the control of the development team. Still, many larger customers will not consider an open source alternative, especially a nonstandard one, and Hibernate does not yet have the enterprise extensions or mapping flexibility of the best Java Data Object (JDO) solutions.
As an independent consultant and instructor who specializes in persistence strategies, I've seen my customers and students begin to consider JDO again. Their justification makes sense. Without a dominant proprietary solution, and with EJB in disarray, many are looking to the next best standard. It's an incredibly important point in history for JDO. In this article, I explain how the industry has gotten to this pivotal point and offer my guidelines for the future success of JDO as a persistence solution.