Scott Thomason wrote:
> So, given that, here's the question again: why would you choose Apache::Registry 
>over FastCGI? I want to be a believer...

First, I don't really recommend Registry, if you're serious about your
system you should use the direct handler interface and not just port a
bunch of crufty old CGI scripts.

Back in 96/97, I built an ecommerce engine using FastCGI & Perl.  Today
my company runs its site on Apache/mod_perl.  Both technologies address
some similar concerns and are designed to reduce execution overhead and
enable persistent application servers to communicate with and modify the
behavior of web servers.

FastCGI is a protocol for a web server to communicate with an
application server over network sockets. It also includes some primitive
process management facility, I believe.

mod_perl is an in-process integration of the Perl interpreter with the
Apache web server.

When I was using FastCGI, mod_perl was relatively immature.  FastCGI
worked but also was suffering from the support abandonment of its
inventor Open Market.  We had to debug several problems with the open
source FastCGI code in our environment and there was relatively little
support.  But we got it to work, and it did work well in production.

When we set out to implement our second generation ecommerce engine, we
re-evaluated and choose to use mod_perl primarily because it had
accumulated a vastly larger user base, resulting in a more mature
environment and far superior support resources.

I still think this is mod_perl's chief advantage over FastCGI.  I've
never worried over-much about porting old CGI scripts to either
environment so can't speak to either technology's efficacy for this use.

FastCGI pros:
  Web-server independant
  Language independant

mod_perl pros:
  Larger user base, more real-world implementations
  More extensive support infrastruction: the guide, this list, etc.
  Extensive library of modular extensions which have been designed 
    and tested to be used in the mod_perl environment
  Greater web server integration -- 14 handler hooks for mod_perl:
      PerlChildInitHandler
      PerlPostReadRequestHandler
      PerlInitHandler
      PerlTransHandler    
      PerlHeaderParserHandler       
      PerlAccessHandler
      PerlAuthenHandler
      PerlAuthzHandler
      PerlTypeHandler
      PerlFixupHandler
      PerlHandler
      PerlLogHandler
      PerlCleanupHandler
      PerlChildExitHandler
    vs 3 server hooks for FastCGI:
      Responder
      Authorizer
      Filter

Which one to use should depend on what your needs and experience are.
Properly tuned implementations of either will have very similar
performance and resource utilization characteristics.

-- 
Devin Ben-Hur     | President / CTO  | mailto:[EMAIL PROTECTED]
The eMarket Group | eMerchandise.com | http://www.eMerchandise.com
503/944-5044 x228 | 
"Forrester Research projects that by 2003, Internet start-ups will have
 focused so relentlessly on infrastructure that there will be no 
 remaining actual content on the Web. "  -- Salon.com 14-Apr-2000

Reply via email to