Browse Prior Art Database

Deferred Parsing of Web Application Documents

IP.com Disclosure Number: IPCOM000033682D
Original Publication Date: 2004-Dec-23
Included in the Prior Art Database: 2004-Dec-23
Document File: 1 page(s) / 68K

Publishing Venue

IBM

Abstract

During development of our web application, we made use of multiple third-party libraries. Panels for our application were constructed from a number of smaller sub-panels, all combined to form a single document. The third-party libraries we used consistently parsed the entire document, regardless of what was needed to be parsed. As a result, we implemented a deferred parsing scheme, to process panel components only as needed.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 63% of the total text.

Page 1 of 1

Deferred Parsing of Web Application Documents

Our web application is an application which has a majority of its panels defined in a series of XML-based documents. A panel, as it is displayed to the user, can consist of many sub-panels from the XML-based documents. An example of this is a tabbed pane, where each tab comes from a different XML file. After careful analysis of the third-party toolkits, it was noted that the entire panel structure was parsed and populated before the panel was rendered. However, only a single portion of the panel (such as the first tab of a tabbed pane) was visible. For panels that had large resource requirements, such as tables with many rows of data, or panels made of many sub-panels, this caused noticeable and measurable performance degradation. The end user could easily notice this by observing response times between panel renderings.

Our solution to this problem was to replace the renderer of one of our toolkits with our own that used the concept of deferred parsing. As a result, panel definitions are now parsed to the point only where the initially visible components are processed. Any component that is not initially visible is not parsed, resulting in a significant performance boost. Subsequent renderings of the same document may require that different portions of the document are parsed, but again, only the appropriate (or visible) pieces are parsed.

An example of this is shown in Figure 1. The root node can be considered the '...