RADpage is based on the heitml language and the heitml middleware. All dynamic pages created with RADpage are executed by the heitml middleware.
Server Based Operation
Precompiler and Interpreter
heitml pages are precompiled into intermediate code prior to execution to enable very high execution speed.
heitml uses a directly memory-map able word based intermediate code (instead of a byte code). This reduces loading time and enables many tasks to share the same program memory (which is very important for the apache server).
Precompilation happens mostly transparently to the user. In case a page needs preprocessing upon request heitml automatically precompiles the page and asks the browser to request the page again. Intermediate code is then stored in .hic and .hii files in a separate directory. Any subsequent request mmaps the .hic file and directly executes it. No parsing is required.
The heitml precompiler was programmed using high-speed scanner and parser generators. These high-speed techniques guarantee for almost unnoticeable turn-around times when developing heitml applications (which naturally requires pages to be preprocessed very often).
Although heitml can use the slow CGI interface for compatibility purposes, most Users will prefer using the version that directly integrates with the Web Server.
On Windows NT, heitml uses the fast ISAPI interface. This means heitml is directly linked to Microsoft's Internet Information Server. It operates in a re-entrant, multi-threaded fashion, and can process several requests in parallel. On UNIX, heitml can be linked directly to Apache, the most popular Web Server software available for this Operating System. If you like, you can read more about heitml and Apache here.
heitml is capable of remembering the values of variables from one page to another. This makes it easy to keep track of anything a User requests while he is logged onto your Site. So-called Session Variables such as these can have any size. This means that large data structures such as Query Results and the contents of Shopping Carts in Catalog Shopping Applications are easy to keep track of. Using a special garbage collection scheme, heitml determines (independent of User interaction) what data the next page needs. The maximum number of Users and the expiration time of a Session are limited only by available disk space.
There are various reasons why User Requests from Web Pages can lead to errors (e.g. a network failure or a program bug) and there is no way to avoid every possible error. With improper Transaction Processing methods, processes are aborted unfinished, which can often leave both the Database and the Session Variables in an inconsistent state. Naturally, this can have disastrous effects. Effective and efficient Transaction Processing requires that a transaction be done completely or not at all. When connected to a proper Database System, heitml handles all transaction processing automatically and preserves the integrity of the Database and Session Variables by saving them to disk. This means that a task can be restarted at the point where an error occurred; with full confidence that nothing was lost in the interim.
© 1996-2017 H.E.I. All Rights Reserved.