Hi all,

this is probably gonna be a longish one. It's about coldfusion vs. the
combination of apache/mod_perl, I'm hoping to find some people on the list
who have some experience with both, and who maybe faced a similar question.
I've been searching the Net for a few days now to find opinions, but espec.
in comparison to the apache/mod_perl combo, I couldn't find that much.

Some intro: I work for a content syndication company; basically, we receive
tons of different newsfeeds, we classify the content, both manually as well
as automatically (based on fulltext and metadata queries), we add some extra
content if it's not in the incoming data (for instance, we create a smaller
version of a news story so it reads better on a WAP device), then we have
quite a bit of distribution options: we do HTML, plain text, XML, using
transports such as FTP, e-mail, HTTP Post, as well as host the news which
customers can include dynamically in their website.

The parts that involve website development are currently done exclusively
using apache and mod_perl, this makes up about 35% of our overall system.

Now, it seems that Allaire's product, Spectra, does offer us a solution to
(parts of) our problems. I'm not sure yet exactly what problem it solves, we
still have to establish that, but let's assume it does. Spectra is a product
built using Allaire's ColdFusion. That means that if we have to add
functionality to Spectra, we'll be using coldfusion to develop that.

To assess coldfusion, I installed the eval version on one of our Linux boxes
to explore it.

Here are some of my observations:

1- "Code inside HTML"

coldfusion's like PHP or ASP in that you embed most of your code inside HTML
pages. 

I don't like it; I prefer to use some templating system that allows our HTML
wizards to edit HTML, and our perl wizards to code perl.

But let's not start that discussion: we've seen it before ;)


2- Feature comparison

If I compary the features available in the coldfusion appserver with the
available options for mod_perl, I don't see a lot of extra's:

- session management

We do that using our own Web::Session implementation (very much like
Apache::Session). It can do that either using cookies or stick the session
id in the URL. coldfusion seems to require cookies.


- database connection pooling

We use Apache::DBI;


- Scheduled tasks

We use cron;


- Sending mail from within the appserver

Tons of CPAN modules can do this. Great MIME stuff there too;


- Retrieve web page and stick into local file

This is a built-in feature of the appserver. lwp-mirror can do this just
fine.


- coldfusion can use COM (or is that ActiveX?)

Apparently, there are a lot of those thingies to stick into coldfusion and
use that from within your code.

We run HP-UX; those won't work for us.


- coldfusion can be clustered (apparently automagically)

So far I haven't had the need to do this; our HP box with 4 processors never
gets a load above 0.2.

I assume with Apache running on a few boxes, some load-balancing hardware in
front of those, and some URL rewriting and/or smarter session management,
clustering could be accomplished as well. I doubt we need this though. If we
do high volume content serving, I'll convert the dynamic content to static
html or xml, ftp them over to a box running a non-mod_perl Apache and serve
'm from there. I never measured this too well, I think it did something like
400 reqs/second on Intel hardware running Linux.


3- Complexity of layers (or would those be called 'tiers'?)

With mod_perl, I have to make sure Apache runs (Ok; I need to get the stuff
compiled too. I can do that. By now ;)), so far, I haven't seen Apache go
down ever. With coldfusion, aside from Apache, I have to make sure a
bunchful of different coldfusion apps are running. How stable are those
apps?

Also, I don't know how coldfusion talks to Oracle. DBI/DBD::Oracle works
good enough.


4- Developer community

Concluding from the amount of hits I got searching dejanews etc., the
coldfusion developer community is hiding out somewhere else. On Allaire's
site, success stories sound great; mod_perl's success stories on
perl.apache.org do too, but they don't contain a lot of buzzwords (;)
).


I'd love to hear some opinions on this. I'm not looking for "stick to what
you know"-kinda replies; I know that already. It's just that *if* Spectra
does provide needed functionality, it will be faster to buy it than it is to
develop the same functionality using apache/mod_perl. Yet, I do want to know
what I'll be getting into when I need to work with coldfusion on a daily
basis vs. working with apache/mod_perl on a daily basis.

Regards,

bas.

Reply via email to