Servlet Dynamic Feedback via Embedded Script

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional Servlets lack the ability to request missing information from a client's web-browser during processing, limiting their flexibility and interactivity, as they can only handle requests with all necessary information provided initially, and cannot suspend or resume processing without user confusion.

Innovation Solution

Implementing a two-way communication mechanism where the Servlet generates a script to retrieve missing information using HTTP-response functionality, allowing a secondary Servlet to handle the request and store the information in the HTTP-session, enabling the main Servlet to continue processing once the missing data is available.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional Servlets process requests with all information provided initially, then the communication protocol remains simple and stable, but the Servlet cannot request missing information during processing, limiting flexibility and interactivity

Engineering Contradiction:
Improveflexibility and interactivity of ServletVSAvoidcommunication mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The Servlet can now receive feedback from the client about missing information by embedding JavaScript code in the HTTP response that actively queries the client's browser for additional data. This creates a feedback loop where the server requests information, the client provides it through executed JavaScript, and the server processes it, enabling dynamic request for missing parameters during request processing.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

JavaScript code acts as an intermediary between the Servlet and the client's browser. The embedded JavaScript serves as a mediator that translates server-side information requests into client-side actions, capturing user input or browser state and transmitting it back to the server without requiring protocol changes or client modifications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If Servlet suspends processing to ask client for missing information, then the Servlet can obtain necessary data, but the user experience may be interrupted and confused

Engineering Contradiction:
Improvemissing information retrievalVSAvoiduser experience continuity
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The Servlet performs preliminary actions by embedding JavaScript code in the HTTP response before suspending processing. This JavaScript is executed by the client's browser in advance, gathering the missing information locally. When the server resumes processing, the information is already available, eliminating the need for interrupting the user with separate request pages and maintaining seamless user experience.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The embedding of JavaScript in the HTTP response allows the information-gathering action to continue seamlessly on the client side while the server suspends processing. The user experience remains continuous as the JavaScript executes in the browser without interruption, and when the server resumes, the data is already captured, maintaining the flow of useful action without user confusion.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If all necessary parameters are contained in the initial request, then the request processing is straightforward, but the Servlet cannot handle unexpected situations requiring additional information

Engineering Contradiction:
Improverequest processing completenessVSAvoidhandling unexpected situations
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system transitions from a static request model where all parameters must be predefined to a dynamic model where the Servlet can adaptively request additional information during processing. The embedded JavaScript enables the Servlet to dynamically determine what information is needed based on the specific situation, making the system more reliable for handling unexpected scenarios while maintaining versatility.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP1922655B1Method and system for improving client-servlet communication
Publication Date: 2009.03.25 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP1922655B1 patent drawingFigure 1
  • EP1922655B1 patent drawingFigure 2A
  • EP1922655B1 patent drawingFigure 2B

AI summary

The present invention provides a method and system for improving the client-Servlet communication in the World-Wide- Web (Web) without changing the existing communication protocol, and without changing the client. The existing prior art one-way communication path between client and Servlet remains unchanged if the initial request includes all information for retrieving the desired information. However in the case the Servlet identifies missing information not included in the initial client's web-browser request for retrieving the information desired, the Servlet automatically opens an another communication path for providing the missing information to the Servlet by making use of the HTTP-response functionality of said initial HTTP-request, wherein the another communication path is supported by a further Servlet functionality component and is characterized by the steps of : generating a script - when executed at the client's web- browser retrieves the missing information and invokes the further Servlet functionality component - by the Servlet, appending the script to said HTTP-response indicating it as a partial response, sending the HTTP-response including the script to the client's web-browser, suspending execution of the initial HTTP-response by the Servlet until the missing information will be available, receiving the missing information by the further Servlet functionality component, wherein the missing information is contained in a new HTTP- request created by the script during its execution on the client's web-browser, providing the missing information to the Servlet, and continuing execution of the initial HTTP-response by the Servlet using the missing information for retrieving the rest of the said HTTP-response and providing the rest of the HTTP-response to the client's web-browser for displaying.