From Rick Strahl's DevCon 98 notes:
One of the tools available to build Web applications with Visual FoxPro is Fox ISAPI. It ships with Visual FoxPro and is provided as a 'server' example that demonstrates how to use Visual FoxPro as a Web backend.
(c)1998 - Rick Strahl
- Server Side Web Tool
Fox ISAPI runs on the backend as an IIS ISAPI application which means it
runs only on the server, not on the clients. As such clients do not need
Visual FoxPro to run your application over the Web. Also, the application
is maintained in one place (on the server) so updates are immediately
available to the entire client base.
- High performance direct interface to Visual FoxPro Code
In terms of performance for Visual FoxPro backends Fox ISAPI is very
efficient. It connects to the Web server via COM calls that access your
Visual FoxPro server directly and uses the resulting data to create output.
Since a single COM call is used per request and the result is directly
embedded into the page it's very efficient. In addition, Fox ISAPI's
built-in pool manager manages simultaneous instances of requests more
efficiently than other solutions such as Active Server Pages.
- Uses Internet Server API (ISAPI)
Another reason for Fox ISAPI's performance is that Fox ISAPI is implemented
as an Internet Server API (ISAPI) extension which is a very efficient,
multi-threaded, operating system level interface that is written in C++.
This allows for maximum performance and flexibility in the actual connector
application that communicates between IIS and your FoxPro application.
- Uses COM for Messaging
ISAPI provides the low level interface to the Web server and it uses the
Component Object Model (COM) to talk to your Visual FoxPro application.
Your application is built as a COM object that acts as a server to
Fox ISAPI which becomes the client.
- Creates HTML output from your Visual FoxPro Code
Once your server receives a request it's responsible for retrieving input
from the server in the form of several parameters and then has to generate
HTTP compliant output, which in most cases ends up being HTML.
Not to bad mouth foxisapi, but, it may be worth noting that it is not supported anymore by ms or the vfp team. The statement above about better efficiency with the foxisapi pool manager is a little dated. VFP mtdlls called from ASP.NET or ASP are undoubtedly more efficient at this point. It's also worth noting that there's more to install and manage with foxisapi and similar products (COM exes with ISAPI). ASP.NET and ASP are also ISAPI extensions and happen to be the flagship MS products and will only get better(SEDNA), so, it's hard to go wrong using them...
See: Web Page Scenario Fox ISAPIexample
Category Windows API Category Web Development Category Exam 70-155 Hot Topic
( Topic last updated: 2005.07.05 08:29:48 PM )