Fifth Annual Tcl/Tk Workshop, 1997
Using Tk as remote GUI frontend for 4GL-database applications
This is a short report about our experience using Tk as GUI frontend.
We wrote a compiler called F4GL, source compatible to the INFORMIX 4GL database language.
(4GL means 4th generation language)
This language was originally designed to create UNIX database applications
with text-terminal output.
4GL programs compiled with F4GL generate Tcl-commands as graphic output
(the text output is also still available).
These Tcl-commands are sent over TCP/IP to a presentation server which
will provide for conversation into graphic objects.
We have presentation servers for X11 and Windows.
4GL Server is the presentation server for all Windows platforms and
is implemented using Tcl/Tk.
It is an Internet-Server like lpd or rshd whose services are available
at a specific TCP port.
We found different solutions for the network connection to the remote GUI /
presentation server and had to solve various problems, which are discussed
in detail in this poster.
Writing a internet server in Tcl which evaluates Tcl-commands
is very easy, but it introduces a security hole.
The machine running 4GL Server is accessible from the internet with
That's why we implemented a special protocol to authenticate the users
of the 4GL Server .
We made some extensions, some of it appears to be useful for the
Until now we maintained our own Windows-port of Tk3.6,
because the actual Windows-Tk4.x releases from Sun still have limitations,
we will explain the reasons and show some performance bottlenecks
In the near future we want to switch to official releases because the
Tk4.xx and Tk8.xx versions offer many advantages, especially safe interpreters
and the Tcl-Plugin.
A good overview about the F4GL can be found at
this is the webpage of 4JS, our trade-partner.