You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "Roy T. Fielding" <fi...@avron.ICS.UCI.EDU> on 1995/12/09 04:47:32 UTC
ISAPI "standard"
In case anyone is just dying for yet-another-thing-to-do:
------- Forwarded Message
Process Software announces ISAPI standard
Process Software Corp., Framingham, Mass., announced a standard called the
Internet Server Application Programming Interface (ISAPI) for add-ons to Web
servers, and said it's already shipping with the company's Purveyor
WebServers. A version of the program was also released for the Digital
Equipment Corp. OpenVMS platform, which includes a TCP/IP stack making those
computers Web-friendly.
ISAPI was developed via a collaboration with Microsoft Corp., and other Web
vendors. Lee Levitt, manager of business development for Process, told
Interactive Age Daily all the major Web server players, with one exception,
either have endorsed it already or will endorse it soon. "Netscape will be the
main hold-out, and they seem bent on creating their own standards, whether
it's HTML, security, or application interfaces," he said.
What's the standard mean, then? For people who are running WebServers, it
basically allows them two things -- it allows a broad number of applications
that will be plug and play compatible with their Web Server to be created --
whether it's Purveyor, the coming Microsoft Web Server, or others endorsing
the platform. The second thing is it allows the Webmaster to write his own
application to the ISAPI specification and get significantly greater
performance than with Common Gateway Interface (CGI)" scripts.
The ISAPI specifications are available on Process' Web homepage at
http://www.process.com/news/spec.htp .
------- End of Forwarded Message
Re: ISAPI "standard"
Posted by Matthew Gray <mk...@netgen.com>.
> ISAPI was developed via a collaboration with Microsoft Corp., and other Web
> vendors. Lee Levitt, manager of business development for Process, told
> Interactive Age Daily all the major Web server players, with one exception,
> either have endorsed it already or will endorse it soon. "Netscape will be the
> main hold-out, and they seem bent on creating their own standards, whether
> it's HTML, security, or application interfaces," he said.
I was at Microsoft in September when they were just going to alpha with
their server and were figuring out the details of ISAPI. I was there
to meet with J. Allard, Scott Hensen, Lee Fisher and other members of
Microsofts Internet BSD (Business Systems Development) team.
Their original API design had some substantial flaws in it (not to say that
it doesn't still), and I talked to them a lot about Apache and its API.
A number of the suggestions I made ended up making it into the final API,
so indirectly the Apache group has affected the development of this
"standard". :-)
If anyone is thinking of pursuing adding ISAPI support to Apache, I would
be interested in talking as I may pursue this myself and I can call J. and
see what sort of assistance we might get from them.
Overall, it shouldn't be too hard to incorporate.
Matthew Gray ---------------------------- voice: (617) 577-9800 x240
net.Genesis fax: (617) 577-9850
68 Rogers St. mkgray@netgen.com
Cambridge, MA 02142-1119 ------------- http://www.netgen.com/~mkgray
Re: ISAPI "standard"
Posted by Matthew Gray <mk...@netgen.com>.
On Mon, 11 Dec 1995, Brian Behlendorf wrote:
> Worth looking at, at any rate. it'd be cool if it could be encapsulated
> within an apache module.
I've been fairly seriously looking at doing this and would welcome some
input. In order to do so without forcing anyone to grovel through MS
Help files, I'll summarize:
At the basic level, ISAPI doesn't offer much beyond what CGI already
offers, but does so without forking an extra process. Essentially, you
have a DLL which is your ISAPI application. This DLL is required to have
two entry points GetExtensionVersion() and HttpExtensionProc().
GetExtensionVersion() makes sure that your server and ISAPI app's version
line up. HttpExtensionProc is analagous the 'main' of the cgi script.
HttpExtensionProc is passed an EXTENSION_CONTROL_BLOCK structure which
contains information for most of the CGI environment variables and those
that aren't included can be accessed with a server callback
GetServerVariable(). There's another server callback,
ServerSupportFunction() which lets you do things like send redirections
and such. So, that's all of ISAPI. ISAPI app's are then invoked as
http://servername/foo.dll
So, in order to do this with an apache module, the problem of the entry
points all being the same has to be solved. I don't know enough about
the dld module to know whether or not this allows us to do a load and
link to the HttpExtensionProc on a per call basis, but a cursory glance
made me think no. I've been considering some other alternatives and
would welcome suggestions especially if I'm skipping something obvious.
Well, back to work...
...Mk
Re: ISAPI "standard"
Posted by Brian Behlendorf <br...@organic.com>.
On Fri, 8 Dec 1995, Roy T. Fielding wrote:
> Process Software Corp., Framingham, Mass., announced a standard called the
Gee, I'd like to be able to just get up and announce a standard some
day. Cool!
Worth looking at, at any rate. it'd be cool if it could be encapsulated
within an apache module.
Brian
--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--
brian@organic.com brian@hyperreal.com http://www.[hyperreal,organic].com/