Power ECMAScripting


    Introduction      Intended readership      The market      Evolution      Components      Basic tools      Scripting       Demos       Library      Economic performance models      Author

Power ECMAScripting - Components

The components of client side scripting are well known as ECMAScript or JavaScript contained in HTML pages with or without Casacading Style Sheets (CSS). There are many web resources and books covering this conventional but advancing field. Server side ECMAScripting is the next major frontier for JavaScript. It offers by far the greatest gains in application performance and yet it is also the least well known. There is very little information on the web, or even in documents and published books covering the server side components. Therefore in the mix of server side, core and client side ECMAScript, more emphasis will be given to server side scripting.The diagram on the right shows the main configuration of the components of server side Power ECMAScripting. The description and function of each component is provided in the table below. In summary, ECMAScript server side extension scripts process inputs and data (including reading and writing to files and databases on the server side) following the logic sequence of the program modules in each script. These scripts can be manipulated by the user through controls and inputs in a web dialogue in a browser. The server side script can:
  • read files or extract data from a database located on the server hard drive
  • create appropriate web forms
  • Transfer web form data inputs to files or databases on the server hard drive
  • Manipulate data through logical, mathematical, statistical, financial & operations research algorithms, analysing results and writing these to:


    • disk (file or database)
    • a web form
    • a report such as text, graph or map
    • to other locations in response to Web Services or as an SQL queries
The server side processing will occasionally post HTML pages (generated by the server side ECMAScript) and these are dowloaded and interpreted by a browser as in the case of normal web pages. The browser inteprets this code and renders its content as a web page in the computer monitor.

Symbolic image
Component description
Significant objects
Server:  The server is the main processing component as opposed to the browser. The server requires a server software to interpret scripts written in server side ECMAScript extensions and core ECMAScript. These scripts respond to user inputs via the user interface in a browser on the client side. For example carrying out a range of tasks such as the creation of integrated page content by combining Prime content with Envelopes (see below). Server software can also be used to configure operations, access control and be configured to operate in powerful grids for highly complex processing.


The Vanguard System
IDE


  +  
Prime content:  Prime content is the main web content generated by server side ECMAScripts such as forms for input or the presentation of the results of a specific data process. In all cases the "page" in the browser is a dialogue accompanied by appropriate controls to manipulate the application. This can include server-generated forms, inputs for text, numbers, barcodes & digital signals, instructions, multiple choice options and controls including: check boxes, radio buttons, drop down menus, lists, validation checks, time-based output, reports, text, numbers, tabulations, graphs, scripts providing control of motion objects such as video and movies, sounds objects such as microphones, speakers, musicm and voice communication).




Envelope:  The envelope is an HTML page that contains the institutional or corporate web site "look & feel" with a standard surround to the prime content. The envelope is usually preprepared as an HTML page with the appropriate form tags enabling the insertion of prime content. On the other hand envelopes can be generated by the ECMAScripts according to process logic. There can also be an array of prepared envelopes and the program can select the appropriate one according to the embedded logic. Since the envelope makes up part of the "content" it can also carry client side ECMAScript which can be generated by the program or be hand coded in the prepared envelopes.




Integrated content:  The integrated content is the web page presented to a browser and which combines the prime content with the envelope. Integrated content is a standard HTML form dialogue but the majority of the "active content" is in the server side scripts rather than in client side scripts. Server side scripts run up to 50-100 times faster than browser client side scripts depending upon the complexity of the process. The allocation of much of the content layout, format & style to server side script content can have a significant impact on the need for external ECMAScript files (*.js) and Style sheets (CSS). This can help speed up the browser's rendering of the HTML pages while increasing user access to a quantum leap in the power of range of active content.




Browser:  There are now several browsers on the market and all remain compatible with server side generated integrated content. In those cases where browsers have "JavaScript switched off" the server side configuration and posting of HTML pages will still work as required because the active content is controlled via standard HTML form controls and a response to these controls is manipulated by server side ECMAScript extensions that remain invisible to the browser. The "Javascipt switched off" status only affects client side JavaScript and server side ECMAScripting does not need client side JavaScript to secure the same user experience. The browser only sees what the server side script wants it to see.



User dialogue:  The user dialogue is the resulting visible interface the user sees in a browser. It is created through browser interpretation of HTML code and client side ECMAScript and perhaps local auxiliary files containing JavaScript (*.js) or Cascading Style Sheet information (CSS). The use of server side coding can reduce the total demand for auxiliary files and thereby help speed up systems response times. In addition the user can access server-side applications with a low powered PC or notepads (thin client). As a result extremely powerful data intensive applications can be managed effectively by transferring active response and processing to server side scripts.



The Decision Analysis Initiative 2010-2015
George Boole Foundation