![]() |
2520 Quarry Road, Suite 101 Austin, TEXAS 78703 |
The Netscape/Microsoft Server API (NSAPI ISAPI) is an extension that allows
you to enhance and/or customize the core functionality of the
Netscape/Microsoft server
|
|
The NSAPI/ISAPI interfaces to Btrieve will consist of writing server side functions to handle web server operations that utilize Btrieve database functionality wherever appropriate.
We feel that this can be targeted to 3 different scenarios for each of the Netscape and Microsoft web server classes. For simplicity, we will define the process using NSAPI. The ISAPI will be discussed later highlighting where its different from NSAPI.
The following steps in the normal response process:
By changing the set of functions available to the server application, the set of features that server implements is changed. Further, the base code of the server may be upgraded, or even changed to implement a different protocol with minimal changes to the server application functions.
Server application functions are said to have a particular class, where the class corresponds to the request-response step it helps implement. There is an additional class of application function, the initialization function, which is executed upon daemon startup and performs static data initialization for the various server modules. Server application functions have a single class and are not informed by the server which class they are being used for.
The server keeps an internal table of available functions, and maps these function pointers to unique character strings which identify them. By using this string in the configuration database, a function can be called to carry out one of the above steps. In the initial release of the Netsite HTTP server, this mapping of function pointers to names is hard-coded into the server. A mechanism has been proposed by which these functions may be loaded at run-time through the use of shared objects.
This implementation would involve initially building all the pieces for API solutions. The servers could be bundled or not, but a set of configuration files will accompany the release (eg. magnus.conf, object.conf). This is important in situations where clients may need a plug-and-play solution. For them to be up and running quickly, a small application can be created using a sample database to go with the configuration files.
Query results from the database are generated dynamically (and quickly) using LiveScript. LiveScript is an enhanced version of JavaScript developed by Netscape. Netscape includes direct connectivity to Informix and Oracle with its LiveWire solution. It also has ODBC connectivity to other databases. This could be another approach to web-enable btrieve databases without going through a complete NSAPI implementation.
Some of the different applications we can write filters for are:
Similar to NSAPIs configuration files, ISAPI uses the NT registry to store the filter references associated with the IIS.
With the WWW service and the Open Data Base Connectivity (ODBC) drivers provided with Internet Information Server, you can:
Web browsers submit requests to the Internet server by using HTTP. The Internet server responds with a document formatted in HTML. Access to databases is accomplished through a component of Internet Information Server called the Internet Database Connector. The Internet Database Connector, Httpodbc.dll, is an ISAPI DLL that uses ODBC to gain access to databases.
This figure shows the components for connecting to databases from Internet Information Server.
Httpodbc.dll uses two types of files to control how the database is accessed and how the output Web page is constructed. These files are Internet Database Connector (.idc) files and HTML extension (.htx) files.
The Internet Database Connector files contain the necessary information to connect to the appropriate ODBC data source and execute the SQL statement. An Internet Database Connector file also contains the name and location of the HTML extension file.
The HTML extension file is the template for the actual HTML document that will be returned to the Web browser after the database information has been merged into it by Httpodbc.dll.
The following illustration shows a user posting an order to a database using the Internet Database Connector. The user completes a form, then clicks a button, which in turn sends the data in the form to the server. The server posts the data to a database, then confirms the order by sending an HTML page.
Phone: 512-415-7678 Fax: 512-472-3062 | URL: http://www.inferdata.com
| |