> abstract the data call and its source Not a Struts question, but an easy answer, so here you go:
http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html "Use a Data Access Object (DAO) to abstract and encapsulate all access to the data source. The DAO manages the connection with the data source to obtain and store data."