I attended a luncheon today whose keynote speaker (okay, only speaker) was Ben Forta, Macromedia’s Senior Product Evangelist. The luncheon was hosted by the local Coldfusion User Group (TC-CFUG), and the topic was Coldfusion Gateways.
Coldfusion Gateways are a feature of the Enterprise version of Coldfusion. It turns out that the difference between CFMX Professional and CFMX Enterprise is not just a few thousand dollars; it’s also some additional features. While this does make spending that few extra thousand a little easier to justify, in this case some of those features are pretty darn cool.
You can think of Gateways as Event Listeners, because that’s what they are. The cool thing about them is that instead of simply being able to do web-browser-centric actions with Coldfusion, these gateways can listen to an IM address, like a Google Talk ID; they can watch a directory and perform an action if a file is saved to it; they can dynamically update a web-page on their own when a database is updates; they can talk to SMS (Short Message Service, not the Microsoft System Management Server). They can do, in short, Really Cool Stuff.
What’s so cool about the stuff they can do? Well, if you’re able to try Google Talk, go ahead and add cfdocs@gmail.com to your list of friends; it will become available almost immediately to chat, and if you enter any CFML tag or function name (try cfinput, cfmail, or isDefined() for examples), it will respond by telling you all about that tag or function. This is all done by a chat-bot which is programmed in Coldfusion.
If you are interested in this sort of thing, the Coldfusion developer edition is free to download (it will only listen to one IP address, so this edition is only good for learing and testing, not for a web server) and it includes all the Enterprise functionality… so you would actually be able to try these things out to evaluate if Coldfusion is worth the money.
More specific (and extensive) information on Gateways can be found here or here, for your reading or viewing pleasure.
Now for the juicy question; can you do this sort of thing without Coldfusion Enterprise? Without Coldfusion at all? Well, like anything, sure you could; you’d just have to write it yourself. You could use Java, which is what Coldfusion MX7 is doing, or anything else which could listen to a socket or watch a folder. It would have to run as a daemon or a service, in some way, and you’d probably want to code it in a very general way so that you could re-use it for a different application without starting over from scratch. It wouldn’t be an impossible project, but it would be a significant undertaking… especially if you wanted all the functionality of the Coldfusion Gateways at your fingertips.
It’s not Cheap or Open, but as usual, Coldfusion still does what it does best; take some of the steps out of the way, and make things easy to use out of the box. If your main consideration is how fast you can go from idea to finished product, Coldfusion is still a solution which you have to at least consider; that’s what it does best.
