Vivek Rajan wrote:
Thanks everyone. Appreciate your help. I am most proficient with PERL and
was hoping to use PERL. PHP looks interesting.
John- How do you generate AJAX style dynamic HTML? Can you provide more
info?
Sure. I wrote a compiler and a virtual machine for a simple language
which incorporates basic control structures including procedure calls
plus an interface to Sqlite such that it binds a callback which can be a
procedure in HTML or Javascript or both to a row so that the callback
fires each time a row is delivered. The VM places the row data into
local storagei each time the DBMS delivers it a row.
A very common usage of a callback procedure is to form a row in a table.
A special HTML tag is defined to make the embedded instructions look
like HTML. The compiler strips out these tags and creates a byte code
executable format which makes the generation of output pages efficient.
The HTML/Javascript pages is compiled into a byte code format and upon
execution its variables are dereferenced from the local data store and
embedded in the generated HTML page.
There is also an RPC capability linked to the XMLHttpRequest Javascript
object. A request from the web page in the browser sends data in JSON
format and that loads Javascript variables which can be displayed. That
implements AJAX by allowing a web page to behave dynamcially without the
need to refresh. The RPC processor can alternatively deliver its data
in XML.
The RPC capability is designed to make the interaction between the web
page and the server as transparent and simple as possible. These is a
repository of RPCs and these are accessed by name.
RPC calls can also INSERT and UPDATE rows in the DB.
The application server holds each instance of an Sqlite database open
exclusively and serves all the threads using it from the one instance.
Each user connection is a thread in the application server. The DB can
be on a different machine without problems because it is accessed
exclusively and no locking glitches get in the way of secure processing.
Synchronization is supplied by rwlocks on the threads.
A graphics processor is built in to allow charts as an alternative to
tables and the generated images are embedded in the generated pages.
Finally the design of the server is based on the principle that business
rules etc will be defined as database functions, not embedded in the
workflow level which generates and supports web pages.
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------