Archive for the ‘coldfusion’ Category

On how I got a ‘relationship’ with ColdFusion 9

July 13th, 2009 Comments off

ColdFusion 9 is now in Beta, on labs. But I will not go over all of the new and shiny features instead I want to tell you a little bit of the story about my ‘relationship’ with ColdFusion 9 :)

When I joined Adobe about 3 years ago I thought CF was a dying language. I joined the Adobe Evangelism team about 1 year ago and … I was still thinking that CF was a dying (if not dead) language. During my ‘baptism’ as an evangelist I needed to watch a ColdFusion presentation, just to know about this product was all about. So Ben Forta gave me an one-hour presentation about what ColdFusion is NOW. And I emphasize NOW because around the last quarter of that hour something hit me: Hey, this ColdFusion thing is one of the best Enterprise Service Buses I’ve seen and one of the best glue technologies for heterogeneous enterprise infrastructure.

Now this might sound like corporate b$$t and it might have sounded the same to me if I hadn’t had a particular experience a few years ago. I was working as a consultant for a big Saudi bank on a project to integrate a few of their systems. And boy those where heterogeneous. Just for start: in that building were four kinds of electric plugs with two voltages. You don’t want to imagine how their IT systems were: all technologies from all ages from everywhere on this earth. I spent half of my coding time there configuring connectors and writing adapters for the most exotic datasources and services implementations.

So with this experience in mind, while watching Ben Forta going through various features of CF that thought came into my mind. And I realized that what’s cool about CF is not that it has some unique capabilities but that it integrates everything so nicely. It had only one major drawback for me: the CF language itself. I mean when you have programmed for 10 years in C/Java style languages an XML language like CF just gives you a little bit of an instant organic rejection.

But now here comes CF 9. They made CFSCRIPT a first class citizen so now you can take advantage of all the services and connectors under the hood with a JavaScript-like language. This made me give ColdFusion a first try a few weeks ago. I chose a very ‘simple’ scenario: join two tables (one in a MySQL database and one in an Excel file) and push the result through a third one. I must admit that I had no CF experience whatsoever, but half a day and about 20 lines of code later I managed to finish my task. In this time I’ve gone through some old CF features (like the built-in database engine that helps you join heterogeneous datasources)  and some new ones (like the Excel connectors or the new and nice Hibernate ORM stuff). And after a couple of hours I exposed a web services from which you can download a PDF of the aggregated data. So after my first day as a CF developer I felt pretty … advanced :)

And looking at the developer data, I’ve seen that there are more who think like me :) … as the CF population has grown about three times larger in the last 4-5 years to around a healthy 800k. Doesn’t look like a dying technology at all.

Now getting serious, I think that if you have to do some serious integration project in your company you might want to take a look at ColdFusion 9.  Not as merely a language, because this is not the old CF that 14 years ago pioneered the web development revolution. That is already history. But you might want to look it as a tool that is very suitable for integration projects and RAD development on top of your existing IT infrastructure.

Categories: coldfusion, thinking Tags: