Sunday, June 29, 2008

Interesting Book: Persistence in the Enterprise

I received a copy of "Persistence in the Enterprise - A guide to Persistence technologies" book sometime back, I was so busy the last couple of weeks, I literally had no time to even look at the table of contents. Over the weekend, I finally decided it was time to do some justice to this book. So, here is a sneak peek of my review. A detailed review will be posted as always on Javalobby as well.

This book is mainly divided into two parts:

Part 1, "A Question of Persistence", helps the reader understand the many issues and trade-offs we normally face while choosing a persistence framework. This part has 4 chapters that cover the following:
Chapter 1 - A brief history of Object-Relational Mapping. This gives a brief history lesson of some popular relational database persistence mechanisms associated with a few object-oriented languages.

Chapter 2 - High Level Requirements and Persistence. As the name itself suggests, this chapter discusses IT requirements around your persistence framework that you should consider.

Chapter 3 - Designing Persistent Object Services. This chapter introduces the reader to some fundamentals and best practices of domain modeling. Also discusses some common strategies of mapping a domain model to a database with an example-driven approach.

Chapter 4 - Evaluating your Options. This chapter takes you through some best practices for conducting an evaluation based on an objective questionnaire, which is used as a template for comparison in part 2. The questionnaire is very comprehensive, and covers the following sections:
  • Background
  • Architectural Overview
  • Programming Model
  • ORM Features Supported
  • Tuning options
  • Development Process for the Common Example
Part 2, "Comparing Apples to Apples". This part has 6 chapters, the first five cover five frameworks using the approach and questionnaire discussed in chapter 4. The five frameworks covered in the next few chapters are
  • Chapter 5 JDBC
  • Chapter 6 Apache iBatis
  • Chapter 7 Hibernate Core
  • Chapter 8 Apache OpenJPA
  • Chapter 9 pureQuery and ProjectZero
Part 2 is finished with Chapter 10 which gives a summary that compares the mechanisms side by side and goes through a few scenarios in which one or the other best applies.

Appendix - Setting Up the Common Example. This section shows you how to set up and run the example for each persistence framework discussed. It has almost 30 pages, and has every detail and screen shots to get the examples working using Apache Derby as the database, Eclipse as the IDE, and JUnit and DbUnit as the testing frameworks.

Each and every chapter has a summary section, links to developerworks, and references which are really valuable.

If you have are using a home grown persistence framework, or considering writing one, or trying to move from one which you have been using, you should read this book before you venture into either one of those scenarios.

You can find the soft copy of the questionnaire at the link below:
Download the source code here:

No comments:

Post a Comment