ISPG OverviewInstant Server Pages is a server side scripting technology based on separating web development from web design, by using two cooperating scripting languages, with a clear interface between them. The development phase concentrates on the computations that need to be performed on the input parameters associated with HTTP requests for a .ispg web page. The results are stored in a set of global variables associated with the web page. The script performing page computations is stored in a file with extension .icod and must be compiled before being used on the web server. The scripting language is very simple, with web oriented features. It can access extension modules written in C or C++, for specialized computations, and it uses external resource connectors, also written in C or C++, to access relational databases, email servers or other web servers or services. The design phase concentrates on formatting the web page and the results contained in the variables computed in the preceding phase. The HTML code for the web page and the formatting commands are stored in a file with extension .ispg, and must be compiled before being used, together with the associated .icod file. It will represent the HTTP response sent to the client browser. There are two kind of formatting commands:
Data models with sample data can be used as input to the second phase, to let the teams of developers an designers work independently. Both .icod and .ispg are compiled to specific forms of Pcode, that will be executed at run time by two specialized virtual machines. The scripting language for the request processing phase is designed to provide eazy interfacing with input parameters, external modules, resource connectors, and the formatting phase, and is not intended to be a general programming language. It covers most usual processing requirements, but, for any large or complex specialized computations, using C or C++ external modules will maximize performance. Caching of data obtained through resource connectors can be finely tuned and have a great influence on overall performance. Web applications based on ISPG are easily customizable, either by changing a set of environment variables, defined in a configuration file, or by storing pre-built pages in a special directory, and providing overiding .icod and/or .ispg files for some of the pages. Many similar web applications, such as turn-key e-commerce solutions, hosted on the same server can be configured to share a directory with common code, and provide specialized versions when needed, allowing server resources to be better used and web sites being more responsive. |
|