The Design of a Robust Persistence Framework for Relational Databases

Scott W. Ambler + Associates
     Home  |  Articles  |  Books  |  IT Surveys  |  Podcasts  |  Contact Us  |  Announcements  |  Site Map
Agile Database Techniques This paper presents the design for a robust persistence layer for using relational databases with object-oriented applications. This design reflects my several years of experience building and using persistence layers in several languages.  Issues that are addressed in this paper:
  • Kinds of persistence layers
  • The class-type architecture
  • Requirements for a persistence layer
  • The design of a persistence layer
  • Implementing the persistence layer
  • Buy vs. build
  • Doing a data load
  • EJB and persistence
  • Supporting the persistence layer


Download: persistenceLayer.pdf (~190k).

There is also a Chinese translation that you can download. New!

You may find Encapsulating Database Access to be of interest as well. New!

Dowload Acrobat Reader

I hope that you find this white paper useful and I also hope that you help me to improve it by providing me with feedback. What is your organization doing, or hoping to do? If you disagree with anything that I've said, think about it first because I don't like getting flamed, but then email me with your opinions because I want to hear them. If something isn't well explained or you don't quite understand it, let me know.

Related Links:

My Other Persistence Writings:

Agile Data Home Page New!

Open Source Persistence Layers/Products (sort of) based on This Paper:

Other OSS Persistence Products:


Other Persistence Products:

Persistence-Related Links and Papers:

Disciplined Agile Delivery: The Foundation for Scaling Agile Agile Modeling: Practices for Scaling Agile Agile Data: Practices for Scaling Agile EnterpriseUP: Agility at Scale AgileUP: Towards Disciplined Agile DeliveryAmbysoft Inc. Software Development Practices Advisor Scott Ambler + Associates Follow @scottwambler on Twitter!

Copyright 1997-2014 Scott W. Ambler

This site owned by Ambysoft Inc.