http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html