Introduction
ServerFrames are really the heart of Mapclient: they take care of
all interaction between server and browser. Actually, they are quite
simple: just an invisible iframe, with one form consisting solely
of hidden variables. These can be set and submitted to a WebServer via the
custom
methods of the ServerFrame. A simple serverFrame would be created as:
s = new serverFrame()
s.setServerURL(url)
s.setVar(name1,value1)
...
s.submit()
A serverFrame has to use the "setTarget()" method to specify a second
serverFrame as the receiver of the results
from the WebServer. Of course this second
serverFrame will be invisible too, so the results have to be copied to
visible locations by the onReturn function of the second serverFrame.
This function is specified by the serverFrame method "setExecOnReturn()".
Windows are just collections of serverFrames plus one visible iframe
to display the results, a title bar and buttons. Win methods like
"setVar()" actually call methods of the same name from their first serverFrame.
ServerFrames may seem a very roundabout way to get something from a
WebServer into
a browser, but they have two very great advantages:
-
A WebServer will not overwrite the sending page. The sending page
remains persistent in the browser, so complete applications are
much easier to write.
- No page formatting has to be done by the WebServer. This makes
the application much faster, as the layout is done once at the start
of the applicatin, and only filled in by later Web Requests
This way, browser-server programming is much more
like conventional application programming, with computation and display
completely separated.