i've read both of rod's books and have a question about caching strategies. in rod's first book (with ejbs) he developed a sample ticketing application that (from memory) used a very basic cache to access pricing & availability information (for performances @ the venue). this cache was maintained in the business layer. in the second book (without ejbs) the concept of caching at the data access layer was discussed using products such as hibernate and ehcache etc. this seems very attractive but gives rise to my question.
my question is where does caching 'logic' belong? should it always be in the data access layer or are there times when it is permissable to use caching 'logic' in the business layer (as in rod's first book).
what form of caching strategy would work best for the sample ticketing application (in 'with ejb's)?
ur feedback would be most enlightning - implementing caching in an application is very new to me.