Pattern description
Application objects are constructed from combining different backend data sources such as databases and web service calls. When users repeatedly access the same application object, there is increased stress on the system to regenerate the individual responses. For example, consider a popular online forums website that shows a list of topics, various posts for each topic, and then the related threads for each post. The backend data could be organized across several tables such as Forum_Topics, ListOf_Posts, Post_RelatedThreads
, and User_Response
. On each user visit, the page load needs to visualize data joined from all these tables. Initially, the website might perform well with most data in the database server memory but slowly as the users and content increase, there may be disk access that affects the overall latency. Most of the time, the access might be for such read-only objects.
When using the traditional three tier system (web, business logic, and data tier) without...