AOLserver Features

$Header: /cvsroot/aolserver/aolserver.com/docs/intro/features.html,v 1.1 2002/03/07 19:15:35 kriston Exp $

What is AOLserver?

AOLserver is a World Wide Web server that provides access control and database connections and runs on multiple UNIX platforms. AOLserver can access SQL databases including Sybase, SOLID, Postgres, and some third-party database drivers.

AOLserver is extendable with both C and Tcl APIs that expose core functions and provide primitives for accessing the database. AOLserver also provides optional CGI support, although the C and Tcl APIs are more powerful, offer superior performance, and are easier to use.

You can configure multiple servers within one AOLserver configuration file, and then specify which server to run when you run AOLserver. AOLserver also uses a multi-threaded design on all supported platforms. You can configure the number of threads each server can use.

AOLserver offers direct connections to SQL databases such as SOLID and Postgres , plus an external database connection to Sybase. Third-party database drivers are provided for Oracle, Informix, and Interbase. You can even configure AOLserver to have connections to multiple databases and specify which databases are available to each server.

AOLserver also includes server administration capabilities. An access control system allows you to specify separate permissions for each combination of URL and HTTP method (GET, PUT, or POST). You can also specify users and groups who are allowed access to AOLserver.

Features

AOLserver Administration Features

Access Control:

AOLserver's access control system allows you to define users, assign users to groups, and set permissions for users, groups, and hosts.

When defining permissions for the AOLserver, you can specify lists of users to allow or disallow, lists of groups to allow or disallow, and hosts (specified either by host name or IP address) to allow or disallow for each method/URL combination..

Multi-homing:

AOLserver allows you to run multiple servers on one host by attaching them to different port and/or IP address combinations.

See the "Configuration for Multiple IP Addresses" section for information on configuring AOLserver for multi-homing.

Database Services Features

AOLserver manages pools of open connections to databases. These pools let AOLserver quickly service simultaneous database requests (without continuously opening and closing the database), and to prevent a large number of HTTP requests from overloading the system. Both the Tcl and C APIs provide access to these database pools.

Programming Interface Features

Tcl Interface:

AOLserver can be extended using the Tcl scripting language. AOLserver provides a powerful Tcl API containing a full array of functions and primitives that give you access to all of AOLserver's core functionality and SQL databases. Tcl functions are available to interact with the connection, implement scheduled procedures, maintain state, access the sockets and threads interfaces, roll access logs, maintain permissions, access the database, and much more.

You can create scripts in a private Tcl library for each server, or in a library shared by multiple servers. Since Tcl is embedded in AOLserver, a separate process is not required to run a Tcl script, making Tcl extensions much more efficient than CGI-based extensions.

AOLserver Dynamic Pages (ADPs)

ADPs allow you to embed Tcl scripts directly into HTML pages. The script(s) are interpreted dynamically when the page is accessed.

C Interface:

AOLserver can also be extended with the C API. The C API lets you write your own logging routines, access control system, communications drivers, or database drivers. It provides all the necessary functions and structures you need to access AOLserver's core functionality and the database.

To use the C API, you compile your C module into a Unix shared library. AOLserver will dynamically load the module and call your initialization function.

CGI Support, Including CGI File Type Activation:

AOLserver provides full CGI support. Because running a CGI program requires a separate process to be created, it is less efficient than extending AOLserver with Tcl or C.

You can configure AOLserver to look for CGI programs in a specific directory, or you can store CGI programs near the HTML files and refer to them using the .cgi file type. Any file with the .cgi extension will be interpreted as a CGI program by AOLserver. You can configure AOLserver to activate the .cgi file type in specific directories or groups of directories.

High Performance

Fast and efficient handling of simultaneous connections through a combination of multi-threading, in-memory caching, and single-threaded asynchronous I/O. AOLserver has an advanced multithreaded architecture. Multithreading features include:

Tcl Scripting

Quickly add dynamic content to your website: AOLserver includes the Tcl (Tool Command Language) scripting language as an integral part of its architecture:

Complete C API

Write custom dynamically loaded modules for: The AOLserver includes a complete C API. Using the C API you can write:

No other Web server C API is as complete and powerful as the AOLserver C API!

SQL Database Services

Powerful and easy access to a variety of SQL databases. Driver source for Sybase and Solid are included with others available from third parties.

AOLserver includes loads of features to help you connect your website to SQL databases:

Secure Sockets Layer

SSL enables network encryption for e-commerce applications.

Hierarchical Access Control

Restrict access to all or part of your Web through lists of users, groups, and/or client address.