Brian Kotek reveals some of his favorite features in ColdFusion 9. He also discusses why the application server is still compelling.
ColdFusion has been around since 1995, making it one of the first Web development platforms. Since then, it's continued to grow and thrive. Despite the occasional "ColdFusion is dead" editorial or blog entry, ColdFusion has actually grown to more than 800,000 developers and powers applications in most Fortune 500 companies and government agencies.
If you aren't familiar with ColdFusion, it is an application server that runs on top of the Java Virtual Machine, inside servlet containers such as JRun, JBoss, Tomcat, and GlassFish. It offers a scripting language called CFML, along with a vast set of services that aims to make Web application development as easy and rapid as possible.
Late in 2009, Adobe released version 9 of its ColdFusion application server with a lot of interesting features. If you haven't looked at ColdFusion before, or if you haven't looked at it for a while, you should consider checking out this latest version; it's packed to the gills with improvements.
What's new in ColdFusion 9
ColdFusion 9's list of new features is quite long, so I'll focus on a few items that I find most interesting. For a complete list of new features, go to Adobe's site.
Another huge addition in ColdFusion 9 is the incorporation of the Java Hibernate object-relational mapping (ORM) library. ColdFusion abstracts much of the complexity of Hibernate away and offers a simple API to allow the loading and saving of CFCs to a relational database. This makes object-oriented development even easier, as you can build an object model without thinking about the database at all, and let Hibernate translate that model into a schema automatically. By providing nested transactions and hooks into the Hibernate event model, you can build robust domain models very quickly.
The next feature is a personal favorite of mine. I've spent many hours building "export to Excel" logic in applications. Sometimes it is the simple approach of creating an HTML table and letting Excel convert it; other times, it is the much more tedious option of using Apache POI to build up worksheets and formulas. ColdFusion 9 includes the new cfspreadsheet tag, which finally puts an end to this chore. Along with the tag is a large set of functions to allow virtually any manipulation of a spreadsheet. These functions can be saved in Excel or OpenOffice format as well.
There are a slew of other new goodies I could talk about, but here is a quick list of my favorites:
- Server API for SOAP and AMF (allowing remote use of core features such as charting, PDF creation, and email from Flex or other external systems)
- Huge set of Microsoft SharePoint integration functions to leverage an existing SharePoint deployment
- Seamless support for the Java portlet specifications, making integration with things like Liferay a breeze
- Addition of Apache Solr to supply search services (a worthy replacement over Verity)
- Addition of Ehcache to supply page and page-fragment caching, along with cache statistics and other cache manipulation functions
- Big performance improvements over ColdFusion 8 and ColdFusion 7.
The next item isn't actually a feature of ColdFusion 9, but it's worth pointing out. Adobe is building a dedicated IDE for ColdFusion development called ColdFusion Builder. Back when ColdFusion was run by Allaire, there was a tool called CF Studio. When Macromedia acquired Allaire, it dropped Studio development in favor of its Dreamweaver tool. Since then, people have used Dreamweaver or the CFEclipse plugin for the Eclipse IDE. Thankfully, Adobe is now putting the final touches on ColdFusion Builder, which is built on the Eclipse platform and will offer tight integration with their Flash Builder tool for building Flash and Flex applications.
ColdFusion Builder offers a useful and predictable set of tools, which include code completion, server management, debugging, templates, snippets, etc. And since it is built on Eclipse, the world of Eclipse plugins is open; it includes things such as Git or Subversion integration, Mylyn, ANT, Maven, etc. ColdFusion developers have been vocal about wanting a real IDE from Adobe, so it is nice to see that Adobe is listening.
ColdFusion has two main strengths that have let it stick around for such a long time. The first is its ease of use; ColdFusion is so simple to use that non-programmers really can jump in and build real, useful applications in days. The second is its "one-stop-shop" nature. ColdFusion is often criticized for not being free, but the reason why it isn't free is because it bundles such a vast number of services (free and proprietary) into such an easy to use package. Because ColdFusion does so much, it often acts as a hub to allow disparate systems (such as .NET, Java, and legacy systems) to communicate. As a result, the total cost of ownership for ColdFusion is often far lower than free or open-source options, while its return on investment is often much higher.
I hope this quick look at ColdFusion 9 piques your interest and prompts you to check it out. (Adobe's site has the purchase prices, the upgrade options, and the trial offers for ColdFusion 9.) Far from being dead, ColdFusion is doing great and continues to grow. ColdFusion may be the oldest kid on the Web development block, but it keeps bringing compelling new features to the table, year after year.Get weekly development tips in your inbox Keep your developer skills sharp by signing up for TechRepublic's free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!