The Tulsa Cassandra Society Intranet Server Computer, 'CServer'


Many homes and businesses are connected to the Internet by means of a physical connection (wires), supplied by an Internet Service Provider (ISP) that attaches to a device that is called a router. This router is connected to up to 250 computers and devices through RJ-45 cables or by wireless connections. It is possible to write programs that allow one computer to access files on another computer of device. This programming is called Server Side Scripting.

Server Side Scripting is a term that denotes the use of any of a set of 'scripting' languages, e.g. Fortran, C, PERL, Active Server Pages (ASP), Java Server Pages (JSP), Servlets, etc., to satisfy the requests made by the http service on a server computer. The http service, which runs on this server, performs the task of accepting input from a client computer connected to it by a network connection. This input normally comes in the message written (usually) in the HyperText Markup Language (HTML). Once the input message is received by the http service on the server computer, the server computer carries out tasks by executing programs on the server. These server side scripting programs, for historical reasons, are called CGI programs. The http service on the server computer then returns a response to the client machines, satisfying the needs defined by the original input message.

E-commerce would not be possible, at all, without these services on the Internet.

Seeing the need for these services in an intranet (an interconnected set of client machines, usually in a single location), this document is written to describe how this is implemented without connection to any Internet Service Provider (ISP). In other words, we are proposing to install into an intranet (our set of local client machines), a single additional computer to carry out what is needed for it to function as a server computer, that is, to respond to html (http) messages, and to execute CGI programs.

Unfortunately, these is a plurality of server side scripting (CGI) languages. Some are more efficient than others. ASP normally is found on Windows based servers and JSP is found on Unix or Linux based servers. For simplicity, it might be wise to choose only one of these languages, as long as this does not compromise power and flexibility in the writing the CGI programs.

Long ago, the C programming language became the touchstone language, at least in primarily technical environments. Kernighan and Richie (K&R) C Version 2 became an ANSI standard. With the C Program Library to support us we could do essentially anything that we want to do to support CGI or Server Side Scripting needs as long as permissions for file access on the server allow it. But, they say, C is too hard to learn for its use to be considered to be practical. This, of course, is not true.

For many people, the Fortran language is the tool of choice. Fortunately, techniques have been developed to convert Fortran source code into an equivalent C source module. So, from now on, when we speak of C code, we are including Fortran without any reservation. Now, the programmer has the free choice to use whichever language suits him best.

The question was asked, "What would we have to do to execute a C Language programs on the server in order to satisfy the needs defined by the server side scripting specifications?" To properly answer this question, we must recognize that the Server software world appears to be divided into two camps:

1) UNIX/Apache/Tomcat or equivalently, Linux. Several versions of Linux are available, free.

2) Microsoft Windows. This is Microsoft's answer to "the rest of the World".

Imagine a computer named 'CServer'. This is the initial version of the Cassandra Server, with intranet capabilities. Server Side Scripting as well as http service can be provided for the use by an intranet. This document describes how this capability can be implemented.

CServer is an X86 computer running either: 1) Windows 7 Professional, [or any of the Server versions of NT], or 2) the Linux 9.0 Operating System, [which only needs to be set up to run in the text mode only; i.e., no GUI, XWindows, or any of this. However, it is not important to exclude GUI services, if they are needed for other purposes.]

CServer is a computer equipped with a single 100BaseTx Network Interface card (NIC) that communicates using the ethernet protocol via a CAT-5 cable terminated with RJ-45 connectors. This cable leads to the intranet ethernet switch. This computer is installed in addition to the (already existing) set of client machines.

The network cable from CServer is inserted into one of the standard ports of a LinkSys BEFW11S4 EtherFast Wireless Access Point + Cable/DSL Router with 4-Port Switch.

The other switch ports are connected to each of the set of client computers, each of which is running Windows 7 Professional (Win7) or Linux. These connections may be wired or wireless.

Http services are to be active to allow intranet webpage access! When a user logs in to a client computer within the intranet, we expect to be able to do the following using a suitable browser:

1) To bring up a webpage with the URL:
       http://192.168.1.52/somewebpage.htm
       http://CServer/somewebpage.htm
 
2) Use scp to send/receive html, CGI and data files to/from the directories
    on CServer to which the user has permission to access.
 
3) Execute a CGI program, written in C, returning a result page to the
    client browser. Note that the CGI programs can be installed properly
    only by root (Linux) and Administrator (Win7).

CServer is intended to be an http webpage server for all machines on the local intranet. Furthermore, Active Server Pages (ASP) and Java Server Pages (JSP) or Servlets as these are called, can be made available for use on CServer. It is natural to use ASP on Windows systems and JSP in Linux systems, but both capabilities are available on both system types through the addition of third party software.

The person who installs the software on CServer must have sufficient authority to gain access to the appropriate directories on the server and set permissions appropriately, as needed. No attempt is made here to talk about collisions with permission/protection mechanisms.

We will install all executables in a single directory (usually /usr/cgi-bin in Linux and c:\inetpub\wwwroot\cgi-bin in Win7.)

In order to prepare a computer for the uses proposed here, it is necessary to install the software to carry out all of the required tasks. The installation tasks of these two versions of the CServer computers is so different from each other that each will be described separately. Please note that in the example html code, the first "<" of an html command is shown as a "`", to keep the browser from interpreting the line as an actual html command.

To install the software and to ready the computer for use with the Linux Operating System, please refer to the document: Server Side Scripting Setup for Linux.

To install the software and to ready the computer for use in the Windows 2000 Operating System, please refer to the document: Server Side Scripting Setup for Windows 2000

To install the software and to ready the computer for use in the Windows 7 Operating System, please refer to the document: Server Side Scripting Setup for Windows 7

Also, for those who would like the services of Java 2, JSP and Servlets, details with regard to installation and use are given in the document: Setup of Java 2 Software on Windows 2000.

On the other hand, for those who would prefer a more traditional technique for accessing data files on a single server computer, there is SCIOS Entry/Edit Programs for Local Computer Use. These programs include program SCIentry. How the CGI techniques described here were applied is described in the document: SCIOS Adapted for Intranet and Internet Use.

Years ago, program SCIentry was converted into a multi-terminal version, called MRTentry.exe. This program enjoyed a long and useful life, but is now quite obsolete. Rather, a new multi-terminal (if one can call it that) version of SCIentry.exe was written to take advantage of what MRTentry.exe was designed to perform. This program is called Program CGIentry.exe. This is now the SCIOS Direct Entry Program for the Internet. CGIentry has all of the capiabilities of MRTentry, but now, since the intranet (Internet, also) access is used, there is no need whatsoever for any SCI software to reside on the client computers, or require the use of expensive buffered terminals for access. Now, even wires are unnecessary. The entire system can be wireless.

A description of some of the details and convenience features is found in the document: Collecting Data through HTML and ASP Forms