Web Server Interface
In order to run your Web application, you must also be running a Hypertext Transfer Protocol (HTTP) server that can run server programs in response to client requests. The HTTP server relays requests to the VA Smalltalk application through a Web server application interface. There are several interfaces through which Web servers can access a Web Connection application (for more information about these interfaces, see Setting up the Web Connection server interface):
Servlet Interface
Common Gateway Interface (CGI)
Microsoft Internet Server API (ISAPI)
Server Smalltalk
You can also use Server Smalltalk with Web Connection. In this case Server Smalltalk acts as a server. The response time is much faster using Server Smalltalk than using one of the Web server interfaces.
The Servlet interface offers several advantages over the other Web Server interfaces:
Better performance than CGI. The router servlet supplied with Web Connection is loaded once and reused on subsequent invocations. Conversely, the CGI executable is reloaded upon each invocation and must reread the WSI configuration file.
Cookie support. Support for HTTP cookies is provided using the servlet interface only. Other supplied web server interfaces do not provide support for cookies.
Portability. Since the router servlet is written in Java, it can be used with any web server that supports servlets on any platform.
Simple configuration. Configuring the servlet interface is very straightforward compared to the other supplied web server interfaces.
The Web Connection feature provides a Web Server Interface (WSI) module for each of the supported interfaces. For CGI, the interface is through a stand-alone executable program; for the others, it is through a dynamically loaded shared library. The interface module handles all interaction with the VA Smalltalk application, which stays up and running all the time. This arrangement provides several advantages:
It optimizes performance. Without a separate interface module, the Web server would have to start the VA Smalltalk application with each request. This would result in unacceptable performance, because of the overhead involved in loading a Smalltalk image.
It makes it possible to preserve state information within the VA Smalltalk application. Because the application stays running all the time, it can store information between one client request and the next.
It makes it simple to change Web server application interfaces (for example, you might decide to switch your server to use ISAPI instead of CGI to access the VA Smalltalk application). Changing the Web Server Interface module does not require any change to the VA Smalltalk application itself.
On your Web server, you must set up the appropriate interface module so that it is accessible to your HTTP server software. Web clients can then access your VA Smalltalk application by submitting requests to the Web server, which then calls the appropriate interface module. The interface module then relays the client request to the VA Smalltalk application.
The VA Smalltalk application receives these requests, and returns the results, by way of the WSI server, a process running within the VA Smalltalk image.
Last modified date: 01/29/2015