You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by David Crocker <dc...@eschertech.com> on 2004/12/13 18:44:58 UTC

[users@httpd] What is test way to interface a C++ app with Apache?

I am quoting a client for a web-based application and I will be recommending
Apache 2.0 as the web server. The code will be C++ generated by a code generator
(it can also generate Java, but it generates better C++). The platform will
probably be Windows, although my preference is to keep the solution
cross-platform as far as possible.

I have already demonstrated a pilot using Apache with the application built to
use the CGI interface. However, CGI will probably be too slow for the production
version (the program will be large and there will be a number of concurrent
users). So, what is the best way of interfacing a C++ program to Apache?

- FastCGI ?
- ISAPI ?
- something else?

Any advice will be greatly appreciated.

David



---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] What is best way to interface a C++ app with Apache?

Posted by Jeff White <jl...@earthlink.net>.
>> My impression is that ISAPI and FastCGI 
>> do more or less the same thing, except
>> that FastCGI only works with Apache, 
>> and ISAPI works with either IIS or Apache
>> but only under Windows.

> 
> while ISAPI ... why would you use that 
> except to run an existing application written 
> for IIS?
> 

This was just posted today too

December 20, 2004

<quote>

Snip

Over the years every once in a 
while I've tested Web Connection 
with Apache and its ISAPI extension 
support, but the support had been 
pretty flaky at best.

Snip

Part of the problem is that Apache does 
a number of things differently than IIS 
when handling requests.

Snip

I can tell you that figuring this out was 
not easy because I couldn't find any 
good information on what Apache does 
different.

Snip

So now it looks like I'll have to run separate 
header routines for IIS and Apache. Using 
straight headers for IIS and using 
ServerSupportFunction() for Apache. Maybe 
somebody has some input here.

Snip

Enough for today. Maybe somebody has some 
input on how to get things Authentication to 
work properly with ServerSupportFunction. 
It looks like 
HSE_REQ_SEND_RESPONSE_HEADER_EX 
would work, but APACHE apparently doesn't 
support that so I'm back to square one.

</quote>

ISAPI, IIS, Apache: I must be in Hell!
http://west-wind.com/weblog/posts/1200.aspx

Notice:
An alert "Apache Windows developer" 
should "jump" at the opportunity to 
contact/help this person...  :)

Jeff









---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


RE: [users@httpd] What is best way to interface a C++ app with Apache?

Posted by Nick Kew <ni...@webthing.com>.
On Mon, 20 Dec 2004, David Crocker wrote:

> Thanks, Joshua. My worry about plain CGI is the time taken to set up the
> process, given that I expect about 20Mb of code to be involved, which presumably
> has to be loaded from disk (or cache) every time a request comes in.
>
> My impression is that ISAPI and FastCGI do more or less the same thing, except
> that FastCGI only works with Apache, and ISAPI works with either IIS or Apache
> but only under Windows.

Was there any good reason for not implementing your application as an
Apache module?  FastCGI is a second-best unless you have a positive
reason to prefer it, while ISAPI ... why would you use that except to
run an existing application written for IIS?

-- 
Nick Kew

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] What is best way to interface a C++ app with Apache?

Posted by Blain Sadler <bl...@tradedesksoftware.com>.
http://modcplusplus.sourceforge.net/ might work for you.

David Crocker wrote:

>Thanks, Joshua. My worry about plain CGI is the time taken to set up the
>process, given that I expect about 20Mb of code to be involved, which presumably
>has to be loaded from disk (or cache) every time a request comes in.
>
>My impression is that ISAPI and FastCGI do more or less the same thing, except
>that FastCGI only works with Apache, and ISAPI works with either IIS or Apache
>but only under Windows.
>
>David
>
>-----Original Message-----
>From: Joshua Slive [mailto:jslive@gmail.com] 
>Sent: 13 December 2004 18:02
>To: users@httpd.apache.org
>Subject: Re: [users@httpd] What is test way to interface a C++ app with Apache?
>
>
>On Mon, 13 Dec 2004 17:44:58 -0000, David Crocker <dc...@eschertech.com>
>wrote:
>  
>
>>I am quoting a client for a web-based application and I will be 
>>recommending Apache 2.0 as the web server. The code will be C++ 
>>generated by a code generator (it can also generate Java, but it 
>>generates better C++). The platform will probably be Windows, although 
>>my preference is to keep the solution cross-platform as far as 
>>possible.
>>
>>I have already demonstrated a pilot using Apache with the application 
>>built to use the CGI interface. However, CGI will probably be too slow 
>>for the production version (the program will be large and there will 
>>be a number of concurrent users). So, what is the best way of 
>>interfacing a C++ program to Apache?
>>
>>- FastCGI ?
>>- ISAPI ?
>>- something else?
>>    
>>
>
>It sounds like you'll want something that is as loosely-coupled as possible with
>the web server.  If that is the case, I'd definitely do fastCGI.
>
>(I would even try benchmarking plain CGI under load.  CGI is only a performance
>issue to the extent that it takes time to launch processes.  Once the process is
>launched, it will be just as quick as any other solution.  So if you can launch
>the processes fast enough, CGI will probably work fine.)
>
>Joshua.
>
>---------------------------------------------------------------------
>The official User-To-User support forum of the Apache HTTP Server Project. See
><URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe,
>e-mail: users-unsubscribe@httpd.apache.org
>   "   from the digest: users-digest-unsubscribe@httpd.apache.org
>For additional commands, e-mail: users-help@httpd.apache.org
>
>
>---------------------------------------------------------------------
>The official User-To-User support forum of the Apache HTTP Server Project.
>See <URL:http://httpd.apache.org/userslist.html> for more info.
>To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
>   "   from the digest: users-digest-unsubscribe@httpd.apache.org
>For additional commands, e-mail: users-help@httpd.apache.org
>
>
>
>
>  
>

-- 
Blain Sadler
Software Developer
TradeDesk Software Corporation
8 Diane Drive
Essex Junction, VT 05452-4008
phone: (802) 655-2777
e-mail: blain.sadler@tradedesksoftware.com




---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


RE: [users@httpd] What is best way to interface a C++ app with Apache?

Posted by David Crocker <dc...@eschertech.com>.
Thanks, Joshua. My worry about plain CGI is the time taken to set up the
process, given that I expect about 20Mb of code to be involved, which presumably
has to be loaded from disk (or cache) every time a request comes in.

My impression is that ISAPI and FastCGI do more or less the same thing, except
that FastCGI only works with Apache, and ISAPI works with either IIS or Apache
but only under Windows.

David

-----Original Message-----
From: Joshua Slive [mailto:jslive@gmail.com] 
Sent: 13 December 2004 18:02
To: users@httpd.apache.org
Subject: Re: [users@httpd] What is test way to interface a C++ app with Apache?


On Mon, 13 Dec 2004 17:44:58 -0000, David Crocker <dc...@eschertech.com>
wrote:
> I am quoting a client for a web-based application and I will be 
> recommending Apache 2.0 as the web server. The code will be C++ 
> generated by a code generator (it can also generate Java, but it 
> generates better C++). The platform will probably be Windows, although 
> my preference is to keep the solution cross-platform as far as 
> possible.
> 
> I have already demonstrated a pilot using Apache with the application 
> built to use the CGI interface. However, CGI will probably be too slow 
> for the production version (the program will be large and there will 
> be a number of concurrent users). So, what is the best way of 
> interfacing a C++ program to Apache?
> 
> - FastCGI ?
> - ISAPI ?
> - something else?

It sounds like you'll want something that is as loosely-coupled as possible with
the web server.  If that is the case, I'd definitely do fastCGI.

(I would even try benchmarking plain CGI under load.  CGI is only a performance
issue to the extent that it takes time to launch processes.  Once the process is
launched, it will be just as quick as any other solution.  So if you can launch
the processes fast enough, CGI will probably work fine.)

Joshua.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project. See
<URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe,
e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] What is test way to interface a C++ app with Apache?

Posted by Joshua Slive <js...@gmail.com>.
On Mon, 13 Dec 2004 17:44:58 -0000, David Crocker
<dc...@eschertech.com> wrote:
> I am quoting a client for a web-based application and I will be recommending
> Apache 2.0 as the web server. The code will be C++ generated by a code generator
> (it can also generate Java, but it generates better C++). The platform will
> probably be Windows, although my preference is to keep the solution
> cross-platform as far as possible.
> 
> I have already demonstrated a pilot using Apache with the application built to
> use the CGI interface. However, CGI will probably be too slow for the production
> version (the program will be large and there will be a number of concurrent
> users). So, what is the best way of interfacing a C++ program to Apache?
> 
> - FastCGI ?
> - ISAPI ?
> - something else?

It sounds like you'll want something that is as loosely-coupled as
possible with the web server.  If that is the case, I'd definitely do
fastCGI.

(I would even try benchmarking plain CGI under load.  CGI is only a
performance issue to the extent that it takes time to launch
processes.  Once the process is launched, it will be just as quick as
any other solution.  So if you can launch the processes fast enough,
CGI will probably work fine.)

Joshua.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org