Web Application State Preservation via Portlet Monitoring
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Web applications face challenges in saving and restoring their state without modifying the application, particularly when users navigate across pages within a portal or portlet, as existing solutions fail to effectively preserve user input across different pages and sessions.
Innovation Solution
A system and method that involves receiving an indication from portlets to monitor their state, detecting the type of storage mechanism supported by the client interface, saving user input content into memory using that mechanism, and restoring the page state upon reload, allowing seamless navigation across pages without modifying the web application.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If a web application uses traditional server-side session management, then the application structure remains simple, but user input is lost when navigating across pages or portlets
Solution Approach 1:
The patent segments the state management functionality into independent portlet-level units. Each portlet can independently monitor and save its own state using the HTML5 storage mechanism, rather than requiring a centralized server-side session management system. This segmentation allows state preservation without complex application-wide modifications.
Solution Approach 2:
The patent introduces an intermediary layer between the user interface and the server-side application logic. This intermediary uses the HTML5 storage mechanism (localStorage or sessionStorage) to capture and preserve user input state, acting as a mediator that prevents data loss during navigation without requiring changes to the core web application structure.
2Loss of information
If the web application implements state saving on every page load, then user input is preserved, but system performance deteriorates due to excessive storage operations
Solution Approach 1:
Instead of continuously monitoring and saving state on every page load, the patent implements periodic action by triggering state saving only on specific events such as portlet rendering completion or user interaction. This event-driven approach preserves state information while minimizing the frequency of storage operations, thereby maintaining system performance.
Solution Approach 2:
The patent performs preliminary detection of the HTML5 storage mechanism availability before implementing state saving. By checking storage support in advance and preparing the storage structure beforehand, the system avoids repeated detection and setup operations during page loads, thus improving performance while ensuring state preservation capability.
3Loss of information
If the web application uses HTML5 storage mechanism, then state can be preserved across navigations, but compatibility is reduced with older client interfaces
Solution Approach 1:
The patent dynamically changes the storage parameter by detecting the availability of HTML5 storage mechanisms and adapting the storage approach accordingly. When HTML5 localStorage or sessionStorage is available, it uses these modern storage options; when unavailable, it falls back to traditional cookie-based or server-side session storage, thus maintaining compatibility across different client interfaces while preserving state where possible.
Solution Approach 2:
The patent implements a universal state management solution that can operate with multiple storage backends. The system is designed to work with HTML5 storage mechanisms when available, but seamlessly transitions to traditional storage methods when needed, making it universally compatible across modern and legacy client interfaces without sacrificing state preservation capability.
Data Source
AI summary
Embodiments of the present disclosure provide a system, method and computer program product for saving and restoring a state of a web application. According to one embodiment, the method comprises receiving an indication from at least one portlet of the web application for monitoring the state of the portlet, A type of storage mechanism supported by a client interface used for accessing the web application may be detected. An event indicating an input of a content in a form of a page of the portlet may be detected. The content received as input may be saved into a memory using the detected type of storage mechanism. The state of the page may be restored on reload using the content stored into the memory.


