1. A computer program product for improving performance and resource utilization of software applications that interact with a back-end data source to retrieve information stored therein, the computer program product embodied on one or more computer-readable media and comprising: computer-readable program code means for storing one or more objects in a cache for responding to read requests against the objects, wherein (1) a set of input properties and values thereof is stored with or associated with each stored object and (2) refresh logic specifying how to refresh each of the stored objects is stored with or associated with the stored object or a group of stored objects; computer-readable program code means for specifying a refresh policy that corresponds to each stored object or to each group of stored objects; computer-readable program code means for receiving read requests against one or more of the objects; computer-readable program code means for responding to the read requests using the stored objects; computer-readable program code means for scheduling a refresh of a selected stored object by queuing the selected stored object or a reference thereto as a queued refresh request on a refresh queue; and computer-readable program code means for refreshing the selected stored object, when triggered according to the corresponding refresh policy, by executing the refresh logic stored with or associated with the queued refresh request.