The Web Designer stack |
A USoft web application is made up of the following layers of technology: The publication process of the WebDesigner creates two files for each page (each top-level page class specified in Web Designer). The first file is an XML file that is used by the PageEngine, a thin .COM component called USoftComJava which is responsible for connecting the web server (Internet Information Service, IIS) to the USoft Rules Service. The Rules Service, in turn, exposes to web clients the USoft Rules Engine and the application data it manages and which are stored in the RDBMS. The XML file contains only data source definitions. The second file is a JSON file that contains data source definitions but also the page definitions needed to render the page on a client screen. JSON is short for JavaScript Object Notation). As the name indicates, JSON offers descriptions of objects and their properties as they are used by JavaScript code. At runtime, whenever a client connects to the web application, a thin layer of generic code (JavaScript stubs and CSS settings) are sent by the web server along with the initial document, a single HTML file called "application.html". Apart from the bootstrap HTML contained by this file, the web server does not supply HTML code; instead, the client browser produces all the required page-specific HTML code by executing layers of JavaScript and combining the output with CSS settings. Whenever the client requests a new page, the web server supplies the XML file and the JSON file for that page. These descriptions can be interpreted by the client browser without further conversion. This allows developers to execute and debug scripts painted on the page with ease, because this type of processing is done completely within the client browser and browser debug facilities such as breakpoints expose the application behavior. Page JSON is cached on the client. On a second navigation to the same page, the definition is extracted from the cache and re-used. This reduces the network load and improves the performance.
See Also |