WebKitTM

MMCIS, Inc. has produced WebKit, a set of tools that make it easy to create and administer a Web server. WebKit provides a solid foundation for creating Web applications that really take advantage of HTML forms and back end processing.

WebKit Makes It Easy

WebKit routines make it easy to build full fledged applications with a Web browser user interface. WebKit includes routines to:

WebKit is implemented using the powerful data base and application development environment Universe and UNIX utilities. Because Universe combines the power of a post relational database with an easy to use BASIC development language, all the programming and data handling needed for any Web based application is done in one environment.

How Do I Take Advantage of WebKit

WebKit is just one part of the services that MMCIS offers organizations that want to use World Wide Web technology as a strategic tool. As part of any server hosting and administration contract with MMCIS, we will license, install, and customize a WebKit environment for you. So don't wait any longer. Let MMCIS use WebKit to your advantage.

If you are familiar with Universe, you may want to see our even more technical paper on how WebKit works or see an online demo of WebKit capabilities.

What is a Web Based Application

The normal transaction on the Web is a request by a browser such as Netscape Navigator or Mosaic for a document on a Web server running httpd. The browser interprets a URL, uses the http protocol to contact the httpd software on the specified server machine, and passes httpd the path of the requested document. The httpd process translates the URL path to a real path on the server local disk, retrieves the document and sends it back as is to the browser.

CGI

The capability that opens up the Web as an interactive medium is Web server support for execution of a program in addition to requests for documents. Most Web servers support a Common Gateway Interface, or CGI, to execute programs. Here's how it works. The server administrator configures the httpd server to recognize certain pathnames as a request for program execution rather than a get document request. The two common ways this is done are to designate a special top level directory as a CGI directory so that any pathname starting with it designates a CGI request, or to specify that all filenames ending in a certain suffix (e.g., .exe) is a request for execution.

Parameters

When the httpd process interprets a request for program execution, it creates a child process to run the program, passes it information in environment variables and possibly standard in, and sends back to the browser whatever is written to standard out by the program. For UNIX based http servers, the program can be any executable, including shell scripts. On www.mmcis.com (MMCIS's primary server), the httpd server is configured to treat paths starting with /bin as requests for CGI program execution. The next token in the path is the name of the executable in that directory. Anything after that is passed as parameters to the CGI program. See what the server passes to the CGI program for the URL
http://www.mmcis.com/bin/test/more/stuff . This information is called the extra path information and is passed in the PATH_INFO environment variable.

Query arguments are usually specified by appending them with a ? to the CGI program name like this: http://www.mmcis.com/bin/test?parameter . This information is called the query string and is passed in the QUERY_STRING environment variable,

FORMS

You can use the CGI capabilities by specifying a URL that is a request for program execution, and you can pass parameters to the program using either the extra path method or the query method. A more powerful method for invoking program execution is the HTML forms capability. The HTML language contains tags which instruct the browser to display a variety of input controls. Basically, the browsers support input text boxes (single and multiple line), various kinds of buttons, and selection list boxes. To use a form, you must create an HTML document that specifies the controls you are using to collect the data you want, and the program to execute to process the data. The form must contain a special button called a submit type. To see an example of an HTML form, use the URL http://www.mmcis.com/demos/FormDemo.html and view the source.

When the user clicks on the submit button, the browser issues a request to the server to execute the specified program and it encodes the values in all the controls into an argument string. The server executes the program as we have described above, and additionally, puts the argument string into standard in for the program to read.

Processing Forms

To process a form, the application must first read in and decode the argument string. The browser creates the string as a series of name=value pairs separated by the "&" character. Button controls are passed as names with no values. All non alphameric characters are converted to & followed by their hexadecimal ASCII value, and spaces and & characters are converted to "+" and &26, respectively. Use the URL http://www.mmcis.com/demos/FormDemo.html to see an example of what gets passed to the application program from a form request.

Tthe program must extract the values entered into each control by parsing the argument string. After processing the information the program must perform whatever processing it needs to based on the form input, and then construct an HTML document that conveys the status of the forms processing.

Leave It To a Professional

Like a lot of things in life, creating and maintaining a Web application is something that almost anyone can do if they take the time to learn enough about it. The question is, why would you want to do that when MMCIS can use their knowledge and creativity to do the job for you?. One of the qualities of a successful organization is a focus on their center of competency. If writing HTML and httpd administration is not your organization's center of competency, then let MMCIS demonstrate to you that we can do the job for you, in less time, for less than you will spend in real dollars trying to do it yourself. Email us at cac@mmcis.com, leave us an action request on our Web site, or even call us at (978) 562-7833 and ask for Charlie Cornell, and we will be glad to show you how to use the Web to your advantage.

Charles Cornell (cac@mmcis.com), MMCIS, Inc.