Browse Prior Art Database

Asynchronously populating a web client GUI without AJAX

IP.com Disclosure Number: IPCOM000205129D
Publication Date: 2011-Mar-16
Document File: 4 page(s) / 49K

Publishing Venue

The IP.com Prior Art Database

Abstract

Synchronous interface calls done in a front end application do have the disadvantage that when the GUI is opened and the call started the GUI is blocked until the interface returns the result requested. In some instances this can take several seconds. AJAX was a possibility to address this issue by allowing to continue with the request to a backend system while the other parts of the GUI are loading (= not blocked). For some web based applications however it may not always be easily possible to use AJAX. This publication describes how a poling mechanism can be implemented that allows to load data asynchronously.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 01 of 4

Asynchronously populating a web client GUI without AJAX

Synchronous interface calls done in a front end application do have the disadvantage that when the GUI is opened and the call started the GUI is blocked until the interface returns the result requested. In some instances this can take 20-30 or even more seconds. Even in case of 5 seconds this delay is not desirable. For Call Center agents talking to the customer for instance it would mean to wait e.g. 10 seconds before the call can continue. If this happens in one business process several times it will extend the overall process time and costs per call/process.

Some CRM systems and lets take the packaged solution Oracle Siebel as an instance do not offer async load mechanisms in their front end although it would be beneficial. This publication will explain how such an async mechanism can be implemented by a different approach then AJAX.

This publication describes how with the JavaScript function "setTimeout" a simple but effective async load mechanism can be implemented. This idea further assumes that the system this idea is applied against is a web based system based on a distributed component architecture including an underlying database. Distributed component architecture means that a component on the application server exists that can receive a GUI request and asynchronously process the same returning control to the GUI immediately after the request was received.

Lets now look on the details of the idea following an example implementation. For a start lets assume the following GUI:

(This page contains 00 pictures or other non-text object)

Figure 1 - Example web client GUI

1. Applet

Each applet on a web application runs through a function called "LOAD"-Event. This function is always executed when the applet is loaded. For the idea of this publication the function will check whether ASYNC-load is enabled for this applet and dependent on this dispatch an async request to the server:

function APPLET_LOAD()
{
Check whether applet is toggled to load data ASYNC

When ASYNC is toggled

1


Page 02 of 4

     generate unique identifier for request
dispatch ASYNC request to server component
setTimeout to 2 seconds after these 2 seconds call function
"LOAD

_DATA()"

Following our GUI example the above function is only implemented for the Products applets. So once this code has run through control is returned to the GUI and the agent can continue to work on the other applets. It is important to notice that the setTimeout will not open a connection to the server it will just sit in the background of the client for 2 seconds waiting to fire.

(This page contains 00 pictures or other non-text object)

Figure 2 - Web Client dispatching request to server component

2. Server component

Th...