ISAPI Support


Overview
The Internet Server Application Programming Interface (ISAPI) enables users to compile applications into Dynamic Link Libraries (DLLs) and directly link them into the Sambar Server. Because ISAPI DLLs are loaded into memory the first time they are called, they are more efficient than CGI scripts which spawn a new process for each client request. The primary disadvantage to using ISAPI DLLs is that a poorly written DLL can cause the server to crash.

The Sambar Server has implemented the Versin 2.0 of the Microsoft Internet Server API (ISAPI) with the exception of asynchronous reading and writing. If an ISA tries to access async I/O, a message is put in the log/server.log indicating the failure of the extension. With this functionality, users can use Active Server Pages (ASP) extensions, as well as numerous other ISAPI extensions.

Additional documentation on ISAPI Extensions is available.

DLLs
The ISAPI interface uses run-time dynamic linking to load in the ISAPI extensions. Using this functionality, several applications can share a single copy of any DLL library function. By loading the DLLs into the Sambar Server's process space, the time are resource demands associated with creating additional processes are eliminated, significantly improving server scalability and performance.

Sambar
Server

ISAPI
Interface
Your
ISAPI
DLL

ISAPI Filters
ISAPI filters can "intercept" HTTP requests and can be used to log, notify or take action on specific events. For example, an ISAPI filter could be used to retrieve a document for a source-control system on-the-fly in response to an HTTP request.

The Sambar Server does not presently support ISAPI filters, but anticipates supporting them in the near future.

© 1998 Sambar Technologies. All Rights reserved. Terms of use.