
DGI - Dos Gateway Interface
---------------------------

xChaos software anounces new chance for developers of DOS applications - DGI.
DGI can be described as component-oriented enviroment for DOS compatible
operating system. Most of Arachne extensions are implemented as DGI
components.


Why DGI ?
---------

Today, there are crowds of programers who know how to write simple 
command-line, text-mode applications in different programming
languages, including DOS shell (*.BAT), Basic, C, Turbo Pascal, etc.
But the common usage of window-oriented operating systems made it hard 
for these programmers to make their programs easy-to use for common users, 
who are expecting graphical interface.

Fortunately, there appeared new, even easier communication standard
than windows and pull-down menus - WWW pages. 
They are both easier to use and easier to create than windows
applications, and it is possible to use also much more beautiful design.
(Note: I'm speaking about windows based interfaces generaly, not about
Microsoft (TM) Windows (TM), also known as "Windoze", or "Wir95").
The application enviroment and word of explanation (help, manual) are
perfectly integrated in WWW applications, based on CGI standard (Common
Gateway Interface). CGI is thousand times more popular than Java, partly
because all browsers support CGI forms, and partly because CGI scripts are
in fact simple text-mode applications, which can be written 
in many different programming languages. 90% of simple PC applications
do not require any real-time data input from user - user is simply
asked to fill some form, for example values of A and B and desired
operator, than the form has to be "submitted" and program then prints
the output - it makes no difference if you use only plain text, or
hypertedt markup language (HTML). You can use as simple commands as
eg. PRINT "<H1>This is title</H1>" to create nice looking output.

My idea is: you don't have to run CGI's on server - you can run it in DOS!
If you want do distribute CD-ROM with default WWW browser, and if you want
to use CGI scripts instead of Java or Javascript, you should try Arachne.
New standard is called DGI (Dos Gateway Interface) instead of CGI (Common
Gateway Interface). Just copy your scripts from server to your PC and
run them ! (of course, the opposite process - developing of CGI in DOS
enviroment is also possible. DOS debugging tools are often more user friendly
than those running at Un*x command line...).

All you need is browser supporting DGI calls - for example Arachne.


What is DGI component ?
-----------------------

DGI must be DOS executable (it means even *.BAT !) able to read standard CGI
query string from command line or from file specified as program argument 
and must be able to output HTML page to stdout or to file specified as 
program argument.

DGI should work only with files and standart input/output; not with
video memory, either in text or graphics mode. That's all. But even
this offers interesting possibilities: DGI can access Arachne cache
index file. DGI can for example write outgoing mail message to 
Arachne MAIL directory (file with extension *.TBS) and then return HTML
page with message "Outgoing mail prepared" and button "Send now".
This can be used for example to encrypt content of online forms using
PGP. 

DGI is also more secure then Active X, because user must modify Arachne
configuration file to install new DGI - after scanning it for viruses,
etc.


How to add DGI to Arachne ?
---------------------------

Arachne uses configuration file MIME.CFG for configuring plugins and DGI
components. Installation of new components to Arachne is very easy, if
you learn to use Arachne Package manager - see files APM.HTM and APM.TXT
for details. APM cares about updating MIME.CFG, WWWMAN.CFG and even
ARACHNE.CFG, so you application progrmmers don't have to write their
own setup utility.

Line added in MIME.CFG can look for example like that:

file/myapp.cgi    >HTM|[200]c:\myapp\myapp.exe -q%s>%2

Syntax of MIME.CFG up to [200] symbol is not important; it is included
in the comments in MIME.CFG. The command line itself says: "Execute
c:\myapp\myapp.exe with at least 200 kb of DOS memory free, post the
CGI query string as an argument called -q and redirect output to file
with extension HTM which will be displayed after finishing program.

So the command assembled by Arachne can look for example like:

c:\myapp\myapp.exe -qSEARCHFOR=SOME+WORDS&MODE=1>TMP.HTM


How to add DGI to HTML pages ?
------------------------------

It is clear, that the same HTML pages will be used on WWW server as
well as for DGI components. So for calling DGI described in previous 
example use following <FORM> tag syntax:

<FORM ACTION="myapp.cgi">

After putting this page online, just create script "myapp.cgi" in the
same directory as the page is located and make it do the same job as
prgram myapp.exe. When accessing online pages, any browser will be
able to access this script. When accessing offline pages with Arachne,
DGI component will be executed instead.


Ok, but I am not interested in DOS - what next ?
------------------------------------------------

DGI components are in fact only the earliest version of new, revolution
technology, based on component oriented programming. xChaos software
is researching new powerful component based technology - Virtual File 
System. It will be easy, user and programmer friendly way to make 
any system or network resource available for any application. Target
platform for this technology is Linux operating system.