Request Cache for Web Application Performance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional approaches to handling message processing in web applications, such as those using Java Server Faces (JSF), are inefficient due to repeated fetching of dynamic context information from external sources at various processing stages, leading to reduced performance.
Innovation Solution
Implementing a caching mechanism that uses a JSF phase listener and a JavaBean proxy to intercept and cache dynamic context information, allowing it to be reused across processing stages, thereby reducing the need for multiple external requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If dynamic context information is fetched from external sources at each processing stage, then each stage can access up-to-date context data, but the request-processing speed deteriorates due to repeated external requests
Solution Approach 1:
The patent applies preliminary action by fetching and caching dynamic context information at the beginning of request processing (during the restore-view stage) before subsequent stages need it. The cached context is then reused across apply-values, validate, update, logic-invocation, and rendering stages, eliminating repeated external requests while ensuring each stage accesses the same context data without performance penalty
Solution Approach 2:
The patent implements local quality by creating a localized cache within the server container that stores context information specifically for the current request lifecycle. This local cache provides fast access to context data for all processing stages without requiring external requests, while maintaining data consistency throughout the request processing pipeline
2Productivity
If context information is cached for reuse across processing stages, then request-processing speed improves, but the system complexity increases due to cache management overhead
Solution Approach 1:
The patent applies universality by designing a phase listener that serves multiple functions: it detects context fetches, retrieves dynamic context from external sources, caches the context information, and provides it to subsequent processing stages. This single multi-functional component handles the entire cache management lifecycle without requiring separate mechanisms for each task, thereby improving performance while minimizing added complexity
Solution Approach 2:
The patent implements self-service by enabling the phase listener to automatically manage the context cache throughout the request lifecycle. The listener autonomously detects when context is needed, fetches it from external sources, stores it in the cache, and makes it available to subsequent stages without requiring manual intervention or complex external cache management infrastructure
Data Source
AI summary
A system and method for enhancing web application performance by selectively caching information used by different stages of server-side processing of a request for webpage content from a client system. An example method involves using a specialized cache requestor for selectively fetching and caching JavaBean properties once per request lifecycle. The cached JavaBeans properties may then be used by different request-processing stages of the lifecycle, thereby obviating the need to implement multiple external requests for JavaBeans properties, i.e., multiple accesses of dynamic context. The cache requestor may leverage functionality provided by a JSF phase listener (JSF phaseListener) and a JavaBean proxy (BeanProxy) to keep the retrieved state information accessible to the request processing and associated JSF container.


