Caching things like the underlying queries is an option but its messy especially when you have seperation of layers i.e. the caching only exists on the web layer and not the service layer or when you build up an ibo object from disparate sources, multiple related queries ... read more ??